Merge remote-tracking branch 'inventree/master'

This commit is contained in:
Oliver Walters committed 2022-07-31 10:13:59 +10:00
commit cf76da3a53
35 files changed
+657 -535

No files matched your search

+2
View File
@@ -36,6 +36,8 @@ local_settings.py
*.old *.old
# Files used for testing # Files used for testing
inventree-demo-dataset/
inventree-data/
dummy_image.* dummy_image.*
_tmp.csv _tmp.csv
inventree/label.pdf inventree/label.pdf
+32 -2
View File
@@ -1,8 +1,38 @@
Hi there, thank you for your intrest in contributing!
Please read the contribution guidelines below, before submitting your first pull request to the InvenTree codebase. Please read the contribution guidelines below, before submitting your first pull request to the InvenTree codebase.
## Setup ## Quickstart
Please run `invoke setup-dev` in the root directory of your InvenTree code base to set up your development setup before starting to contribute. This will install and set up pre-commit to run some checks before each commit and help reduce the style errors. The following commands will get you quickly configure and run a development server, complete with a demo dataset to work with:
### Bare Metal
```bash
git clone https://github.com/inventree/InvenTree.git && cd InvenTree
python3 -m venv env && source env/bin/activate
pip install invoke && invoke
pip install invoke && invoke setup-dev --tests
```
### Docker
```bash
git clone https://github.com/inventree/InvenTree.git && cd InvenTree
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.
### Setup Devtools
Run the following command to set up all toolsets for development.
```bash
invoke setup-dev
```
*We recommend you run this command before starting to contribute. This will install and set up `pre-commit` to run some checks before each commit and help reduce the style errors.*
## Branches and Versioning ## Branches and Versioning
+6
View File
@@ -25,7 +25,13 @@ def log_error(path):
Arguments: Arguments:
path: The 'path' (most likely a URL) associated with this error (optional) path: The 'path' (most likely a URL) associated with this error (optional)
""" """
kind, info, data = sys.exc_info() kind, info, data = sys.exc_info()
# Check if the eror is on the ignore list
if kind in settings.IGNORRED_ERRORS:
return
Error.objects.create( Error.objects.create(
kind=kind.__name__, kind=kind.__name__,
info=info, info=info,
+16
View File
@@ -1,6 +1,7 @@
"""Middleware for InvenTree.""" """Middleware for InvenTree."""
import logging import logging
import sys
from django.conf import settings from django.conf import settings
from django.contrib.auth.middleware import PersistentRemoteUserMiddleware from django.contrib.auth.middleware import PersistentRemoteUserMiddleware
@@ -10,6 +11,7 @@ from django.urls import Resolver404, include, re_path, reverse_lazy
from allauth_2fa.middleware import (AllauthTwoFactorMiddleware, from allauth_2fa.middleware import (AllauthTwoFactorMiddleware,
BaseRequire2FAMiddleware) BaseRequire2FAMiddleware)
from error_report.middleware import ExceptionProcessor
from rest_framework.authtoken.models import Token from rest_framework.authtoken.models import Token
from common.models import InvenTreeSetting from common.models import InvenTreeSetting
@@ -145,3 +147,17 @@ class InvenTreeRemoteUserMiddleware(PersistentRemoteUserMiddleware):
return return
return super().process_request(request) return super().process_request(request)
class InvenTreeExceptionProcessor(ExceptionProcessor):
"""Custom exception processor that respects blocked errors."""
def process_exception(self, request, exception):
"""Check if kind is ignored before procesing."""
kind, info, data = sys.exc_info()
# Check if the eror is on the ignore list
if kind in settings.IGNORRED_ERRORS:
return
return super().process_exception(request, exception)
+13 -5
View File
@@ -19,6 +19,7 @@ from pathlib import Path
import django.conf.locale import django.conf.locale
from django.core.files.storage import default_storage from django.core.files.storage import default_storage
from django.http import Http404
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
import moneyed import moneyed
@@ -292,11 +293,9 @@ MIDDLEWARE = CONFIG.get('middleware', [
'InvenTree.middleware.AuthRequiredMiddleware', 'InvenTree.middleware.AuthRequiredMiddleware',
'InvenTree.middleware.Check2FAMiddleware', # Check if the user should be forced to use MFA 'InvenTree.middleware.Check2FAMiddleware', # Check if the user should be forced to use MFA
'maintenance_mode.middleware.MaintenanceModeMiddleware', 'maintenance_mode.middleware.MaintenanceModeMiddleware',
'InvenTree.middleware.InvenTreeExceptionProcessor', # Error reporting
]) ])
# Error reporting middleware
MIDDLEWARE.append('error_report.middleware.ExceptionProcessor')
AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [ AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [
'django.contrib.auth.backends.RemoteUserBackend', # proxy login 'django.contrib.auth.backends.RemoteUserBackend', # proxy login
'django.contrib.auth.backends.ModelBackend', 'django.contrib.auth.backends.ModelBackend',
@@ -321,7 +320,7 @@ INTERNAL_IPS = [
'127.0.0.1', '127.0.0.1',
] ]
if DOCKER: if DOCKER: # pragma: no cover
# Internal IP addresses are different when running under docker # Internal IP addresses are different when running under docker
hostname, ___, ips = socket.gethostbyname_ex(socket.gethostname()) hostname, ___, ips = socket.gethostbyname_ex(socket.gethostname())
INTERNAL_IPS = [ip[: ip.rfind(".")] + ".1" for ip in ips] + ["127.0.0.1", "10.0.2.2"] INTERNAL_IPS = [ip[: ip.rfind(".")] + ".1" for ip in ips] + ["127.0.0.1", "10.0.2.2"]
@@ -372,7 +371,7 @@ TEMPLATES = [
}, },
] ]
if DEBUG_TOOLBAR_ENABLED: if DEBUG_TOOLBAR_ENABLED: # pragma: no cover
# Note that the APP_DIRS value must be set when using debug_toolbar # Note that the APP_DIRS value must be set when using debug_toolbar
# But this will kill template loading for plugins # But this will kill template loading for plugins
TEMPLATES[0]['APP_DIRS'] = True TEMPLATES[0]['APP_DIRS'] = True
@@ -467,6 +466,10 @@ if db_engine in ['sqlite3', 'postgresql', 'mysql']:
db_name = db_config['NAME'] db_name = db_config['NAME']
db_host = db_config.get('HOST', "''") db_host = db_config.get('HOST', "''")
if 'sqlite' in db_engine:
db_name = str(Path(db_name).resolve())
db_config['NAME'] = db_name
logger.info(f"DB_ENGINE: {db_engine}") logger.info(f"DB_ENGINE: {db_engine}")
logger.info(f"DB_NAME: {db_name}") logger.info(f"DB_NAME: {db_name}")
logger.info(f"DB_HOST: {db_host}") logger.info(f"DB_HOST: {db_host}")
@@ -928,6 +931,11 @@ if SENTRY_ENABLED and SENTRY_DSN: # pragma: no cover
for key, val in inventree_tags.items(): for key, val in inventree_tags.items():
sentry_sdk.set_tag(f'inventree_{key}', val) sentry_sdk.set_tag(f'inventree_{key}', val)
# In-database error logging
IGNORRED_ERRORS = [
Http404
]
# Maintenance mode # Maintenance mode
MAINTENANCE_MODE_RETRY_AFTER = 60 MAINTENANCE_MODE_RETRY_AFTER = 60
MAINTENANCE_MODE_STATE_BACKEND = 'maintenance_mode.backends.DefaultStorageBackend' MAINTENANCE_MODE_STATE_BACKEND = 'maintenance_mode.backends.DefaultStorageBackend'
+37
View File
@@ -1,7 +1,12 @@
"""Tests for middleware functions.""" """Tests for middleware functions."""
from django.conf import settings
from django.http import Http404
from django.urls import reverse from django.urls import reverse
from error_report.models import Error
from InvenTree.exceptions import log_error
from InvenTree.helpers import InvenTreeTestCase from InvenTree.helpers import InvenTreeTestCase
@@ -58,3 +63,35 @@ class MiddlewareTests(InvenTreeTestCase):
# should still fail without token # should still fail without token
self.check_path(reverse('settings.js'), 401) self.check_path(reverse('settings.js'), 401)
def test_error_exceptions(self):
"""Test that ignored errors are not logged."""
def check(excpected_nbr=0):
# Check that errors are empty
errors = Error.objects.all()
self.assertEqual(len(errors), excpected_nbr)
# Test normal setup
check()
response = self.client.get(reverse('part-detail', kwargs={'pk': 9999}))
self.assertEqual(response.status_code, 404)
check()
# Test manual logging
try:
raise Http404
except Http404:
log_error('testpath')
# Test setup without ignored errors
settings.IGNORRED_ERRORS = []
response = self.client.get(reverse('part-detail', kwargs={'pk': 9999}))
self.assertEqual(response.status_code, 404)
check(1)
# Test manual logging
try:
raise Http404
except Http404:
log_error('testpath')
check(2)
+2 -2
View File
@@ -13,6 +13,7 @@ import math
import os import os
import uuid import uuid
from datetime import datetime, timedelta from datetime import datetime, timedelta
from enum import Enum
from secrets import compare_digest from secrets import compare_digest
from django.apps import apps from django.apps import apps
@@ -1805,9 +1806,8 @@ class ColorTheme(models.Model):
return False return False
class VerificationMethod: class VerificationMethod(Enum):
"""Class to hold method references.""" """Class to hold method references."""
NONE = 0 NONE = 0
TOKEN = 1 TOKEN = 1
HMAC = 2 HMAC = 2
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:21\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
"Language: cs_CZ\n" "Language: cs_CZ\n"
@@ -698,11 +698,11 @@ msgstr "Hesla se musí shodovat"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Informace o systému" msgstr "Informace o systému"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:21\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: German\n" "Language-Team: German\n"
"Language: de_DE\n" "Language: de_DE\n"
@@ -698,11 +698,11 @@ msgstr "Passwörter stimmen nicht überein"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "Falsches Passwort angegeben" msgstr "Falsches Passwort angegeben"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Systeminformationen" msgstr "Systeminformationen"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Über InvenTree" msgstr "Über InvenTree"
@@ -7282,17 +7282,17 @@ msgstr "Gerät"
msgid "Last Activity" msgid "Last Activity"
msgstr "Letzte Aktivität" msgstr "Letzte Aktivität"
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "%(time)s vor (diese Sitzung)" msgstr "%(time)s vor (diese Sitzung)"
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "%(time)s vor" msgstr "%(time)s vor"
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "Möchten Sie die ausgewählte E-Mail-Adresse wirklich entfernen?" msgstr "Möchten Sie die ausgewählte E-Mail-Adresse wirklich entfernen?"
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Greek\n" "Language-Team: Greek\n"
"Language: el_GR\n" "Language: el_GR\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+119 -119
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-26 01:22+0000\n" "POT-Creation-Date: 2022-07-27 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -26,11 +26,11 @@ msgstr ""
msgid "Error details can be found in the admin panel" msgid "Error details can be found in the admin panel"
msgstr "" msgstr ""
#: InvenTree/fields.py:99 #: InvenTree/fields.py:108
msgid "Enter date" msgid "Enter date"
msgstr "" msgstr ""
#: InvenTree/fields.py:176 build/serializers.py:384 #: InvenTree/fields.py:185 build/serializers.py:384
#: build/templates/build/sidebar.html:21 company/models.py:523 #: build/templates/build/sidebar.html:21 company/models.py:523
#: company/templates/company/sidebar.html:25 order/models.py:906 #: company/templates/company/sidebar.html:25 order/models.py:906
#: order/templates/order/po_sidebar.html:11 #: order/templates/order/po_sidebar.html:11
@@ -90,76 +90,76 @@ msgstr ""
msgid "You must type the same email each time." msgid "You must type the same email each time."
msgstr "" msgstr ""
#: InvenTree/helpers.py:135 #: InvenTree/helpers.py:136
msgid "Connection error" msgid "Connection error"
msgstr "" msgstr ""
#: InvenTree/helpers.py:139 InvenTree/helpers.py:144 #: InvenTree/helpers.py:140 InvenTree/helpers.py:145
msgid "Server responded with invalid status code" msgid "Server responded with invalid status code"
msgstr "" msgstr ""
#: InvenTree/helpers.py:141 #: InvenTree/helpers.py:142
msgid "Exception occurred" msgid "Exception occurred"
msgstr "" msgstr ""
#: InvenTree/helpers.py:149 #: InvenTree/helpers.py:150
msgid "Server responded with invalid Content-Length value" msgid "Server responded with invalid Content-Length value"
msgstr "" msgstr ""
#: InvenTree/helpers.py:152 #: InvenTree/helpers.py:153
msgid "Image size is too large" msgid "Image size is too large"
msgstr "" msgstr ""
#: InvenTree/helpers.py:164 #: InvenTree/helpers.py:165
msgid "Image download exceeded maximum size" msgid "Image download exceeded maximum size"
msgstr "" msgstr ""
#: InvenTree/helpers.py:169 #: InvenTree/helpers.py:170
msgid "Remote server returned empty response" msgid "Remote server returned empty response"
msgstr "" msgstr ""
#: InvenTree/helpers.py:177 #: InvenTree/helpers.py:178
msgid "Supplied URL is not a valid image file" msgid "Supplied URL is not a valid image file"
msgstr "" msgstr ""
#: InvenTree/helpers.py:520 #: InvenTree/helpers.py:521
#, python-brace-format #, python-brace-format
msgid "Duplicate serial: {sn}" msgid "Duplicate serial: {sn}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:527 order/models.py:320 order/models.py:472 #: InvenTree/helpers.py:528 order/models.py:320 order/models.py:472
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "" msgstr ""
#: InvenTree/helpers.py:530 #: InvenTree/helpers.py:531
msgid "Empty serial number string" msgid "Empty serial number string"
msgstr "" msgstr ""
#: InvenTree/helpers.py:562 #: InvenTree/helpers.py:563
#, python-brace-format #, python-brace-format
msgid "Invalid group range: {g}" msgid "Invalid group range: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:565 #: InvenTree/helpers.py:566
#, python-brace-format #, python-brace-format
msgid "Invalid group: {g}" msgid "Invalid group: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:593 #: InvenTree/helpers.py:594
#, python-brace-format #, python-brace-format
msgid "Invalid group sequence: {g}" msgid "Invalid group sequence: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:601 #: InvenTree/helpers.py:602
#, python-brace-format #, python-brace-format
msgid "Invalid/no group {group}" msgid "Invalid/no group {group}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:607 #: InvenTree/helpers.py:608
msgid "No serial numbers found" msgid "No serial numbers found"
msgstr "" msgstr ""
#: InvenTree/helpers.py:611 #: InvenTree/helpers.py:612
#, python-brace-format #, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "" msgstr ""
@@ -247,34 +247,34 @@ msgstr ""
msgid "Filename must not be empty" msgid "Filename must not be empty"
msgstr "" msgstr ""
#: InvenTree/models.py:461 #: InvenTree/models.py:447
msgid "Invalid attachment directory" msgid "Invalid attachment directory"
msgstr "" msgstr ""
#: InvenTree/models.py:471 #: InvenTree/models.py:457
#, python-brace-format #, python-brace-format
msgid "Filename contains illegal character '{c}'" msgid "Filename contains illegal character '{c}'"
msgstr "" msgstr ""
#: InvenTree/models.py:474 #: InvenTree/models.py:460
msgid "Filename missing extension" msgid "Filename missing extension"
msgstr "" msgstr ""
#: InvenTree/models.py:481 #: InvenTree/models.py:467
msgid "Attachment with this filename already exists" msgid "Attachment with this filename already exists"
msgstr "" msgstr ""
#: InvenTree/models.py:488 #: InvenTree/models.py:474
msgid "Error renaming file" msgid "Error renaming file"
msgstr "" msgstr ""
#: InvenTree/models.py:522 #: InvenTree/models.py:508
msgid "Invalid choice" msgid "Invalid choice"
msgstr "" msgstr ""
#: InvenTree/models.py:540 InvenTree/models.py:541 common/models.py:1846 #: InvenTree/models.py:526 InvenTree/models.py:527 common/models.py:1846
#: company/models.py:358 label/models.py:101 part/models.py:739 #: company/models.py:358 label/models.py:101 part/models.py:739
#: part/models.py:2371 plugin/models.py:93 report/models.py:151 #: part/models.py:2371 plugin/models.py:93 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin.html:132
@@ -288,14 +288,14 @@ msgstr ""
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: InvenTree/models.py:547 build/models.py:174 #: InvenTree/models.py:533 build/models.py:174
#: build/templates/build/detail.html:24 company/models.py:282 #: build/templates/build/detail.html:24 company/models.py:282
#: company/models.py:516 company/templates/company/company_base.html:71 #: company/models.py:516 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75 #: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:87 label/models.py:108 #: company/templates/company/supplier_part.html:87 label/models.py:108
#: order/models.py:82 part/models.py:762 part/templates/part/category.html:74 #: order/models.py:82 part/models.py:762 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167 report/models.py:164 #: part/templates/part/part_base.html:167 report/models.py:165
#: report/models.py:507 report/models.py:552 #: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:103 #: stock/templates/stock/location.html:103
#: templates/InvenTree/settings/plugin_settings.html:33 #: templates/InvenTree/settings/plugin_settings.html:33
@@ -311,182 +311,182 @@ msgstr ""
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: InvenTree/models.py:548 #: InvenTree/models.py:534
msgid "Description (optional)" msgid "Description (optional)"
msgstr "" msgstr ""
#: InvenTree/models.py:556 #: InvenTree/models.py:542
msgid "parent" msgid "parent"
msgstr "" msgstr ""
#: InvenTree/models.py:669 #: InvenTree/models.py:655
msgid "Server Error" msgid "Server Error"
msgstr "" msgstr ""
#: InvenTree/models.py:670 #: InvenTree/models.py:656
msgid "An error has been logged by the server." msgid "An error has been logged by the server."
msgstr "" msgstr ""
#: InvenTree/serializers.py:53 part/models.py:2692 #: InvenTree/serializers.py:55 part/models.py:2692
msgid "Must be a valid number" msgid "Must be a valid number"
msgstr "" msgstr ""
#: InvenTree/serializers.py:254 #: InvenTree/serializers.py:262
msgid "Filename" msgid "Filename"
msgstr "" msgstr ""
#: InvenTree/serializers.py:289 #: InvenTree/serializers.py:297
msgid "Invalid value" msgid "Invalid value"
msgstr "" msgstr ""
#: InvenTree/serializers.py:311 #: InvenTree/serializers.py:319
msgid "Data File" msgid "Data File"
msgstr "" msgstr ""
#: InvenTree/serializers.py:312 #: InvenTree/serializers.py:320
msgid "Select data file for upload" msgid "Select data file for upload"
msgstr "" msgstr ""
#: InvenTree/serializers.py:333 #: InvenTree/serializers.py:341
msgid "Unsupported file type" msgid "Unsupported file type"
msgstr "" msgstr ""
#: InvenTree/serializers.py:339 #: InvenTree/serializers.py:347
msgid "File is too large" msgid "File is too large"
msgstr "" msgstr ""
#: InvenTree/serializers.py:360 #: InvenTree/serializers.py:368
msgid "No columns found in file" msgid "No columns found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:363 #: InvenTree/serializers.py:371
msgid "No data rows found in file" msgid "No data rows found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:486 #: InvenTree/serializers.py:494
msgid "No data rows provided" msgid "No data rows provided"
msgstr "" msgstr ""
#: InvenTree/serializers.py:489 #: InvenTree/serializers.py:497
msgid "No data columns supplied" msgid "No data columns supplied"
msgstr "" msgstr ""
#: InvenTree/serializers.py:566 #: InvenTree/serializers.py:574
#, python-brace-format #, python-brace-format
msgid "Missing required column: '{name}'" msgid "Missing required column: '{name}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:575 #: InvenTree/serializers.py:583
#, python-brace-format #, python-brace-format
msgid "Duplicate column: '{col}'" msgid "Duplicate column: '{col}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:594 #: InvenTree/serializers.py:602
#: templates/InvenTree/settings/mixins/urls.html:14 #: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL" msgid "URL"
msgstr "" msgstr ""
#: InvenTree/serializers.py:595 #: InvenTree/serializers.py:603
msgid "URL of remote image file" msgid "URL of remote image file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:609 #: InvenTree/serializers.py:617
msgid "Downloading images from remote URL is not enabled" msgid "Downloading images from remote URL is not enabled"
msgstr "" msgstr ""
#: InvenTree/settings.py:698 #: InvenTree/settings.py:703
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: InvenTree/settings.py:699 #: InvenTree/settings.py:704
msgid "German" msgid "German"
msgstr "" msgstr ""
#: InvenTree/settings.py:700 #: InvenTree/settings.py:705
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: InvenTree/settings.py:701 #: InvenTree/settings.py:706
msgid "English" msgid "English"
msgstr "" msgstr ""
#: InvenTree/settings.py:702 #: InvenTree/settings.py:707
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: InvenTree/settings.py:703 #: InvenTree/settings.py:708
msgid "Spanish (Mexican)" msgid "Spanish (Mexican)"
msgstr "" msgstr ""
#: InvenTree/settings.py:704 #: InvenTree/settings.py:709
msgid "Farsi / Persian" msgid "Farsi / Persian"
msgstr "" msgstr ""
#: InvenTree/settings.py:705 #: InvenTree/settings.py:710
msgid "French" msgid "French"
msgstr "" msgstr ""
#: InvenTree/settings.py:706 #: InvenTree/settings.py:711
msgid "Hebrew" msgid "Hebrew"
msgstr "" msgstr ""
#: InvenTree/settings.py:707 #: InvenTree/settings.py:712
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: InvenTree/settings.py:708 #: InvenTree/settings.py:713
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: InvenTree/settings.py:709 #: InvenTree/settings.py:714
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: InvenTree/settings.py:710 #: InvenTree/settings.py:715
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: InvenTree/settings.py:711 #: InvenTree/settings.py:716
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: InvenTree/settings.py:712 #: InvenTree/settings.py:717
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: InvenTree/settings.py:713 #: InvenTree/settings.py:718
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: InvenTree/settings.py:714 #: InvenTree/settings.py:719
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: InvenTree/settings.py:715 #: InvenTree/settings.py:720
msgid "Portuguese (Brazilian)" msgid "Portuguese (Brazilian)"
msgstr "" msgstr ""
#: InvenTree/settings.py:716 #: InvenTree/settings.py:721
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: InvenTree/settings.py:717 #: InvenTree/settings.py:722
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: InvenTree/settings.py:718 #: InvenTree/settings.py:723
msgid "Thai" msgid "Thai"
msgstr "" msgstr ""
#: InvenTree/settings.py:719 #: InvenTree/settings.py:724
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: InvenTree/settings.py:720 #: InvenTree/settings.py:725
msgid "Vietnamese" msgid "Vietnamese"
msgstr "" msgstr ""
#: InvenTree/settings.py:721 #: InvenTree/settings.py:726
msgid "Chinese" msgid "Chinese"
msgstr "" msgstr ""
@@ -683,19 +683,19 @@ msgstr ""
msgid "Invalid value for overage" msgid "Invalid value for overage"
msgstr "" msgstr ""
#: InvenTree/views.py:519 templates/InvenTree/settings/user.html:22 #: InvenTree/views.py:518 templates/InvenTree/settings/user.html:22
msgid "Edit User Information" msgid "Edit User Information"
msgstr "" msgstr ""
#: InvenTree/views.py:531 templates/InvenTree/settings/user.html:19 #: InvenTree/views.py:530 templates/InvenTree/settings/user.html:19
msgid "Set Password" msgid "Set Password"
msgstr "" msgstr ""
#: InvenTree/views.py:553 #: InvenTree/views.py:552
msgid "Password fields must match" msgid "Password fields must match"
msgstr "" msgstr ""
#: InvenTree/views.py:562 #: InvenTree/views.py:561
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
@@ -1826,7 +1826,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part" msgid "Copy category parameter templates when creating a part"
msgstr "" msgstr ""
#: common/models.py:941 part/models.py:2412 report/models.py:157 #: common/models.py:941 part/models.py:2412 report/models.py:158
#: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:484 #: templates/js/translated/table_filters.js:484
msgid "Template" msgid "Template"
@@ -2657,31 +2657,31 @@ msgstr ""
msgid "Items have been received against a purchase order" msgid "Items have been received against a purchase order"
msgstr "" msgstr ""
#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 #: common/views.py:85 order/templates/order/purchase_order_detail.html:23
#: order/views.py:102 part/views.py:112 #: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37 #: templates/patterns/wizard/upload.html:37
msgid "Upload File" msgid "Upload File"
msgstr "" msgstr ""
#: common/views.py:88 order/views.py:103 #: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 #: part/views.py:113 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields" msgid "Match Fields"
msgstr "" msgstr ""
#: common/views.py:89 #: common/views.py:87
msgid "Match Items" msgid "Match Items"
msgstr "" msgstr ""
#: common/views.py:422 #: common/views.py:420
msgid "Fields matching failed" msgid "Fields matching failed"
msgstr "" msgstr ""
#: common/views.py:483 #: common/views.py:481
msgid "Parts imported" msgid "Parts imported"
msgstr "" msgstr ""
#: common/views.py:511 order/templates/order/order_wizard/match_parts.html:19 #: common/views.py:509 order/templates/order/order_wizard/match_parts.html:19
#: part/templates/part/import_wizard/match_references.html:19 #: part/templates/part/import_wizard/match_references.html:19
#: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/match_fields.html:26
#: templates/patterns/wizard/upload.html:35 #: templates/patterns/wizard/upload.html:35
@@ -3429,7 +3429,7 @@ msgstr ""
msgid "Label template file" msgid "Label template file"
msgstr "" msgstr ""
#: label/models.py:123 report/models.py:253 #: label/models.py:123 report/models.py:254
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
@@ -3453,7 +3453,7 @@ msgstr ""
msgid "Label height, specified in mm" msgid "Label height, specified in mm"
msgstr "" msgstr ""
#: label/models.py:143 report/models.py:246 #: label/models.py:143 report/models.py:247
msgid "Filename Pattern" msgid "Filename Pattern"
msgstr "" msgstr ""
@@ -3466,7 +3466,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "" msgstr ""
#: label/models.py:234 label/models.py:274 label/models.py:302 #: label/models.py:234 label/models.py:274 label/models.py:302
#: report/models.py:279 report/models.py:410 report/models.py:448 #: report/models.py:280 report/models.py:411 report/models.py:449
msgid "Filters" msgid "Filters"
msgstr "" msgstr ""
@@ -4395,7 +4395,7 @@ msgid "Part revision or version number"
msgstr "" msgstr ""
#: part/models.py:790 part/templates/part/part_base.html:273 #: part/models.py:790 part/templates/part/part_base.html:273
#: report/models.py:170 templates/js/translated/part.js:739 #: report/models.py:171 templates/js/translated/part.js:739
msgid "Revision" msgid "Revision"
msgstr "" msgstr ""
@@ -5699,35 +5699,35 @@ msgstr ""
msgid "A setting with multiple choices" msgid "A setting with multiple choices"
msgstr "" msgstr ""
#: plugin/serializers.py:73 #: plugin/serializers.py:72
msgid "Source URL" msgid "Source URL"
msgstr "" msgstr ""
#: plugin/serializers.py:74 #: plugin/serializers.py:73
msgid "Source for the package - this can be a custom registry or a VCS path" msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "" msgstr ""
#: plugin/serializers.py:79 #: plugin/serializers.py:78
msgid "Package Name" msgid "Package Name"
msgstr "" msgstr ""
#: plugin/serializers.py:80 #: plugin/serializers.py:79
msgid "Name for the Plugin Package - can also contain a version indicator" msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "" msgstr ""
#: plugin/serializers.py:83 #: plugin/serializers.py:82
msgid "Confirm plugin installation" msgid "Confirm plugin installation"
msgstr "" msgstr ""
#: plugin/serializers.py:84 #: plugin/serializers.py:83
msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "" msgstr ""
#: plugin/serializers.py:104 #: plugin/serializers.py:103
msgid "Installation not confirmed" msgid "Installation not confirmed"
msgstr "" msgstr ""
#: plugin/serializers.py:106 #: plugin/serializers.py:105
msgid "Either packagename of URL must be provided" msgid "Either packagename of URL must be provided"
msgstr "" msgstr ""
@@ -5744,63 +5744,63 @@ msgstr ""
msgid "Test report" msgid "Test report"
msgstr "" msgstr ""
#: report/models.py:152 #: report/models.py:153
msgid "Template name" msgid "Template name"
msgstr "" msgstr ""
#: report/models.py:158 #: report/models.py:159
msgid "Report template file" msgid "Report template file"
msgstr "" msgstr ""
#: report/models.py:165 #: report/models.py:166
msgid "Report template description" msgid "Report template description"
msgstr "" msgstr ""
#: report/models.py:171 #: report/models.py:172
msgid "Report revision number (auto-increments)" msgid "Report revision number (auto-increments)"
msgstr "" msgstr ""
#: report/models.py:247 #: report/models.py:248
msgid "Pattern for generating report filenames" msgid "Pattern for generating report filenames"
msgstr "" msgstr ""
#: report/models.py:254 #: report/models.py:255
msgid "Report template is enabled" msgid "Report template is enabled"
msgstr "" msgstr ""
#: report/models.py:280 #: report/models.py:281
msgid "StockItem query filters (comma-separated list of key=value pairs)" msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "" msgstr ""
#: report/models.py:288 #: report/models.py:289
msgid "Include Installed Tests" msgid "Include Installed Tests"
msgstr "" msgstr ""
#: report/models.py:289 #: report/models.py:290
msgid "Include test results for stock items installed inside assembled item" msgid "Include test results for stock items installed inside assembled item"
msgstr "" msgstr ""
#: report/models.py:336 #: report/models.py:337
msgid "Build Filters" msgid "Build Filters"
msgstr "" msgstr ""
#: report/models.py:337 #: report/models.py:338
msgid "Build query filters (comma-separated list of key=value pairs" msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:376 #: report/models.py:377
msgid "Part Filters" msgid "Part Filters"
msgstr "" msgstr ""
#: report/models.py:377 #: report/models.py:378
msgid "Part query filters (comma-separated list of key=value pairs" msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:411 #: report/models.py:412
msgid "Purchase order query filters" msgid "Purchase order query filters"
msgstr "" msgstr ""
#: report/models.py:449 #: report/models.py:450
msgid "Sales order query filters" msgid "Sales order query filters"
msgstr "" msgstr ""
@@ -5816,15 +5816,15 @@ msgstr ""
msgid "Snippet file description" msgid "Snippet file description"
msgstr "" msgstr ""
#: report/models.py:545 #: report/models.py:544
msgid "Asset" msgid "Asset"
msgstr "" msgstr ""
#: report/models.py:546 #: report/models.py:545
msgid "Report asset file" msgid "Report asset file"
msgstr "" msgstr ""
#: report/models.py:553 #: report/models.py:552
msgid "Asset file description" msgid "Asset file description"
msgstr "" msgstr ""
@@ -7283,17 +7283,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
"Language: es_ES\n" "Language: es_ES\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+119 -119
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-26 01:22+0000\n" "POT-Creation-Date: 2022-07-27 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -26,11 +26,11 @@ msgstr ""
msgid "Error details can be found in the admin panel" msgid "Error details can be found in the admin panel"
msgstr "" msgstr ""
#: InvenTree/fields.py:99 #: InvenTree/fields.py:108
msgid "Enter date" msgid "Enter date"
msgstr "" msgstr ""
#: InvenTree/fields.py:176 build/serializers.py:384 #: InvenTree/fields.py:185 build/serializers.py:384
#: build/templates/build/sidebar.html:21 company/models.py:523 #: build/templates/build/sidebar.html:21 company/models.py:523
#: company/templates/company/sidebar.html:25 order/models.py:906 #: company/templates/company/sidebar.html:25 order/models.py:906
#: order/templates/order/po_sidebar.html:11 #: order/templates/order/po_sidebar.html:11
@@ -90,76 +90,76 @@ msgstr ""
msgid "You must type the same email each time." msgid "You must type the same email each time."
msgstr "" msgstr ""
#: InvenTree/helpers.py:135 #: InvenTree/helpers.py:136
msgid "Connection error" msgid "Connection error"
msgstr "" msgstr ""
#: InvenTree/helpers.py:139 InvenTree/helpers.py:144 #: InvenTree/helpers.py:140 InvenTree/helpers.py:145
msgid "Server responded with invalid status code" msgid "Server responded with invalid status code"
msgstr "" msgstr ""
#: InvenTree/helpers.py:141 #: InvenTree/helpers.py:142
msgid "Exception occurred" msgid "Exception occurred"
msgstr "" msgstr ""
#: InvenTree/helpers.py:149 #: InvenTree/helpers.py:150
msgid "Server responded with invalid Content-Length value" msgid "Server responded with invalid Content-Length value"
msgstr "" msgstr ""
#: InvenTree/helpers.py:152 #: InvenTree/helpers.py:153
msgid "Image size is too large" msgid "Image size is too large"
msgstr "" msgstr ""
#: InvenTree/helpers.py:164 #: InvenTree/helpers.py:165
msgid "Image download exceeded maximum size" msgid "Image download exceeded maximum size"
msgstr "" msgstr ""
#: InvenTree/helpers.py:169 #: InvenTree/helpers.py:170
msgid "Remote server returned empty response" msgid "Remote server returned empty response"
msgstr "" msgstr ""
#: InvenTree/helpers.py:177 #: InvenTree/helpers.py:178
msgid "Supplied URL is not a valid image file" msgid "Supplied URL is not a valid image file"
msgstr "" msgstr ""
#: InvenTree/helpers.py:520 #: InvenTree/helpers.py:521
#, python-brace-format #, python-brace-format
msgid "Duplicate serial: {sn}" msgid "Duplicate serial: {sn}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:527 order/models.py:320 order/models.py:472 #: InvenTree/helpers.py:528 order/models.py:320 order/models.py:472
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "" msgstr ""
#: InvenTree/helpers.py:530 #: InvenTree/helpers.py:531
msgid "Empty serial number string" msgid "Empty serial number string"
msgstr "" msgstr ""
#: InvenTree/helpers.py:562 #: InvenTree/helpers.py:563
#, python-brace-format #, python-brace-format
msgid "Invalid group range: {g}" msgid "Invalid group range: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:565 #: InvenTree/helpers.py:566
#, python-brace-format #, python-brace-format
msgid "Invalid group: {g}" msgid "Invalid group: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:593 #: InvenTree/helpers.py:594
#, python-brace-format #, python-brace-format
msgid "Invalid group sequence: {g}" msgid "Invalid group sequence: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:601 #: InvenTree/helpers.py:602
#, python-brace-format #, python-brace-format
msgid "Invalid/no group {group}" msgid "Invalid/no group {group}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:607 #: InvenTree/helpers.py:608
msgid "No serial numbers found" msgid "No serial numbers found"
msgstr "" msgstr ""
#: InvenTree/helpers.py:611 #: InvenTree/helpers.py:612
#, python-brace-format #, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "" msgstr ""
@@ -247,34 +247,34 @@ msgstr ""
msgid "Filename must not be empty" msgid "Filename must not be empty"
msgstr "" msgstr ""
#: InvenTree/models.py:461 #: InvenTree/models.py:447
msgid "Invalid attachment directory" msgid "Invalid attachment directory"
msgstr "" msgstr ""
#: InvenTree/models.py:471 #: InvenTree/models.py:457
#, python-brace-format #, python-brace-format
msgid "Filename contains illegal character '{c}'" msgid "Filename contains illegal character '{c}'"
msgstr "" msgstr ""
#: InvenTree/models.py:474 #: InvenTree/models.py:460
msgid "Filename missing extension" msgid "Filename missing extension"
msgstr "" msgstr ""
#: InvenTree/models.py:481 #: InvenTree/models.py:467
msgid "Attachment with this filename already exists" msgid "Attachment with this filename already exists"
msgstr "" msgstr ""
#: InvenTree/models.py:488 #: InvenTree/models.py:474
msgid "Error renaming file" msgid "Error renaming file"
msgstr "" msgstr ""
#: InvenTree/models.py:522 #: InvenTree/models.py:508
msgid "Invalid choice" msgid "Invalid choice"
msgstr "" msgstr ""
#: InvenTree/models.py:540 InvenTree/models.py:541 common/models.py:1846 #: InvenTree/models.py:526 InvenTree/models.py:527 common/models.py:1846
#: company/models.py:358 label/models.py:101 part/models.py:739 #: company/models.py:358 label/models.py:101 part/models.py:739
#: part/models.py:2371 plugin/models.py:93 report/models.py:151 #: part/models.py:2371 plugin/models.py:93 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin.html:132
@@ -288,14 +288,14 @@ msgstr ""
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: InvenTree/models.py:547 build/models.py:174 #: InvenTree/models.py:533 build/models.py:174
#: build/templates/build/detail.html:24 company/models.py:282 #: build/templates/build/detail.html:24 company/models.py:282
#: company/models.py:516 company/templates/company/company_base.html:71 #: company/models.py:516 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75 #: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:87 label/models.py:108 #: company/templates/company/supplier_part.html:87 label/models.py:108
#: order/models.py:82 part/models.py:762 part/templates/part/category.html:74 #: order/models.py:82 part/models.py:762 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167 report/models.py:164 #: part/templates/part/part_base.html:167 report/models.py:165
#: report/models.py:507 report/models.py:552 #: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:103 #: stock/templates/stock/location.html:103
#: templates/InvenTree/settings/plugin_settings.html:33 #: templates/InvenTree/settings/plugin_settings.html:33
@@ -311,182 +311,182 @@ msgstr ""
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: InvenTree/models.py:548 #: InvenTree/models.py:534
msgid "Description (optional)" msgid "Description (optional)"
msgstr "" msgstr ""
#: InvenTree/models.py:556 #: InvenTree/models.py:542
msgid "parent" msgid "parent"
msgstr "" msgstr ""
#: InvenTree/models.py:669 #: InvenTree/models.py:655
msgid "Server Error" msgid "Server Error"
msgstr "" msgstr ""
#: InvenTree/models.py:670 #: InvenTree/models.py:656
msgid "An error has been logged by the server." msgid "An error has been logged by the server."
msgstr "" msgstr ""
#: InvenTree/serializers.py:53 part/models.py:2692 #: InvenTree/serializers.py:55 part/models.py:2692
msgid "Must be a valid number" msgid "Must be a valid number"
msgstr "" msgstr ""
#: InvenTree/serializers.py:254 #: InvenTree/serializers.py:262
msgid "Filename" msgid "Filename"
msgstr "" msgstr ""
#: InvenTree/serializers.py:289 #: InvenTree/serializers.py:297
msgid "Invalid value" msgid "Invalid value"
msgstr "" msgstr ""
#: InvenTree/serializers.py:311 #: InvenTree/serializers.py:319
msgid "Data File" msgid "Data File"
msgstr "" msgstr ""
#: InvenTree/serializers.py:312 #: InvenTree/serializers.py:320
msgid "Select data file for upload" msgid "Select data file for upload"
msgstr "" msgstr ""
#: InvenTree/serializers.py:333 #: InvenTree/serializers.py:341
msgid "Unsupported file type" msgid "Unsupported file type"
msgstr "" msgstr ""
#: InvenTree/serializers.py:339 #: InvenTree/serializers.py:347
msgid "File is too large" msgid "File is too large"
msgstr "" msgstr ""
#: InvenTree/serializers.py:360 #: InvenTree/serializers.py:368
msgid "No columns found in file" msgid "No columns found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:363 #: InvenTree/serializers.py:371
msgid "No data rows found in file" msgid "No data rows found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:486 #: InvenTree/serializers.py:494
msgid "No data rows provided" msgid "No data rows provided"
msgstr "" msgstr ""
#: InvenTree/serializers.py:489 #: InvenTree/serializers.py:497
msgid "No data columns supplied" msgid "No data columns supplied"
msgstr "" msgstr ""
#: InvenTree/serializers.py:566 #: InvenTree/serializers.py:574
#, python-brace-format #, python-brace-format
msgid "Missing required column: '{name}'" msgid "Missing required column: '{name}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:575 #: InvenTree/serializers.py:583
#, python-brace-format #, python-brace-format
msgid "Duplicate column: '{col}'" msgid "Duplicate column: '{col}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:594 #: InvenTree/serializers.py:602
#: templates/InvenTree/settings/mixins/urls.html:14 #: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL" msgid "URL"
msgstr "" msgstr ""
#: InvenTree/serializers.py:595 #: InvenTree/serializers.py:603
msgid "URL of remote image file" msgid "URL of remote image file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:609 #: InvenTree/serializers.py:617
msgid "Downloading images from remote URL is not enabled" msgid "Downloading images from remote URL is not enabled"
msgstr "" msgstr ""
#: InvenTree/settings.py:698 #: InvenTree/settings.py:703
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: InvenTree/settings.py:699 #: InvenTree/settings.py:704
msgid "German" msgid "German"
msgstr "" msgstr ""
#: InvenTree/settings.py:700 #: InvenTree/settings.py:705
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: InvenTree/settings.py:701 #: InvenTree/settings.py:706
msgid "English" msgid "English"
msgstr "" msgstr ""
#: InvenTree/settings.py:702 #: InvenTree/settings.py:707
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: InvenTree/settings.py:703 #: InvenTree/settings.py:708
msgid "Spanish (Mexican)" msgid "Spanish (Mexican)"
msgstr "" msgstr ""
#: InvenTree/settings.py:704 #: InvenTree/settings.py:709
msgid "Farsi / Persian" msgid "Farsi / Persian"
msgstr "" msgstr ""
#: InvenTree/settings.py:705 #: InvenTree/settings.py:710
msgid "French" msgid "French"
msgstr "" msgstr ""
#: InvenTree/settings.py:706 #: InvenTree/settings.py:711
msgid "Hebrew" msgid "Hebrew"
msgstr "" msgstr ""
#: InvenTree/settings.py:707 #: InvenTree/settings.py:712
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: InvenTree/settings.py:708 #: InvenTree/settings.py:713
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: InvenTree/settings.py:709 #: InvenTree/settings.py:714
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: InvenTree/settings.py:710 #: InvenTree/settings.py:715
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: InvenTree/settings.py:711 #: InvenTree/settings.py:716
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: InvenTree/settings.py:712 #: InvenTree/settings.py:717
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: InvenTree/settings.py:713 #: InvenTree/settings.py:718
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: InvenTree/settings.py:714 #: InvenTree/settings.py:719
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: InvenTree/settings.py:715 #: InvenTree/settings.py:720
msgid "Portuguese (Brazilian)" msgid "Portuguese (Brazilian)"
msgstr "" msgstr ""
#: InvenTree/settings.py:716 #: InvenTree/settings.py:721
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: InvenTree/settings.py:717 #: InvenTree/settings.py:722
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: InvenTree/settings.py:718 #: InvenTree/settings.py:723
msgid "Thai" msgid "Thai"
msgstr "" msgstr ""
#: InvenTree/settings.py:719 #: InvenTree/settings.py:724
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: InvenTree/settings.py:720 #: InvenTree/settings.py:725
msgid "Vietnamese" msgid "Vietnamese"
msgstr "" msgstr ""
#: InvenTree/settings.py:721 #: InvenTree/settings.py:726
msgid "Chinese" msgid "Chinese"
msgstr "" msgstr ""
@@ -683,19 +683,19 @@ msgstr ""
msgid "Invalid value for overage" msgid "Invalid value for overage"
msgstr "" msgstr ""
#: InvenTree/views.py:519 templates/InvenTree/settings/user.html:22 #: InvenTree/views.py:518 templates/InvenTree/settings/user.html:22
msgid "Edit User Information" msgid "Edit User Information"
msgstr "" msgstr ""
#: InvenTree/views.py:531 templates/InvenTree/settings/user.html:19 #: InvenTree/views.py:530 templates/InvenTree/settings/user.html:19
msgid "Set Password" msgid "Set Password"
msgstr "" msgstr ""
#: InvenTree/views.py:553 #: InvenTree/views.py:552
msgid "Password fields must match" msgid "Password fields must match"
msgstr "" msgstr ""
#: InvenTree/views.py:562 #: InvenTree/views.py:561
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
@@ -1826,7 +1826,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part" msgid "Copy category parameter templates when creating a part"
msgstr "" msgstr ""
#: common/models.py:941 part/models.py:2412 report/models.py:157 #: common/models.py:941 part/models.py:2412 report/models.py:158
#: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:484 #: templates/js/translated/table_filters.js:484
msgid "Template" msgid "Template"
@@ -2657,31 +2657,31 @@ msgstr ""
msgid "Items have been received against a purchase order" msgid "Items have been received against a purchase order"
msgstr "" msgstr ""
#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 #: common/views.py:85 order/templates/order/purchase_order_detail.html:23
#: order/views.py:102 part/views.py:112 #: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37 #: templates/patterns/wizard/upload.html:37
msgid "Upload File" msgid "Upload File"
msgstr "" msgstr ""
#: common/views.py:88 order/views.py:103 #: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 #: part/views.py:113 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields" msgid "Match Fields"
msgstr "" msgstr ""
#: common/views.py:89 #: common/views.py:87
msgid "Match Items" msgid "Match Items"
msgstr "" msgstr ""
#: common/views.py:422 #: common/views.py:420
msgid "Fields matching failed" msgid "Fields matching failed"
msgstr "" msgstr ""
#: common/views.py:483 #: common/views.py:481
msgid "Parts imported" msgid "Parts imported"
msgstr "" msgstr ""
#: common/views.py:511 order/templates/order/order_wizard/match_parts.html:19 #: common/views.py:509 order/templates/order/order_wizard/match_parts.html:19
#: part/templates/part/import_wizard/match_references.html:19 #: part/templates/part/import_wizard/match_references.html:19
#: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/match_fields.html:26
#: templates/patterns/wizard/upload.html:35 #: templates/patterns/wizard/upload.html:35
@@ -3429,7 +3429,7 @@ msgstr ""
msgid "Label template file" msgid "Label template file"
msgstr "" msgstr ""
#: label/models.py:123 report/models.py:253 #: label/models.py:123 report/models.py:254
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
@@ -3453,7 +3453,7 @@ msgstr ""
msgid "Label height, specified in mm" msgid "Label height, specified in mm"
msgstr "" msgstr ""
#: label/models.py:143 report/models.py:246 #: label/models.py:143 report/models.py:247
msgid "Filename Pattern" msgid "Filename Pattern"
msgstr "" msgstr ""
@@ -3466,7 +3466,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "" msgstr ""
#: label/models.py:234 label/models.py:274 label/models.py:302 #: label/models.py:234 label/models.py:274 label/models.py:302
#: report/models.py:279 report/models.py:410 report/models.py:448 #: report/models.py:280 report/models.py:411 report/models.py:449
msgid "Filters" msgid "Filters"
msgstr "" msgstr ""
@@ -4395,7 +4395,7 @@ msgid "Part revision or version number"
msgstr "" msgstr ""
#: part/models.py:790 part/templates/part/part_base.html:273 #: part/models.py:790 part/templates/part/part_base.html:273
#: report/models.py:170 templates/js/translated/part.js:739 #: report/models.py:171 templates/js/translated/part.js:739
msgid "Revision" msgid "Revision"
msgstr "" msgstr ""
@@ -5699,35 +5699,35 @@ msgstr ""
msgid "A setting with multiple choices" msgid "A setting with multiple choices"
msgstr "" msgstr ""
#: plugin/serializers.py:73 #: plugin/serializers.py:72
msgid "Source URL" msgid "Source URL"
msgstr "" msgstr ""
#: plugin/serializers.py:74 #: plugin/serializers.py:73
msgid "Source for the package - this can be a custom registry or a VCS path" msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "" msgstr ""
#: plugin/serializers.py:79 #: plugin/serializers.py:78
msgid "Package Name" msgid "Package Name"
msgstr "" msgstr ""
#: plugin/serializers.py:80 #: plugin/serializers.py:79
msgid "Name for the Plugin Package - can also contain a version indicator" msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "" msgstr ""
#: plugin/serializers.py:83 #: plugin/serializers.py:82
msgid "Confirm plugin installation" msgid "Confirm plugin installation"
msgstr "" msgstr ""
#: plugin/serializers.py:84 #: plugin/serializers.py:83
msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "" msgstr ""
#: plugin/serializers.py:104 #: plugin/serializers.py:103
msgid "Installation not confirmed" msgid "Installation not confirmed"
msgstr "" msgstr ""
#: plugin/serializers.py:106 #: plugin/serializers.py:105
msgid "Either packagename of URL must be provided" msgid "Either packagename of URL must be provided"
msgstr "" msgstr ""
@@ -5744,63 +5744,63 @@ msgstr ""
msgid "Test report" msgid "Test report"
msgstr "" msgstr ""
#: report/models.py:152 #: report/models.py:153
msgid "Template name" msgid "Template name"
msgstr "" msgstr ""
#: report/models.py:158 #: report/models.py:159
msgid "Report template file" msgid "Report template file"
msgstr "" msgstr ""
#: report/models.py:165 #: report/models.py:166
msgid "Report template description" msgid "Report template description"
msgstr "" msgstr ""
#: report/models.py:171 #: report/models.py:172
msgid "Report revision number (auto-increments)" msgid "Report revision number (auto-increments)"
msgstr "" msgstr ""
#: report/models.py:247 #: report/models.py:248
msgid "Pattern for generating report filenames" msgid "Pattern for generating report filenames"
msgstr "" msgstr ""
#: report/models.py:254 #: report/models.py:255
msgid "Report template is enabled" msgid "Report template is enabled"
msgstr "" msgstr ""
#: report/models.py:280 #: report/models.py:281
msgid "StockItem query filters (comma-separated list of key=value pairs)" msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "" msgstr ""
#: report/models.py:288 #: report/models.py:289
msgid "Include Installed Tests" msgid "Include Installed Tests"
msgstr "" msgstr ""
#: report/models.py:289 #: report/models.py:290
msgid "Include test results for stock items installed inside assembled item" msgid "Include test results for stock items installed inside assembled item"
msgstr "" msgstr ""
#: report/models.py:336 #: report/models.py:337
msgid "Build Filters" msgid "Build Filters"
msgstr "" msgstr ""
#: report/models.py:337 #: report/models.py:338
msgid "Build query filters (comma-separated list of key=value pairs" msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:376 #: report/models.py:377
msgid "Part Filters" msgid "Part Filters"
msgstr "" msgstr ""
#: report/models.py:377 #: report/models.py:378
msgid "Part query filters (comma-separated list of key=value pairs" msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:411 #: report/models.py:412
msgid "Purchase order query filters" msgid "Purchase order query filters"
msgstr "" msgstr ""
#: report/models.py:449 #: report/models.py:450
msgid "Sales order query filters" msgid "Sales order query filters"
msgstr "" msgstr ""
@@ -5816,15 +5816,15 @@ msgstr ""
msgid "Snippet file description" msgid "Snippet file description"
msgstr "" msgstr ""
#: report/models.py:545 #: report/models.py:544
msgid "Asset" msgid "Asset"
msgstr "" msgstr ""
#: report/models.py:546 #: report/models.py:545
msgid "Report asset file" msgid "Report asset file"
msgstr "" msgstr ""
#: report/models.py:553 #: report/models.py:552
msgid "Asset file description" msgid "Asset file description"
msgstr "" msgstr ""
@@ -7283,17 +7283,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Persian\n" "Language-Team: Persian\n"
"Language: fa_IR\n" "Language: fa_IR\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: French\n" "Language-Team: French\n"
"Language: fr_FR\n" "Language: fr_FR\n"
@@ -698,11 +698,11 @@ msgstr "Les mots de passe doivent correspondre"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "Mot de passe incorrect" msgstr "Mot de passe incorrect"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Informations système" msgstr "Informations système"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "À propos d'InvenTree" msgstr "À propos d'InvenTree"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hebrew\n" "Language-Team: Hebrew\n"
"Language: he_IL\n" "Language: he_IL\n"
@@ -698,11 +698,11 @@ msgstr "הסיסמאות מוכרחות להיות תואמות"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "מידע אודות המערכת" msgstr "מידע אודות המערכת"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Hungarian\n" "Language-Team: Hungarian\n"
"Language: hu_HU\n" "Language: hu_HU\n"
@@ -698,11 +698,11 @@ msgstr "A jelszavaknak egyeznie kell"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "Rossz jelszó lett megadva" msgstr "Rossz jelszó lett megadva"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Rendszerinformáció" msgstr "Rendszerinformáció"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Verzió információk" msgstr "Verzió információk"
@@ -7283,17 +7283,17 @@ msgstr "Eszköz"
msgid "Last Activity" msgid "Last Activity"
msgstr "Legutóbbi tevékenységek" msgstr "Legutóbbi tevékenységek"
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "%(time)s óta (ez a munkamenet)" msgstr "%(time)s óta (ez a munkamenet)"
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "%(time)s óta" msgstr "%(time)s óta"
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "Biztosan törölni szeretnéd a kiválasztott email címet?" msgstr "Biztosan törölni szeretnéd a kiválasztott email címet?"
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Indonesian\n" "Language-Team: Indonesian\n"
"Language: id_ID\n" "Language: id_ID\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
"Language: it_IT\n" "Language: it_IT\n"
@@ -698,11 +698,11 @@ msgstr "Le password devono coincidere"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Informazioni sistema" msgstr "Informazioni sistema"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Informazioni Su InvenTree" msgstr "Informazioni Su InvenTree"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"
"Language: ja_JP\n" "Language: ja_JP\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "システム情報" msgstr "システム情報"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Korean\n" "Language-Team: Korean\n"
"Language: ko_KR\n" "Language: ko_KR\n"
@@ -698,11 +698,11 @@ msgstr "비밀번호가 일치해야 합니다"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "시스템 정보" msgstr "시스템 정보"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "마지막 활동" msgstr "마지막 활동"
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "선택한 이메일 주소를 정말로 제거하시겠습니까?" msgstr "선택한 이메일 주소를 정말로 제거하시겠습니까?"
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
"Language: nl_NL\n" "Language: nl_NL\n"
@@ -698,11 +698,11 @@ msgstr "Wachtwoordvelden komen niet overeen"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "Onjuist wachtwoord opgegeven" msgstr "Onjuist wachtwoord opgegeven"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Systeeminformatie" msgstr "Systeeminformatie"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Over InvenTree" msgstr "Over InvenTree"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Norwegian\n" "Language-Team: Norwegian\n"
"Language: no_NO\n" "Language: no_NO\n"
@@ -698,11 +698,11 @@ msgstr "Passordfeltene må samsvare"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Systeminformasjon" msgstr "Systeminformasjon"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
"Language: pl_PL\n" "Language: pl_PL\n"
@@ -698,11 +698,11 @@ msgstr "Hasła muszą być zgodne"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Informacja systemowa" msgstr "Informacja systemowa"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "O InvenTree" msgstr "O InvenTree"
@@ -7282,17 +7282,17 @@ msgstr "Urządzenie"
msgid "Last Activity" msgid "Last Activity"
msgstr "Ostatnia aktywność" msgstr "Ostatnia aktywność"
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "%(time)s temu (ta sesja)" msgstr "%(time)s temu (ta sesja)"
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "%(time)s temu" msgstr "%(time)s temu"
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "Czy na pewno chcesz usunąć wybrany adres e-mail?" msgstr "Czy na pewno chcesz usunąć wybrany adres e-mail?"
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n" "Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n" "Language: pt_BR\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+119 -119
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-26 01:22+0000\n" "POT-Creation-Date: 2022-07-27 22:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -26,11 +26,11 @@ msgstr ""
msgid "Error details can be found in the admin panel" msgid "Error details can be found in the admin panel"
msgstr "" msgstr ""
#: InvenTree/fields.py:99 #: InvenTree/fields.py:108
msgid "Enter date" msgid "Enter date"
msgstr "" msgstr ""
#: InvenTree/fields.py:176 build/serializers.py:384 #: InvenTree/fields.py:185 build/serializers.py:384
#: build/templates/build/sidebar.html:21 company/models.py:523 #: build/templates/build/sidebar.html:21 company/models.py:523
#: company/templates/company/sidebar.html:25 order/models.py:906 #: company/templates/company/sidebar.html:25 order/models.py:906
#: order/templates/order/po_sidebar.html:11 #: order/templates/order/po_sidebar.html:11
@@ -90,76 +90,76 @@ msgstr ""
msgid "You must type the same email each time." msgid "You must type the same email each time."
msgstr "" msgstr ""
#: InvenTree/helpers.py:135 #: InvenTree/helpers.py:136
msgid "Connection error" msgid "Connection error"
msgstr "" msgstr ""
#: InvenTree/helpers.py:139 InvenTree/helpers.py:144 #: InvenTree/helpers.py:140 InvenTree/helpers.py:145
msgid "Server responded with invalid status code" msgid "Server responded with invalid status code"
msgstr "" msgstr ""
#: InvenTree/helpers.py:141 #: InvenTree/helpers.py:142
msgid "Exception occurred" msgid "Exception occurred"
msgstr "" msgstr ""
#: InvenTree/helpers.py:149 #: InvenTree/helpers.py:150
msgid "Server responded with invalid Content-Length value" msgid "Server responded with invalid Content-Length value"
msgstr "" msgstr ""
#: InvenTree/helpers.py:152 #: InvenTree/helpers.py:153
msgid "Image size is too large" msgid "Image size is too large"
msgstr "" msgstr ""
#: InvenTree/helpers.py:164 #: InvenTree/helpers.py:165
msgid "Image download exceeded maximum size" msgid "Image download exceeded maximum size"
msgstr "" msgstr ""
#: InvenTree/helpers.py:169 #: InvenTree/helpers.py:170
msgid "Remote server returned empty response" msgid "Remote server returned empty response"
msgstr "" msgstr ""
#: InvenTree/helpers.py:177 #: InvenTree/helpers.py:178
msgid "Supplied URL is not a valid image file" msgid "Supplied URL is not a valid image file"
msgstr "" msgstr ""
#: InvenTree/helpers.py:520 #: InvenTree/helpers.py:521
#, python-brace-format #, python-brace-format
msgid "Duplicate serial: {sn}" msgid "Duplicate serial: {sn}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:527 order/models.py:320 order/models.py:472 #: InvenTree/helpers.py:528 order/models.py:320 order/models.py:472
msgid "Invalid quantity provided" msgid "Invalid quantity provided"
msgstr "" msgstr ""
#: InvenTree/helpers.py:530 #: InvenTree/helpers.py:531
msgid "Empty serial number string" msgid "Empty serial number string"
msgstr "" msgstr ""
#: InvenTree/helpers.py:562 #: InvenTree/helpers.py:563
#, python-brace-format #, python-brace-format
msgid "Invalid group range: {g}" msgid "Invalid group range: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:565 #: InvenTree/helpers.py:566
#, python-brace-format #, python-brace-format
msgid "Invalid group: {g}" msgid "Invalid group: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:593 #: InvenTree/helpers.py:594
#, python-brace-format #, python-brace-format
msgid "Invalid group sequence: {g}" msgid "Invalid group sequence: {g}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:601 #: InvenTree/helpers.py:602
#, python-brace-format #, python-brace-format
msgid "Invalid/no group {group}" msgid "Invalid/no group {group}"
msgstr "" msgstr ""
#: InvenTree/helpers.py:607 #: InvenTree/helpers.py:608
msgid "No serial numbers found" msgid "No serial numbers found"
msgstr "" msgstr ""
#: InvenTree/helpers.py:611 #: InvenTree/helpers.py:612
#, python-brace-format #, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "" msgstr ""
@@ -247,34 +247,34 @@ msgstr ""
msgid "Filename must not be empty" msgid "Filename must not be empty"
msgstr "" msgstr ""
#: InvenTree/models.py:461 #: InvenTree/models.py:447
msgid "Invalid attachment directory" msgid "Invalid attachment directory"
msgstr "" msgstr ""
#: InvenTree/models.py:471 #: InvenTree/models.py:457
#, python-brace-format #, python-brace-format
msgid "Filename contains illegal character '{c}'" msgid "Filename contains illegal character '{c}'"
msgstr "" msgstr ""
#: InvenTree/models.py:474 #: InvenTree/models.py:460
msgid "Filename missing extension" msgid "Filename missing extension"
msgstr "" msgstr ""
#: InvenTree/models.py:481 #: InvenTree/models.py:467
msgid "Attachment with this filename already exists" msgid "Attachment with this filename already exists"
msgstr "" msgstr ""
#: InvenTree/models.py:488 #: InvenTree/models.py:474
msgid "Error renaming file" msgid "Error renaming file"
msgstr "" msgstr ""
#: InvenTree/models.py:522 #: InvenTree/models.py:508
msgid "Invalid choice" msgid "Invalid choice"
msgstr "" msgstr ""
#: InvenTree/models.py:540 InvenTree/models.py:541 common/models.py:1846 #: InvenTree/models.py:526 InvenTree/models.py:527 common/models.py:1846
#: company/models.py:358 label/models.py:101 part/models.py:739 #: company/models.py:358 label/models.py:101 part/models.py:739
#: part/models.py:2371 plugin/models.py:93 report/models.py:151 #: part/models.py:2371 plugin/models.py:93 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49 #: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132 #: templates/InvenTree/settings/plugin.html:132
@@ -288,14 +288,14 @@ msgstr ""
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: InvenTree/models.py:547 build/models.py:174 #: InvenTree/models.py:533 build/models.py:174
#: build/templates/build/detail.html:24 company/models.py:282 #: build/templates/build/detail.html:24 company/models.py:282
#: company/models.py:516 company/templates/company/company_base.html:71 #: company/models.py:516 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75 #: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:87 label/models.py:108 #: company/templates/company/supplier_part.html:87 label/models.py:108
#: order/models.py:82 part/models.py:762 part/templates/part/category.html:74 #: order/models.py:82 part/models.py:762 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167 report/models.py:164 #: part/templates/part/part_base.html:167 report/models.py:165
#: report/models.py:507 report/models.py:552 #: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117 #: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:103 #: stock/templates/stock/location.html:103
#: templates/InvenTree/settings/plugin_settings.html:33 #: templates/InvenTree/settings/plugin_settings.html:33
@@ -311,182 +311,182 @@ msgstr ""
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: InvenTree/models.py:548 #: InvenTree/models.py:534
msgid "Description (optional)" msgid "Description (optional)"
msgstr "" msgstr ""
#: InvenTree/models.py:556 #: InvenTree/models.py:542
msgid "parent" msgid "parent"
msgstr "" msgstr ""
#: InvenTree/models.py:669 #: InvenTree/models.py:655
msgid "Server Error" msgid "Server Error"
msgstr "" msgstr ""
#: InvenTree/models.py:670 #: InvenTree/models.py:656
msgid "An error has been logged by the server." msgid "An error has been logged by the server."
msgstr "" msgstr ""
#: InvenTree/serializers.py:53 part/models.py:2692 #: InvenTree/serializers.py:55 part/models.py:2692
msgid "Must be a valid number" msgid "Must be a valid number"
msgstr "" msgstr ""
#: InvenTree/serializers.py:254 #: InvenTree/serializers.py:262
msgid "Filename" msgid "Filename"
msgstr "" msgstr ""
#: InvenTree/serializers.py:289 #: InvenTree/serializers.py:297
msgid "Invalid value" msgid "Invalid value"
msgstr "" msgstr ""
#: InvenTree/serializers.py:311 #: InvenTree/serializers.py:319
msgid "Data File" msgid "Data File"
msgstr "" msgstr ""
#: InvenTree/serializers.py:312 #: InvenTree/serializers.py:320
msgid "Select data file for upload" msgid "Select data file for upload"
msgstr "" msgstr ""
#: InvenTree/serializers.py:333 #: InvenTree/serializers.py:341
msgid "Unsupported file type" msgid "Unsupported file type"
msgstr "" msgstr ""
#: InvenTree/serializers.py:339 #: InvenTree/serializers.py:347
msgid "File is too large" msgid "File is too large"
msgstr "" msgstr ""
#: InvenTree/serializers.py:360 #: InvenTree/serializers.py:368
msgid "No columns found in file" msgid "No columns found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:363 #: InvenTree/serializers.py:371
msgid "No data rows found in file" msgid "No data rows found in file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:486 #: InvenTree/serializers.py:494
msgid "No data rows provided" msgid "No data rows provided"
msgstr "" msgstr ""
#: InvenTree/serializers.py:489 #: InvenTree/serializers.py:497
msgid "No data columns supplied" msgid "No data columns supplied"
msgstr "" msgstr ""
#: InvenTree/serializers.py:566 #: InvenTree/serializers.py:574
#, python-brace-format #, python-brace-format
msgid "Missing required column: '{name}'" msgid "Missing required column: '{name}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:575 #: InvenTree/serializers.py:583
#, python-brace-format #, python-brace-format
msgid "Duplicate column: '{col}'" msgid "Duplicate column: '{col}'"
msgstr "" msgstr ""
#: InvenTree/serializers.py:594 #: InvenTree/serializers.py:602
#: templates/InvenTree/settings/mixins/urls.html:14 #: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL" msgid "URL"
msgstr "" msgstr ""
#: InvenTree/serializers.py:595 #: InvenTree/serializers.py:603
msgid "URL of remote image file" msgid "URL of remote image file"
msgstr "" msgstr ""
#: InvenTree/serializers.py:609 #: InvenTree/serializers.py:617
msgid "Downloading images from remote URL is not enabled" msgid "Downloading images from remote URL is not enabled"
msgstr "" msgstr ""
#: InvenTree/settings.py:698 #: InvenTree/settings.py:703
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: InvenTree/settings.py:699 #: InvenTree/settings.py:704
msgid "German" msgid "German"
msgstr "" msgstr ""
#: InvenTree/settings.py:700 #: InvenTree/settings.py:705
msgid "Greek" msgid "Greek"
msgstr "" msgstr ""
#: InvenTree/settings.py:701 #: InvenTree/settings.py:706
msgid "English" msgid "English"
msgstr "" msgstr ""
#: InvenTree/settings.py:702 #: InvenTree/settings.py:707
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: InvenTree/settings.py:703 #: InvenTree/settings.py:708
msgid "Spanish (Mexican)" msgid "Spanish (Mexican)"
msgstr "" msgstr ""
#: InvenTree/settings.py:704 #: InvenTree/settings.py:709
msgid "Farsi / Persian" msgid "Farsi / Persian"
msgstr "" msgstr ""
#: InvenTree/settings.py:705 #: InvenTree/settings.py:710
msgid "French" msgid "French"
msgstr "" msgstr ""
#: InvenTree/settings.py:706 #: InvenTree/settings.py:711
msgid "Hebrew" msgid "Hebrew"
msgstr "" msgstr ""
#: InvenTree/settings.py:707 #: InvenTree/settings.py:712
msgid "Hungarian" msgid "Hungarian"
msgstr "" msgstr ""
#: InvenTree/settings.py:708 #: InvenTree/settings.py:713
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: InvenTree/settings.py:709 #: InvenTree/settings.py:714
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: InvenTree/settings.py:710 #: InvenTree/settings.py:715
msgid "Korean" msgid "Korean"
msgstr "" msgstr ""
#: InvenTree/settings.py:711 #: InvenTree/settings.py:716
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: InvenTree/settings.py:712 #: InvenTree/settings.py:717
msgid "Norwegian" msgid "Norwegian"
msgstr "" msgstr ""
#: InvenTree/settings.py:713 #: InvenTree/settings.py:718
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: InvenTree/settings.py:714 #: InvenTree/settings.py:719
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: InvenTree/settings.py:715 #: InvenTree/settings.py:720
msgid "Portuguese (Brazilian)" msgid "Portuguese (Brazilian)"
msgstr "" msgstr ""
#: InvenTree/settings.py:716 #: InvenTree/settings.py:721
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: InvenTree/settings.py:717 #: InvenTree/settings.py:722
msgid "Swedish" msgid "Swedish"
msgstr "" msgstr ""
#: InvenTree/settings.py:718 #: InvenTree/settings.py:723
msgid "Thai" msgid "Thai"
msgstr "" msgstr ""
#: InvenTree/settings.py:719 #: InvenTree/settings.py:724
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: InvenTree/settings.py:720 #: InvenTree/settings.py:725
msgid "Vietnamese" msgid "Vietnamese"
msgstr "" msgstr ""
#: InvenTree/settings.py:721 #: InvenTree/settings.py:726
msgid "Chinese" msgid "Chinese"
msgstr "" msgstr ""
@@ -683,19 +683,19 @@ msgstr ""
msgid "Invalid value for overage" msgid "Invalid value for overage"
msgstr "" msgstr ""
#: InvenTree/views.py:519 templates/InvenTree/settings/user.html:22 #: InvenTree/views.py:518 templates/InvenTree/settings/user.html:22
msgid "Edit User Information" msgid "Edit User Information"
msgstr "" msgstr ""
#: InvenTree/views.py:531 templates/InvenTree/settings/user.html:19 #: InvenTree/views.py:530 templates/InvenTree/settings/user.html:19
msgid "Set Password" msgid "Set Password"
msgstr "" msgstr ""
#: InvenTree/views.py:553 #: InvenTree/views.py:552
msgid "Password fields must match" msgid "Password fields must match"
msgstr "" msgstr ""
#: InvenTree/views.py:562 #: InvenTree/views.py:561
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
@@ -1826,7 +1826,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part" msgid "Copy category parameter templates when creating a part"
msgstr "" msgstr ""
#: common/models.py:941 part/models.py:2412 report/models.py:157 #: common/models.py:941 part/models.py:2412 report/models.py:158
#: templates/js/translated/table_filters.js:38 #: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:484 #: templates/js/translated/table_filters.js:484
msgid "Template" msgid "Template"
@@ -2657,31 +2657,31 @@ msgstr ""
msgid "Items have been received against a purchase order" msgid "Items have been received against a purchase order"
msgstr "" msgstr ""
#: common/views.py:87 order/templates/order/purchase_order_detail.html:23 #: common/views.py:85 order/templates/order/purchase_order_detail.html:23
#: order/views.py:102 part/views.py:112 #: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37 #: templates/patterns/wizard/upload.html:37
msgid "Upload File" msgid "Upload File"
msgstr "" msgstr ""
#: common/views.py:88 order/views.py:103 #: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45 #: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 #: part/views.py:113 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields" msgid "Match Fields"
msgstr "" msgstr ""
#: common/views.py:89 #: common/views.py:87
msgid "Match Items" msgid "Match Items"
msgstr "" msgstr ""
#: common/views.py:422 #: common/views.py:420
msgid "Fields matching failed" msgid "Fields matching failed"
msgstr "" msgstr ""
#: common/views.py:483 #: common/views.py:481
msgid "Parts imported" msgid "Parts imported"
msgstr "" msgstr ""
#: common/views.py:511 order/templates/order/order_wizard/match_parts.html:19 #: common/views.py:509 order/templates/order/order_wizard/match_parts.html:19
#: part/templates/part/import_wizard/match_references.html:19 #: part/templates/part/import_wizard/match_references.html:19
#: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/match_fields.html:26
#: templates/patterns/wizard/upload.html:35 #: templates/patterns/wizard/upload.html:35
@@ -3429,7 +3429,7 @@ msgstr ""
msgid "Label template file" msgid "Label template file"
msgstr "" msgstr ""
#: label/models.py:123 report/models.py:253 #: label/models.py:123 report/models.py:254
msgid "Enabled" msgid "Enabled"
msgstr "" msgstr ""
@@ -3453,7 +3453,7 @@ msgstr ""
msgid "Label height, specified in mm" msgid "Label height, specified in mm"
msgstr "" msgstr ""
#: label/models.py:143 report/models.py:246 #: label/models.py:143 report/models.py:247
msgid "Filename Pattern" msgid "Filename Pattern"
msgstr "" msgstr ""
@@ -3466,7 +3466,7 @@ msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "" msgstr ""
#: label/models.py:234 label/models.py:274 label/models.py:302 #: label/models.py:234 label/models.py:274 label/models.py:302
#: report/models.py:279 report/models.py:410 report/models.py:448 #: report/models.py:280 report/models.py:411 report/models.py:449
msgid "Filters" msgid "Filters"
msgstr "" msgstr ""
@@ -4395,7 +4395,7 @@ msgid "Part revision or version number"
msgstr "" msgstr ""
#: part/models.py:790 part/templates/part/part_base.html:273 #: part/models.py:790 part/templates/part/part_base.html:273
#: report/models.py:170 templates/js/translated/part.js:739 #: report/models.py:171 templates/js/translated/part.js:739
msgid "Revision" msgid "Revision"
msgstr "" msgstr ""
@@ -5699,35 +5699,35 @@ msgstr ""
msgid "A setting with multiple choices" msgid "A setting with multiple choices"
msgstr "" msgstr ""
#: plugin/serializers.py:73 #: plugin/serializers.py:72
msgid "Source URL" msgid "Source URL"
msgstr "" msgstr ""
#: plugin/serializers.py:74 #: plugin/serializers.py:73
msgid "Source for the package - this can be a custom registry or a VCS path" msgid "Source for the package - this can be a custom registry or a VCS path"
msgstr "" msgstr ""
#: plugin/serializers.py:79 #: plugin/serializers.py:78
msgid "Package Name" msgid "Package Name"
msgstr "" msgstr ""
#: plugin/serializers.py:80 #: plugin/serializers.py:79
msgid "Name for the Plugin Package - can also contain a version indicator" msgid "Name for the Plugin Package - can also contain a version indicator"
msgstr "" msgstr ""
#: plugin/serializers.py:83 #: plugin/serializers.py:82
msgid "Confirm plugin installation" msgid "Confirm plugin installation"
msgstr "" msgstr ""
#: plugin/serializers.py:84 #: plugin/serializers.py:83
msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgid "This will install this plugin now into the current instance. The instance will go into maintenance."
msgstr "" msgstr ""
#: plugin/serializers.py:104 #: plugin/serializers.py:103
msgid "Installation not confirmed" msgid "Installation not confirmed"
msgstr "" msgstr ""
#: plugin/serializers.py:106 #: plugin/serializers.py:105
msgid "Either packagename of URL must be provided" msgid "Either packagename of URL must be provided"
msgstr "" msgstr ""
@@ -5744,63 +5744,63 @@ msgstr ""
msgid "Test report" msgid "Test report"
msgstr "" msgstr ""
#: report/models.py:152 #: report/models.py:153
msgid "Template name" msgid "Template name"
msgstr "" msgstr ""
#: report/models.py:158 #: report/models.py:159
msgid "Report template file" msgid "Report template file"
msgstr "" msgstr ""
#: report/models.py:165 #: report/models.py:166
msgid "Report template description" msgid "Report template description"
msgstr "" msgstr ""
#: report/models.py:171 #: report/models.py:172
msgid "Report revision number (auto-increments)" msgid "Report revision number (auto-increments)"
msgstr "" msgstr ""
#: report/models.py:247 #: report/models.py:248
msgid "Pattern for generating report filenames" msgid "Pattern for generating report filenames"
msgstr "" msgstr ""
#: report/models.py:254 #: report/models.py:255
msgid "Report template is enabled" msgid "Report template is enabled"
msgstr "" msgstr ""
#: report/models.py:280 #: report/models.py:281
msgid "StockItem query filters (comma-separated list of key=value pairs)" msgid "StockItem query filters (comma-separated list of key=value pairs)"
msgstr "" msgstr ""
#: report/models.py:288 #: report/models.py:289
msgid "Include Installed Tests" msgid "Include Installed Tests"
msgstr "" msgstr ""
#: report/models.py:289 #: report/models.py:290
msgid "Include test results for stock items installed inside assembled item" msgid "Include test results for stock items installed inside assembled item"
msgstr "" msgstr ""
#: report/models.py:336 #: report/models.py:337
msgid "Build Filters" msgid "Build Filters"
msgstr "" msgstr ""
#: report/models.py:337 #: report/models.py:338
msgid "Build query filters (comma-separated list of key=value pairs" msgid "Build query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:376 #: report/models.py:377
msgid "Part Filters" msgid "Part Filters"
msgstr "" msgstr ""
#: report/models.py:377 #: report/models.py:378
msgid "Part query filters (comma-separated list of key=value pairs" msgid "Part query filters (comma-separated list of key=value pairs"
msgstr "" msgstr ""
#: report/models.py:411 #: report/models.py:412
msgid "Purchase order query filters" msgid "Purchase order query filters"
msgstr "" msgstr ""
#: report/models.py:449 #: report/models.py:450
msgid "Sales order query filters" msgid "Sales order query filters"
msgstr "" msgstr ""
@@ -5816,15 +5816,15 @@ msgstr ""
msgid "Snippet file description" msgid "Snippet file description"
msgstr "" msgstr ""
#: report/models.py:545 #: report/models.py:544
msgid "Asset" msgid "Asset"
msgstr "" msgstr ""
#: report/models.py:546 #: report/models.py:545
msgid "Report asset file" msgid "Report asset file"
msgstr "" msgstr ""
#: report/models.py:553 #: report/models.py:552
msgid "Asset file description" msgid "Asset file description"
msgstr "" msgstr ""
@@ -7283,17 +7283,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Russian\n" "Language-Team: Russian\n"
"Language: ru_RU\n" "Language: ru_RU\n"
@@ -698,11 +698,11 @@ msgstr "Пароли должны совпадать"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Информация о системе" msgstr "Информация о системе"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "Вы действительно хотите удалить выбранный адрес электронной почты?" msgstr "Вы действительно хотите удалить выбранный адрес электронной почты?"
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
"Language: sv_SE\n" "Language: sv_SE\n"
@@ -698,11 +698,11 @@ msgstr "Lösenorden måste matcha"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "Felaktigt lösenord angivet" msgstr "Felaktigt lösenord angivet"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Systeminformation" msgstr "Systeminformation"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Om InvenTree" msgstr "Om InvenTree"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:21\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Thai\n" "Language-Team: Thai\n"
"Language: th_TH\n" "Language: th_TH\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "" msgstr ""
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "" msgstr ""
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Turkish\n" "Language-Team: Turkish\n"
"Language: tr_TR\n" "Language: tr_TR\n"
@@ -698,11 +698,11 @@ msgstr "Parola alanları eşleşmelidir"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Sistem Bilgisi" msgstr "Sistem Bilgisi"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "InvenTree Hakkında" msgstr "InvenTree Hakkında"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Vietnamese\n" "Language-Team: Vietnamese\n"
"Language: vi_VN\n" "Language: vi_VN\n"
@@ -698,11 +698,11 @@ msgstr ""
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "" msgstr ""
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "Thông tin hệ thống" msgstr "Thông tin hệ thống"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "Giới thiệu" msgstr "Giới thiệu"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+7 -7
View File
@@ -2,8 +2,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: inventree\n" "Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-27 00:43+0000\n" "POT-Creation-Date: 2022-07-27 07:45+0000\n"
"PO-Revision-Date: 2022-07-27 02:18\n" "PO-Revision-Date: 2022-07-28 02:20\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: Chinese Simplified\n" "Language-Team: Chinese Simplified\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@@ -698,11 +698,11 @@ msgstr "密码字段必须相匹配。"
msgid "Wrong password provided" msgid "Wrong password provided"
msgstr "密码错误" msgstr "密码错误"
#: InvenTree/views.py:750 templates/navbar.html:152 #: InvenTree/views.py:751 templates/navbar.html:152
msgid "System Information" msgid "System Information"
msgstr "系统信息" msgstr "系统信息"
#: InvenTree/views.py:757 templates/navbar.html:163 #: InvenTree/views.py:758 templates/navbar.html:163
msgid "About InvenTree" msgid "About InvenTree"
msgstr "关于 InventTree" msgstr "关于 InventTree"
@@ -7282,17 +7282,17 @@ msgstr ""
msgid "Last Activity" msgid "Last Activity"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:254 #: templates/InvenTree/settings/user.html:258
#, python-format #, python-format
msgid "%(time)s ago (this session)" msgid "%(time)s ago (this session)"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:256 #: templates/InvenTree/settings/user.html:260
#, python-format #, python-format
msgid "%(time)s ago" msgid "%(time)s ago"
msgstr "" msgstr ""
#: templates/InvenTree/settings/user.html:268 #: templates/InvenTree/settings/user.html:272
msgid "Do you really want to remove the selected email address?" msgid "Do you really want to remove the selected email address?"
msgstr "" msgstr ""
+6 -6
View File
@@ -23,12 +23,12 @@ services:
container_name: inventree-dev-db container_name: inventree-dev-db
image: postgres:13 image: postgres:13
expose: expose:
- ${INVENTREE_DB_PORT:-5432}/tcp - 5432/tcp
environment: environment:
- PGDATA=/var/lib/postgresql/data/pgdb - PGDATA=/var/lib/postgresql/data/pgdb
- POSTGRES_USER=${INVENTREE_DB_USER:?You must provide the 'INVENTREE_DB_USER' variable in the .env file} - POSTGRES_USER=pguser
- POSTGRES_PASSWORD=${INVENTREE_DB_PASSWORD:?You must provide the 'INVENTREE_DB_PASSWORD' variable in the .env file} - POSTGRES_PASSWORD=pgpassword
- POSTGRES_DB=${INVENTREE_DB_NAME:?You must provide the 'INVENTREE_DB_NAME' variable in the .env file} - POSTGRES_DB=inventree
volumes: volumes:
# Map 'data' volume such that postgres database is stored externally # Map 'data' volume such that postgres database is stored externally
- ./data:/var/lib/postgresql/data - ./data:/var/lib/postgresql/data
@@ -52,7 +52,7 @@ services:
# Mount local source directory to /home/inventree # Mount local source directory to /home/inventree
- ./:/home/inventree - ./:/home/inventree
env_file: env_file:
- .env - docker.dev.env
restart: unless-stopped restart: unless-stopped
# Background worker process handles long-running or periodic tasks # Background worker process handles long-running or periodic tasks
@@ -66,5 +66,5 @@ services:
# Mount local source directory to /home/inventree # Mount local source directory to /home/inventree
- ./:/home/inventree - ./:/home/inventree
env_file: env_file:
- .env - docker.dev.env
restart: unless-stopped restart: unless-stopped
-2
View File
@@ -16,5 +16,3 @@ INVENTREE_DB_PASSWORD=pgpassword
# Enable plugins? # Enable plugins?
INVENTREE_PLUGINS_ENABLED=True INVENTREE_PLUGINS_ENABLED=True
COMPOSE_PROJECT_NAME=inventree-development
+32 -7
View File
@@ -110,8 +110,8 @@ def install(c):
c.run('pip3 install --no-cache-dir --disable-pip-version-check -U -r requirements.txt') c.run('pip3 install --no-cache-dir --disable-pip-version-check -U -r requirements.txt')
@task @task(help={'tests': 'Set up test dataset at the end'})
def setup_dev(c): def setup_dev(c, tests=False):
"""Sets up everything needed for the dev enviroment.""" """Sets up everything needed for the dev enviroment."""
print("Installing required python packages from 'requirements-dev.txt'") print("Installing required python packages from 'requirements-dev.txt'")
@@ -119,10 +119,16 @@ def setup_dev(c):
c.run('pip3 install -U -r requirements-dev.txt') c.run('pip3 install -U -r requirements-dev.txt')
# Install pre-commit hook # Install pre-commit hook
print("Installing pre-commit for checks before git commits...")
c.run('pre-commit install') c.run('pre-commit install')
# Update all the hooks # Update all the hooks
c.run('pre-commit autoupdate') c.run('pre-commit autoupdate')
print("pre-commit set up is done...")
# Set up test-data if flag is set
if tests:
setup_test(c)
# Setup / maintenance tasks # Setup / maintenance tasks
@@ -512,17 +518,36 @@ def test(c, database=None):
manage(c, 'test', pty=True) manage(c, 'test', pty=True)
@task(pre=[update]) @task(help={'dev': 'Set up development enviroment at the end'})
def setup_test(c): def setup_test(c, ignore_update=False, dev=False, path="inventree-demo-dataset"):
"""Setup a testing enviroment.""" """Setup a testing enviroment."""
if not ignore_update:
update(c)
# Remove old data directory # Remove old data directory
c.run('rm inventree-data -r') if os.path.exists(path):
print("Removing old data ...")
c.run(f'rm {path} -r')
# Get test data # Get test data
c.run('git clone https://github.com/inventree/demo-dataset inventree-data') print("Cloning demo dataset ...")
c.run(f'git clone https://github.com/inventree/demo-dataset {path} -v')
print("========================================")
# Make sure migrations are done - might have just deleted sqlite database
if not ignore_update:
migrate(c)
# Load data # Load data
import_records(c, filename='inventree-data/inventree_data.json', clear=True) print("Loading data ...")
import_records(c, filename=f'{path}/inventree_data.json', clear=True)
print("Done setting up test enviroment...")
print("========================================")
# Set up development setup if flag is set
if dev:
setup_dev(c)
@task @task