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