mirror of
https://github.com/inventree/InvenTree.git
synced 2026-07-10 00:50:57 +00:00
Merge branch 'master' of https://github.com/inventree/InvenTree into matmair/issue6281
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
"""Main JSON interface views."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
@@ -10,6 +9,7 @@ from django.db import transaction
|
||||
from django.http import JsonResponse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_q.models import OrmQ
|
||||
from drf_spectacular.utils import OpenApiResponse, extend_schema
|
||||
from rest_framework import permissions, serializers
|
||||
@@ -31,7 +31,7 @@ from .mixins import ListAPI, RetrieveUpdateAPI
|
||||
from .status import check_system_health, is_worker_running
|
||||
from .version import inventreeApiText
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class LicenseViewSerializer(serializers.Serializer):
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"""InvenTree API version information."""
|
||||
|
||||
# InvenTree API version
|
||||
INVENTREE_API_VERSION = 297
|
||||
INVENTREE_API_VERSION = 298
|
||||
|
||||
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
||||
|
||||
@@ -11,6 +11,11 @@ v296 - 2024-12-22 : https://github.com/inventree/InvenTree/pull/6293
|
||||
- Removes a considerable amount of old auth endpoints
|
||||
- Introduces allauth based REST API
|
||||
|
||||
v298 - 2025-01-07 - https://github.com/inventree/InvenTree/pull/8848
|
||||
- Adds 'created_by' field to PurchaseOrder API endpoints
|
||||
- Adds 'created_by' field to SalesOrder API endpoints
|
||||
- Adds 'created_by' field to ReturnOrder API endpoints
|
||||
|
||||
v297 - 2024-12-29 - https://github.com/inventree/InvenTree/pull/8438
|
||||
- Adjustments to the CustomUserState API endpoints and serializers
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""AppConfig for InvenTree app."""
|
||||
|
||||
import logging
|
||||
from importlib import import_module
|
||||
from pathlib import Path
|
||||
|
||||
@@ -11,6 +10,7 @@ from django.core.exceptions import AppRegistryNotReady
|
||||
from django.db import transaction
|
||||
from django.db.utils import IntegrityError, OperationalError
|
||||
|
||||
import structlog
|
||||
from allauth.socialaccount.signals import social_account_updated
|
||||
|
||||
import InvenTree.conversion
|
||||
@@ -19,7 +19,7 @@ import InvenTree.tasks
|
||||
from common.settings import get_global_setting, set_global_setting
|
||||
from InvenTree.config import get_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeConfig(AppConfig):
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
"""Overrides for allauth and adjacent packages to enforce InvenTree specific auth settings and restirctions."""
|
||||
|
||||
import logging
|
||||
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import Group
|
||||
@@ -9,6 +7,7 @@ from django.http import HttpResponseRedirect
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from allauth.account.adapter import DefaultAccountAdapter
|
||||
from allauth.account.forms import LoginForm, SignupForm, set_form_field_order
|
||||
from allauth.headless.tokens.sessions import SessionTokenStrategy
|
||||
@@ -20,7 +19,7 @@ from common.settings import get_global_setting
|
||||
from InvenTree.exceptions import log_error
|
||||
from users.models import ApiToken
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
# override allauth
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
"""Custom backend implementations."""
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import time
|
||||
|
||||
from django.db.utils import IntegrityError, OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
from maintenance_mode.backends import AbstractStateBackend
|
||||
|
||||
import common.models
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeMaintenanceModeBackend(AbstractStateBackend):
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
"""Configuration options for InvenTree external cache."""
|
||||
|
||||
import logging
|
||||
import socket
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.config
|
||||
import InvenTree.ready
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def cache_setting(name, default=None, **kwargs):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Helper functions for converting between units."""
|
||||
|
||||
import logging
|
||||
import re
|
||||
from typing import Optional
|
||||
|
||||
@@ -11,7 +10,9 @@ import pint
|
||||
|
||||
_unit_registry = None
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_unit_registry():
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import logging
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
@@ -11,11 +10,12 @@ from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import rest_framework.views as drfviews
|
||||
import structlog
|
||||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError as DRFValidationError
|
||||
from rest_framework.response import Response
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def log_error(path, error_name=None, error_info=None, error_data=None):
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
"""Custom exchange backend which hooks into the InvenTree plugin system to fetch exchange rates from an external API."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.db.transaction import atomic
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.backends.base import SimpleExchangeBackend
|
||||
from djmoney.contrib.exchange.models import ExchangeBackend, Rate
|
||||
|
||||
from common.currency import currency_code_default, currency_codes
|
||||
from common.settings import get_global_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeExchange(SimpleExchangeBackend):
|
||||
|
||||
@@ -4,7 +4,6 @@ import datetime
|
||||
import hashlib
|
||||
import inspect
|
||||
import io
|
||||
import logging
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
@@ -22,6 +21,7 @@ from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import bleach
|
||||
import structlog
|
||||
from bleach import clean
|
||||
from djmoney.money import Money
|
||||
from PIL import Image
|
||||
@@ -31,7 +31,7 @@ from common.currency import currency_code_default
|
||||
|
||||
from .settings import MEDIA_URL, STATIC_URL
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def extract_int(reference, clip=0x7FFFFFFF, allow_negative=False):
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
"""Code for managing email functionality in InvenTree."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.core import mail as django_mail
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.ready
|
||||
import InvenTree.tasks
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def is_email_configured():
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Provides helper functions used throughout the InvenTree project that access the database."""
|
||||
|
||||
import io
|
||||
import logging
|
||||
from decimal import Decimal
|
||||
from typing import Optional
|
||||
from urllib.parse import urljoin
|
||||
@@ -12,6 +11,7 @@ from django.db.utils import OperationalError, ProgrammingError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import requests
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from djmoney.money import Money
|
||||
from PIL import Image
|
||||
@@ -24,7 +24,7 @@ from common.notifications import (
|
||||
from common.settings import get_global_setting
|
||||
from InvenTree.format import format_money
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_base_url(request=None):
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
"""Check if there are any pending database migrations, and run them."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.tasks import check_for_migrations
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
"""Custom management command to cleanup old settings that are not defined anymore."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
@@ -3,13 +3,12 @@
|
||||
- This is crucial after importing any fixtures, etc
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
from maintenance_mode.core import maintenance_mode_on, set_maintenance_mode
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
- May be required after importing a new dataset, for example
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.db.utils import OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
from PIL import UnidentifiedImageError
|
||||
|
||||
from company.models import Company
|
||||
from part.models import Part
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
"""Check if there are any pending database migrations, and run them."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.tasks import check_for_migrations
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
"""Custom metadata for DRF."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
|
||||
import structlog
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.fields import empty
|
||||
from rest_framework.metadata import SimpleMetadata
|
||||
@@ -17,7 +16,7 @@ import users.models
|
||||
from InvenTree.helpers import str2bool
|
||||
from InvenTree.serializers import DependentField
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeMetadata(SimpleMetadata):
|
||||
@@ -389,7 +388,9 @@ class InvenTreeMetadata(SimpleMetadata):
|
||||
model = field.queryset.model
|
||||
else:
|
||||
logger.debug(
|
||||
'Could not extract model for:', field_info.get('label'), '->', field
|
||||
'Could not extract model for: %s -> %s',
|
||||
field_info.get('label'),
|
||||
field,
|
||||
)
|
||||
model = None
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Middleware for InvenTree."""
|
||||
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from django.conf import settings
|
||||
@@ -9,11 +8,12 @@ from django.http import HttpResponse
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import resolve, reverse_lazy
|
||||
|
||||
import structlog
|
||||
from error_report.middleware import ExceptionProcessor
|
||||
|
||||
from users.models import ApiToken
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_token_from_request(request):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Generic models which provide extra functionality over base Django model types."""
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from string import Formatter
|
||||
|
||||
@@ -14,6 +13,7 @@ from django.urls import reverse
|
||||
from django.urls.exceptions import NoReverseMatch
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_q.models import Task
|
||||
from error_report.models import Error
|
||||
from mptt.exceptions import InvalidMove
|
||||
@@ -25,7 +25,7 @@ import InvenTree.format
|
||||
import InvenTree.helpers
|
||||
import InvenTree.helpers_model
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DiffMixin:
|
||||
@@ -1124,15 +1124,16 @@ def after_failed_task(sender, instance: Task, created: bool, **kwargs):
|
||||
except (ValueError, NoReverseMatch):
|
||||
url = ''
|
||||
|
||||
# Function name
|
||||
f = instance.func
|
||||
|
||||
notify_staff_users_of_error(
|
||||
instance,
|
||||
'inventree.task_failure',
|
||||
{
|
||||
'failure': instance,
|
||||
'name': _('Task Failure'),
|
||||
'message': _(
|
||||
f"Background worker task '{instance.func}' failed after {n} attempts"
|
||||
),
|
||||
'message': _(f"Background worker task '{f}' failed after {n} attempts"),
|
||||
'link': url,
|
||||
},
|
||||
)
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
"""Configuration for Sentry.io error reporting."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.http import Http404
|
||||
|
||||
import rest_framework.exceptions
|
||||
import sentry_sdk
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from sentry_sdk.integrations.django import DjangoIntegration
|
||||
|
||||
import InvenTree.version
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def default_sentry_dsn():
|
||||
|
||||
@@ -220,11 +220,9 @@ if DEBUG and 'collectstatic' not in sys.argv:
|
||||
|
||||
# Append directory for sample plugin static content (if in debug mode)
|
||||
if PLUGINS_ENABLED:
|
||||
print('Adding plugin sample static content')
|
||||
logger.info('Adding plugin sample static content')
|
||||
STATICFILES_DIRS.append(BASE_DIR.joinpath('plugin', 'samples', 'static'))
|
||||
|
||||
print('-', STATICFILES_DIRS[-1])
|
||||
|
||||
# Database backup options
|
||||
# Ref: https://django-dbbackup.readthedocs.io/en/master/configuration.html
|
||||
DBBACKUP_SEND_EMAIL = False
|
||||
@@ -353,29 +351,6 @@ QUERYCOUNT = {
|
||||
'RESPONSE_HEADER': 'X-Django-Query-Count',
|
||||
}
|
||||
|
||||
ADMIN_SHELL_ENABLE = False
|
||||
ADMIN_SHELL_IMPORT_DJANGO = False
|
||||
ADMIN_SHELL_IMPORT_MODELS = False
|
||||
|
||||
# In DEBUG mode, add support for django-admin-shell
|
||||
# Ref: https://github.com/djk2/django-admin-shell
|
||||
if (
|
||||
DEBUG
|
||||
and INVENTREE_ADMIN_ENABLED
|
||||
and not TESTING
|
||||
and get_boolean_setting('INVENTREE_DEBUG_SHELL', 'debug_shell', False)
|
||||
):
|
||||
try:
|
||||
import django_admin_shell # noqa: F401
|
||||
|
||||
INSTALLED_APPS.append('django_admin_shell')
|
||||
ADMIN_SHELL_ENABLE = True
|
||||
|
||||
logger.warning('Admin shell is enabled')
|
||||
except ModuleNotFoundError:
|
||||
logger.warning(
|
||||
'django-admin-shell is not installed - Admin shell is not enabled'
|
||||
)
|
||||
|
||||
AUTHENTICATION_BACKENDS = CONFIG.get(
|
||||
'authentication_backends',
|
||||
@@ -1029,7 +1004,9 @@ if SITE_URL:
|
||||
validator = URLValidator()
|
||||
validator(SITE_URL)
|
||||
except Exception:
|
||||
print(f"Invalid SITE_URL value: '{SITE_URL}'. InvenTree server cannot start.")
|
||||
msg = f"Invalid SITE_URL value: '{SITE_URL}'. InvenTree server cannot start."
|
||||
logger.error(msg)
|
||||
print(msg)
|
||||
sys.exit(-1)
|
||||
|
||||
else:
|
||||
@@ -1128,12 +1105,7 @@ COOKIE_MODE = (
|
||||
# Valid modes (as per the django settings documentation)
|
||||
valid_cookie_modes = ['lax', 'strict', 'none']
|
||||
|
||||
if not DEBUG and not TESTING and COOKIE_MODE in valid_cookie_modes:
|
||||
# Set the cookie mode (in production mode only)
|
||||
COOKIE_MODE = COOKIE_MODE.capitalize()
|
||||
else:
|
||||
# Default to False, as per the Django settings
|
||||
COOKIE_MODE = False
|
||||
COOKIE_MODE = COOKIE_MODE.capitalize() if COOKIE_MODE in valid_cookie_modes else False
|
||||
|
||||
# Additional CSRF settings
|
||||
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
|
||||
@@ -1141,13 +1113,14 @@ CSRF_COOKIE_NAME = 'csrftoken'
|
||||
|
||||
CSRF_COOKIE_SAMESITE = COOKIE_MODE
|
||||
SESSION_COOKIE_SAMESITE = COOKIE_MODE
|
||||
LANGUAGE_COOKIE_SAMESITE = COOKIE_MODE
|
||||
|
||||
"""Set the SESSION_COOKIE_SECURE value based on the following rules:
|
||||
- False if the server is running in DEBUG mode
|
||||
- True if samesite cookie setting is set to 'None'
|
||||
- Otherwise, use the value specified in the configuration file (or env var)
|
||||
"""
|
||||
SESSION_COOKIE_SECURE = (
|
||||
COOKIE_SECURE = (
|
||||
False
|
||||
if DEBUG
|
||||
else (
|
||||
@@ -1158,6 +1131,10 @@ SESSION_COOKIE_SECURE = (
|
||||
)
|
||||
)
|
||||
|
||||
CSRF_COOKIE_SECURE = COOKIE_SECURE
|
||||
SESSION_COOKIE_SECURE = COOKIE_SECURE
|
||||
LANGUAGE_COOKIE_SECURE = COOKIE_SECURE
|
||||
|
||||
# Ref: https://docs.djangoproject.com/en/4.2/ref/settings/#std-setting-SECURE_PROXY_SSL_HEADER
|
||||
if ssl_header := get_boolean_setting(
|
||||
'INVENTREE_USE_X_FORWARDED_PROTO', 'use_x_forwarded_proto', False
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
"""Helper functions for Single Sign On functionality."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.contrib.auth.models import Group
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
|
||||
import structlog
|
||||
from allauth.socialaccount.models import SocialAccount, SocialLogin
|
||||
|
||||
from common.settings import get_global_setting
|
||||
from InvenTree.helpers import str2bool
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_provider_app(provider):
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
"""Provides system status functionality checks."""
|
||||
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
from django.utils import timezone
|
||||
|
||||
import structlog
|
||||
from django_q.models import Success
|
||||
from django_q.status import Stat
|
||||
|
||||
import InvenTree.helpers_email
|
||||
import InvenTree.ready
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def is_worker_running(**kwargs):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Functions for tasks and a few general async tasks."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import random
|
||||
import re
|
||||
@@ -21,6 +20,7 @@ from django.db.utils import NotSupportedError, OperationalError, ProgrammingErro
|
||||
from django.utils import timezone
|
||||
|
||||
import requests
|
||||
import structlog
|
||||
from maintenance_mode.core import (
|
||||
get_maintenance_mode,
|
||||
maintenance_mode_on,
|
||||
@@ -33,7 +33,7 @@ from plugin import registry
|
||||
|
||||
from .version import isInvenTreeUpToDate
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def schedule_task(taskname, **kwargs):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""This module provides template tags for extra functionality, over and above the built-in Django tags."""
|
||||
|
||||
import logging
|
||||
from datetime import date, datetime
|
||||
|
||||
from django import template
|
||||
@@ -22,7 +21,9 @@ from plugin.plugin import InvenTreePlugin
|
||||
register = template.Library()
|
||||
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
@register.simple_tag()
|
||||
|
||||
@@ -1357,14 +1357,17 @@ class TestOffloadTask(InvenTreeTestCase):
|
||||
# First call should run without issue
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertTrue(result)
|
||||
self.assertIn("Logging task attempt for 'dummy_task'", str(cm.output))
|
||||
self.assertIn(
|
||||
'Logging task attempt for dummy_task', str(cm.output).replace("\\'", '')
|
||||
)
|
||||
|
||||
with self.assertLogs(logger='inventree', level='INFO') as cm:
|
||||
# An attempt has been logged, but it is too recent
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertFalse(result)
|
||||
self.assertIn(
|
||||
"Last attempt for 'dummy_task' was too recent", str(cm.output)
|
||||
'Last attempt for dummy_task was too recent',
|
||||
str(cm.output).replace("\\'", ''),
|
||||
)
|
||||
|
||||
# Mark last attempt a few days ago - should now return True
|
||||
@@ -1385,7 +1388,8 @@ class TestOffloadTask(InvenTreeTestCase):
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertFalse(result)
|
||||
self.assertIn(
|
||||
"Last attempt for 'dummy_task' was too recent", str(cm.output)
|
||||
'Last attempt for dummy_task was too recent',
|
||||
str(cm.output).replace("\\'", ''),
|
||||
)
|
||||
|
||||
# Configure so a task was successful too recently
|
||||
|
||||
@@ -148,9 +148,6 @@ urlpatterns = []
|
||||
if settings.INVENTREE_ADMIN_ENABLED:
|
||||
admin_url = settings.INVENTREE_ADMIN_URL
|
||||
|
||||
if settings.ADMIN_SHELL_ENABLE:
|
||||
urlpatterns += [path(f'{admin_url}/shell/', include('django_admin_shell.urls'))]
|
||||
|
||||
urlpatterns += [
|
||||
path(f'{admin_url}/error_log/', include('error_report.urls')),
|
||||
path(f'{admin_url}/', admin.site.urls, name='inventree-admin'),
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Build database model definitions."""
|
||||
|
||||
import decimal
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
@@ -15,6 +14,7 @@ from django.dispatch.dispatcher import receiver
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from mptt.exceptions import InvalidMove
|
||||
from mptt.models import MPTTModel, TreeForeignKey
|
||||
from rest_framework import serializers
|
||||
@@ -47,7 +47,7 @@ from generic.states import StateTransitionMixin, StatusCodeMixin
|
||||
from plugin.events import trigger_event
|
||||
from stock.status_codes import StockHistoryCode, StockStatus
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Build(
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Background task definitions for the BuildOrder app."""
|
||||
|
||||
import logging
|
||||
import random
|
||||
import time
|
||||
from datetime import timedelta
|
||||
@@ -11,6 +10,7 @@ from django.db import transaction
|
||||
from django.template.loader import render_to_string
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from allauth.account.models import EmailAddress
|
||||
|
||||
import build.models as build_models
|
||||
@@ -25,7 +25,7 @@ from build.status_codes import BuildStatusGroups
|
||||
from InvenTree.ready import isImportingData
|
||||
from plugin.events import trigger_event
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def auto_allocate_build(build_id: int, **kwargs):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Unit tests for the 'build' models."""
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
@@ -11,6 +10,8 @@ from django.db.models import Sum
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
import structlog
|
||||
|
||||
import build.tasks
|
||||
import common.models
|
||||
from build.models import Build, BuildItem, BuildLine, generate_next_build_reference
|
||||
@@ -22,7 +23,7 @@ from part.models import BomItem, BomItemSubstitute, Part, PartTestTemplate
|
||||
from stock.models import StockItem, StockItemTestResult
|
||||
from users.models import Owner
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class BuildTestBase(TestCase):
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
"""App config for common app."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.apps import AppConfig
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.ready
|
||||
from common.settings import get_global_setting, set_global_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class CommonConfig(AppConfig):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Helper functions for currency support."""
|
||||
|
||||
import decimal
|
||||
import logging
|
||||
import math
|
||||
from typing import Optional
|
||||
|
||||
@@ -9,11 +8,12 @@ from django.core.cache import cache
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from moneyed import CURRENCIES
|
||||
|
||||
import InvenTree.helpers
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def currency_code_default():
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Icon utilities for InvenTree."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import TypedDict
|
||||
@@ -9,7 +8,9 @@ from typing import TypedDict
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.templatetags.static import static
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
_icon_packs = None
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@ import base64
|
||||
import hashlib
|
||||
import hmac
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import uuid
|
||||
from datetime import timedelta, timezone
|
||||
@@ -34,6 +33,7 @@ from django.urls import reverse
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from rest_framework.exceptions import PermissionDenied
|
||||
@@ -54,7 +54,7 @@ from generic.states import ColorEnum
|
||||
from generic.states.custom import state_color_mappings
|
||||
from InvenTree.sanitizer import sanitize_svg
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class MetaMixin(models.Model):
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Base classes and functions for notifications."""
|
||||
|
||||
import logging
|
||||
from dataclasses import dataclass
|
||||
from datetime import timedelta
|
||||
from typing import Optional
|
||||
@@ -9,6 +8,8 @@ from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
|
||||
import common.models
|
||||
import InvenTree.helpers
|
||||
from InvenTree.ready import isImportingData, isRebuildingData
|
||||
@@ -16,7 +17,7 @@ from plugin import registry
|
||||
from plugin.models import NotificationUserSetting, PluginConfig
|
||||
from users.models import Owner
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
# region methods
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Tasks (processes that get offloaded) for common app."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
from datetime import timedelta
|
||||
|
||||
@@ -11,13 +10,14 @@ from django.utils import timezone
|
||||
|
||||
import feedparser
|
||||
import requests
|
||||
import structlog
|
||||
|
||||
import InvenTree.helpers
|
||||
from InvenTree.helpers_model import getModelsWithMixin
|
||||
from InvenTree.models import InvenTreeNotesMixin
|
||||
from InvenTree.tasks import ScheduledTask, scheduled_task
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
@scheduled_task(ScheduledTask.DAILY)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
"""Model definitions for the 'importer' app."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
@@ -11,6 +10,7 @@ from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from rest_framework.exceptions import ValidationError as DRFValidationError
|
||||
|
||||
import importer.operations
|
||||
@@ -20,7 +20,7 @@ import importer.validators
|
||||
import InvenTree.helpers
|
||||
from importer.status_codes import DataImportStatusCode
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DataImportSession(models.Model):
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
"""Registry for supported serializers for data import operations."""
|
||||
|
||||
import logging
|
||||
|
||||
import structlog
|
||||
from rest_framework.serializers import Serializer
|
||||
|
||||
from importer.mixins import DataImportSerializerMixin
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DataImportSerializerRegister:
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
"""Task definitions for the 'importer' app."""
|
||||
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.helpers
|
||||
import InvenTree.tasks
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def import_data(session_id: int):
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Language: ar_SA\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "لم تتم الموافقة على نطاق البريد الإلكتر
|
||||
msgid "Registration is disabled."
|
||||
msgstr "التسجيل معطل."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "الوحدة المقدمة غير صالحة ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "لم يتم تقديم قيمة"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "تعذّر تحويل {original} إلى {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "الكمية المقدمة غير صحيحة"
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Language: bg_BG\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Въведеният домейн на електронната поща
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Регистрацията е деактивирана."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Не е зададена стойност"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Преобразуването на {original} в {unit} не беше успешно"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Въведена е недопустима стойност"
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Language: cs_CZ\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Zadaná e-mailová doména není povolena."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrace vypnuta."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Zadaná neplatná jednotka ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Není k dispozici žádná hodnota"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nelze převést {original} na {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Vyplněno neplatné množství"
|
||||
@@ -612,7 +612,7 @@ msgstr "Stahování obrázků ze vzdálené URL není povoleno"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Neznámá databáze"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Výsledek"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nový {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Byla vytvořena nová objednávka a přiřazena k vám"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} zrušeno"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Objednávka, která je vám přidělena, byla zrušena"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Množství musí být 1 pro serializovanou skladovou položku"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Prodejní objednávka neodpovídá zásilce"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Zásilka neodpovídá prodejní objednávce"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Vrácení peněz"
|
||||
msgid "Reject"
|
||||
msgstr "Odmítnout"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Opožděná prodejní objednávka"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Prodejní objednávka {so} je nyní opožděná"
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Činnost nebyla specifikována"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nebyla nalezena odpovídající činnost"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Pro data čárového kódu nebyla nalezena shoda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Pro data čárového kódu byla nalezena shoda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Čárový kód neodpovídá žádné existující skladové položce"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Skladová položka se neshoduje s řádkovou položkou"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Skladová položka byla přidělena prodejní objednávce"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da_DK\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Det angivne e-mail domæne er ikke godkendt."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering er deaktiveret."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ingen værdi angivet"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunne ikke konvertere {original} til {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ugyldigt antal angivet"
|
||||
@@ -612,7 +612,7 @@ msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ukendt database"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Refusion"
|
||||
msgid "Reject"
|
||||
msgstr "Afvis"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrierung ist deaktiviert."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ungültige Einheit angegeben ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Kein Wert angegeben"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Konnte {original} nicht in {unit} umwandeln"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Keine gültige Menge"
|
||||
@@ -612,7 +612,7 @@ msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Unbekannte Datenbank"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Ergebnis"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Neue {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} storniert"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artikel erhalten"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikel wurden aus einer Bestellung erhalten"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Artikel wurden aus einer Rücksendung erhalten"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Fehler in Plugin aufgetreten"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Auftrag gehört nicht zu Sendung"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Sendung gehört nicht zu Auftrag"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Rückerstattung"
|
||||
msgid "Reject"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Überfällige Bestellung"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Bestellung {po} ist jetzt überfällig"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Überfälliger Auftrag"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Auftrag {so} ist jetzt überfällig"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Inventurbericht verfügbar"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Benachrichtigungen über geringen Bestand"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Keine Aktion angegeben"
|
||||
msgid "No matching action found"
|
||||
msgstr "Keine passende Aktion gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Keine Treffer für Barcode"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Treffer für Barcode gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Barcode entspricht einem bereits vorhandenen Artikel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Keine passenden Teiledaten gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Keine passenden Zulieferteile gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Mehrere passende Zulieferteile gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Zulieferteil zugeordnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Artikel wurde bereits erhalten"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Mehrere passende Elemente gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Kein passendes Element gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Lagerartikel stimmt nicht mit dem Element überein"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Unzureichender Bestand verfügbar"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Lagerartikel der Bestellung zugeordnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Nicht genügend Informationen"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "Unterstützt das Scannen von TME-Barcodes"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Der Lieferant, der als 'TME' fungiert"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "Nur Mitarbeiter können Plugins verwalten"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "Plugin-Installation ist deaktiviert"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin wurde erfolgreich installiert"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin installiert in {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "Plugin wurde nicht in der Registry gefunden"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "Plugin ist kein gepacktes Plugin"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "Plugin-Paketname nicht gefunden"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "Plugin-Deinstallation ist deaktiviert"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "Plugin erfolgreich deinstallieren"
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Plugin"
|
||||
msgid "Method"
|
||||
msgstr "Methode"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Kein Autor gefunden"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Plugin benötigt mindestens Version {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Plugin benötigt maximal Version {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Language: el_GR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Η εγγραφή είναι απενεργοποιημένη."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Η μονάδα μέτρησης δεν είναι έγκυρη ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Δεν εισήχθη τιμή"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Μη έγκυρη ποσότητα"
|
||||
@@ -612,7 +612,7 @@ msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Άγνωστη βάση δεδομένων"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Επιστροφή χρημάτων"
|
||||
msgid "Reject"
|
||||
msgstr "Απόρριψη"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-31 12:14+0000\n"
|
||||
"POT-Creation-Date: 2025-01-05 03:59+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"
|
||||
@@ -70,21 +70,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -613,7 +613,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2061,37 +2061,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4593,7 +4593,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4956,20 +4956,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6296,11 +6296,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6317,83 +6317,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6761,52 +6761,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6862,21 +6862,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registro deshabilitado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidad proporcionada no válida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ningún valor proporcionado"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "No se pudo convertir {original} a {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Cantidad proporcionada no válida"
|
||||
@@ -612,7 +612,7 @@ msgstr "La descarga de imágenes desde la URL remota no está habilitada"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Error al descargar la imagen desde la URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de datos desconocida"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "¿El escaneo de código de barras fue exitoso?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuevo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Se ha creado un nuevo pedido y se le ha asignado"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artículos Recibidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de compra"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de devolución"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Error generado por el complemento"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "La orden de venta no coincide con el envío"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "El envío no coincide con el pedido de venta"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Reembolso"
|
||||
msgid "Reject"
|
||||
msgstr "Rechazo"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Orden de compra atrasada"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "La orden de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Orden de venta atrasada"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "La orden de venta {so} está atrasada"
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificación por bajo stock"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "No se especificó ninguna acción"
|
||||
msgid "No matching action found"
|
||||
msgstr "No se encontró ninguna acción coincidente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidencia encontrada para datos de códigos de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "El código de barras coincide con artículo existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Ningún pedido de venta proporcionado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr "El complemento no está instalado"
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr "Instalación del complemento no encontrada"
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Complemento"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "No se encontró autor"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "El complemento requiere al menos la versión {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "El complemento requiere como máximo la versión {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish, Mexico\n"
|
||||
"Language: es_MX\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registro deshabilitado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidad proporcionada no válida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ningún valor proporcionado"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "No se pudo convertir {original} a {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Cantidad proporcionada no válida"
|
||||
@@ -612,7 +612,7 @@ msgstr "La descarga de imágenes desde la URL remota no está habilitada"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Error al descargar la imagen desde la URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de datos desconocida"
|
||||
|
||||
@@ -647,11 +647,11 @@ msgstr "Construcción o Armado Superior"
|
||||
#: build/api.py:67 build/api.py:694 order/api.py:432 order/api.py:649
|
||||
#: order/api.py:1047 order/api.py:1267 stock/api.py:491
|
||||
msgid "Include Variants"
|
||||
msgstr ""
|
||||
msgstr "Incluye Variantes"
|
||||
|
||||
#: build/api.py:99
|
||||
msgid "Ancestor Build"
|
||||
msgstr ""
|
||||
msgstr "Construir antepasado"
|
||||
|
||||
#: build/api.py:119 order/api.py:100
|
||||
msgid "Assigned to me"
|
||||
@@ -1734,7 +1734,7 @@ msgstr "Archivo de imagen"
|
||||
|
||||
#: common/models.py:1640 common/models.py:1841
|
||||
msgid "Target model type for this image"
|
||||
msgstr ""
|
||||
msgstr "Tipo de modelo destino para esta imagen"
|
||||
|
||||
#: common/models.py:1644
|
||||
msgid "Target model ID for this image"
|
||||
@@ -1815,7 +1815,7 @@ msgstr "Tamaño del archivo en bytes"
|
||||
|
||||
#: common/models.py:1924 common/serializers.py:630
|
||||
msgid "Invalid model type specified for attachment"
|
||||
msgstr ""
|
||||
msgstr "Tipo de modelo no válido especificado para el archivo adjunto"
|
||||
|
||||
#: common/models.py:1945
|
||||
msgid "Custom State"
|
||||
@@ -1827,11 +1827,11 @@ msgstr "Estados personalizados"
|
||||
|
||||
#: common/models.py:1951
|
||||
msgid "Reference Status Set"
|
||||
msgstr ""
|
||||
msgstr "Conjunto de estado de referencia"
|
||||
|
||||
#: common/models.py:1952
|
||||
msgid "Status set that is extended with this custom state"
|
||||
msgstr ""
|
||||
msgstr "Conjunto de estado extendido con este estado personalizado"
|
||||
|
||||
#: common/models.py:1956 generic/states/serializers.py:18
|
||||
msgid "Logical Key"
|
||||
@@ -1839,7 +1839,7 @@ msgstr "Llave lógica"
|
||||
|
||||
#: common/models.py:1958
|
||||
msgid "State logical key that is equal to this custom state in business logic"
|
||||
msgstr ""
|
||||
msgstr "Clave lógica del estado que es igual a este estado personalizado en la lógica de negocios"
|
||||
|
||||
#: common/models.py:1963 common/models.py:2202 company/models.py:595
|
||||
#: report/templates/report/inventree_test_report.html:104 stock/models.py:2740
|
||||
@@ -1848,7 +1848,7 @@ msgstr "Valor"
|
||||
|
||||
#: common/models.py:1964
|
||||
msgid "Numerical value that will be saved in the models database"
|
||||
msgstr ""
|
||||
msgstr "Valor numérico que se guardará en la base de datos de modelos"
|
||||
|
||||
#: common/models.py:1970
|
||||
msgid "Name of the state"
|
||||
@@ -1877,7 +1877,7 @@ msgstr "Modelo"
|
||||
|
||||
#: common/models.py:1997
|
||||
msgid "Model this state is associated with"
|
||||
msgstr ""
|
||||
msgstr "Modelo con el que este estado está asociado"
|
||||
|
||||
#: common/models.py:2012
|
||||
msgid "Model must be selected"
|
||||
@@ -1893,15 +1893,15 @@ msgstr "La clave lógica debe ser seleccionada"
|
||||
|
||||
#: common/models.py:2022
|
||||
msgid "Key must be different from logical key"
|
||||
msgstr ""
|
||||
msgstr "La clave debe ser distinta de la clave lógica"
|
||||
|
||||
#: common/models.py:2029
|
||||
msgid "Valid reference status class must be provided"
|
||||
msgstr ""
|
||||
msgstr "Debe proporcionarse una clase de estado de referencia válida"
|
||||
|
||||
#: common/models.py:2035
|
||||
msgid "Key must be different from the logical keys of the reference status"
|
||||
msgstr ""
|
||||
msgstr "La clave debe ser distinta de las claves lógicas del estado de referencia"
|
||||
|
||||
#: common/models.py:2042
|
||||
msgid "Logical key must be in the logical keys of the reference status"
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "¿El escaneo de código de barras fue exitoso?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuevo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Se ha creado un nuevo pedido y se le ha asignado"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artículos Recibidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de compra"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de devolución"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Error generado por el complemento"
|
||||
|
||||
@@ -2823,11 +2823,11 @@ msgstr "Mostrar los artículos de stock instalados en las tablas de stock"
|
||||
|
||||
#: common/setting/system.py:692
|
||||
msgid "Check BOM when installing items"
|
||||
msgstr ""
|
||||
msgstr "Revisar BOM al instalar artículos"
|
||||
|
||||
#: common/setting/system.py:694
|
||||
msgid "Installed stock items must exist in the BOM for the parent part"
|
||||
msgstr ""
|
||||
msgstr "Los elementos de stock instalados deben existir en la BOM para la parte padre"
|
||||
|
||||
#: common/setting/system.py:700
|
||||
msgid "Allow Out of Stock Transfer"
|
||||
@@ -4592,7 +4592,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "La orden de venta no coincide con el envío"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "El envío no coincide con el pedido de venta"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Reembolso"
|
||||
msgid "Reject"
|
||||
msgstr "Rechazo"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Orden de compra atrasada"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "La orden de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Orden de venta atrasada"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "La orden de venta {so} está atrasada"
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificación por bajo stock"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "No se especificó ninguna acción"
|
||||
msgid "No matching action found"
|
||||
msgstr "No se encontró ninguna acción coincidente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidencia encontrada para datos de códigos de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "El código de barras coincide con artículo existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr "Ningún complemento coincide con el código de barras del proveedor"
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Ningún pedido de venta proporcionado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr "El complemento no está instalado"
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr "Instalación del complemento no encontrada"
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Complemento"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "No se encontró autor"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "El complemento requiere al menos la versión {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "El complemento requiere como máximo la versión {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Estonian\n"
|
||||
"Language: et_EE\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registreerimine on ajutiselt väljalülitatud."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ei tohi tühi olla"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Tundmatu andmebaas"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Language: fa_IR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "مقداری افزوده نشده"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است"
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Language: fi_FI\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Arvoa ei annettu"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Annettu määrä on virheellinen"
|
||||
@@ -612,7 +612,7 @@ msgstr "Kuvien lataaminen ei ole käytössä"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Uusi {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-31 01:37\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "L'enregistrement est désactivé."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unité fournie invalide ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Pas de valeur renseignée"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Impossible de convertir {original} en {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantité fournie invalide"
|
||||
@@ -612,7 +612,7 @@ msgstr "Le téléchargement des images depuis une URL distante n'est pas activé
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de données inconnue"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Résultat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nouveau {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Une nouvelle commande a été créée et vous a été assignée"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} annulé"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Une commande qui vous est assignée a été annulée"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Articles reçus"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Des articles d'un bon de commande ont été reçus"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Erreur déclenchée par le plugin"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Remboursement"
|
||||
msgid "Reject"
|
||||
msgstr "Refuser"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notification de stock faible"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Le stock disponible pour {part.name}, est tombé en dessous du niveau minimum configuré"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Aucune action spécifiée"
|
||||
msgid "No matching action found"
|
||||
msgstr "Aucune action correspondante trouvée"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Aucune correspondance trouvée pour les données du code-barres"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Correspondance trouvée pour les données du code-barres"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Extension"
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Language: he_IL\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "סופקה יחידה שלא קיימת ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "לא צוין ערך"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "לא פורטה הפעולה"
|
||||
msgid "No matching action found"
|
||||
msgstr "פעולה מבוקשת לא נמצאה"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Language: hi_IN\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: hu_HU\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "A megadott email domain nincs jóváhagyva."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Regisztráció le van tiltva."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Érvénytelen mennyiségi egység ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nincs érték megadva"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} átváltása {unit}-ra sikertelen"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Nem megfelelő mennyiség"
|
||||
@@ -612,7 +612,7 @@ msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ismeretlen adatbázis"
|
||||
|
||||
@@ -2061,37 +2061,37 @@ msgstr "Eredmény"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Új {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Egy új megrendelés létrehozva, és hozzád rendelve"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} megszakítva"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Egy hozzád rendelt megrendelés megszakítva"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Készlet érkezett"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Készlet érkezett egy beszerzési megrendeléshez"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Készlet érkezett vissza egy visszavétel miatt"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Plugin hiba"
|
||||
|
||||
@@ -4593,7 +4593,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
|
||||
|
||||
@@ -4956,20 +4956,20 @@ msgstr "Visszatérítés"
|
||||
msgid "Reject"
|
||||
msgstr "Elutasított"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Késésben lévő beszerzés"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "A {po} beszerzési rendelés most már késésben van"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Késésben lévő vevői rendelés"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "A {so} vevői rendelés most már késésben van"
|
||||
@@ -6296,11 +6296,11 @@ msgstr "Leltár riport rendelkezésre áll"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Egy új leltár riport készen áll a letöltésre"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Alacsony készlet értesítés"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent"
|
||||
@@ -6317,83 +6317,83 @@ msgstr "Nincs megadva művelet"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nincs egyező művelet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nincs egyező vonalkód"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Egyezés vonalkódra"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr "Model nem támogatott"
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr "Model példány hiányzik"
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Ez a vonalkód már egy másik tételé"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Nem található megfelelő alkatrész adat"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Nem található megfelelő beszállítói alkatrész"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Több beszállítói alkatrész található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Beszállítói alkatrész található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Ez a termék már bevételezve"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Több egyező sortétel is található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Nincs egyező sortétel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Készlet tétel nem egyezik a sortétellel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Nincs elegendő"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Készlet tétel lefoglalva egy vevői rendeléshez"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Nincs elég információ"
|
||||
|
||||
@@ -6761,52 +6761,52 @@ msgstr "TME vonalkódok támogatása"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "A 'TME' beszállító"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "Plugin telepítés letiltva"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin telepítése sikeres"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin telepítve ide: {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "Ez a plugin nem található a tárolóban"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "A plugin nem egy csomagolt plugin"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "Plugin csomag neve nem található"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "Plugin eltávolítás letiltva"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "Plugin nem eltávolítható mivel még aktív"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "Plugin eltávolítása sikeres"
|
||||
|
||||
@@ -6862,21 +6862,21 @@ msgstr "Bővítmény"
|
||||
msgid "Method"
|
||||
msgstr "Módszer"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nincs szerző"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "A pluginhoz minimum {v} verzió kell"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "A pluginhoz maximum {v} verzió kell"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Language: id_ID\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Domain surel yang diberikan tidak perbolehkan."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nilai tidak tersedia"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Jumlah yang diberikan tidak valid"
|
||||
@@ -612,7 +612,7 @@ msgstr "Unduhan gambar dari URL external tidak aktif"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Barang diterima"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr "Tolak"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Tidak ada tindakan yang ditentukan"
|
||||
msgid "No matching action found"
|
||||
msgstr "Aksi tidak ditemukan"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Tidak cukup informasi"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "La registrazione è disabilitata."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unità fornita non valida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nessun valore specificato"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Impossibile convertire {original} in {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantità inserita non valida"
|
||||
@@ -612,7 +612,7 @@ msgstr "Il download delle immagini da URL remoto non è abilitato"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Impossibile scaricare l'immagine dall'URL remoto"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Database sconosciuto"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Risultato"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "La scansione del codice a barre è riuscita?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuovo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Un nuovo ordine è stato creato e assegnato a te"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Elemento ricevuto"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Errore generato dal plugin"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "La quantità deve essere 1 per l'elemento serializzato"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "L'ordine di vendita non corrisponde alla spedizione"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "La spedizione non corrisponde all'ordine di vendita"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Rimborso"
|
||||
msgid "Reject"
|
||||
msgstr "Rifiuta"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Ordine D'Acquisto in ritardo"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "L'ordine d'acquisto {po} è in ritardo"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Ordini Di Vendita in ritardo"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "L'ordine di vendita {so} è ora in ritardo"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Report Inventario Disponibile"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Un nuovo report di inventario è disponibile per il download"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notifica di magazzino bassa"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Nessuna azione specificata"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nessuna azione corrispondente trovata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nessuna corrispondenza trovata per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Corrispondenza trovata per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Il codice a barre corrisponde a un elemento esistente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "Nessuna plugin corrispondente trovato per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Nessun ordine di vendita fornito"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Scorte insufficienti disponibili"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr "Metodo"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nessun autore trovato"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko_KR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Language: lt_LT\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Latvian\n"
|
||||
"Language: lv_LV\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Norādītais e-pasta domēns nav apstiprināts."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Reģistrācija ir izslēgta."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Norādīta nederīga vienība ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nav norādīta vērtība"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nevarēja konvertēt {original} par {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Norādītais daudzums nav derīgs"
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Language: nl_NL\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registratie is uitgeschakeld."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ongeldige eenheid opgegeven ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Geen waarde opgegeven"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} kon niet worden omgezet naar {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ongeldige hoeveelheid ingevoerd"
|
||||
@@ -612,7 +612,7 @@ msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Fout bij het downloaden van afbeelding van externe URL"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Onbekende database"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Resultaat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "Was de barcode succesvol gescand?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nieuw: {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Een nieuwe order is aangemaakt en aan u toegewezen"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikelen zijn ontvangen tegen een inkooporder"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Verkooporder komt niet overeen met zending"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Verzending komt niet overeen met verkooporder"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Restitutie"
|
||||
msgid "Reject"
|
||||
msgstr "Afwijzen"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Achterstallige inkooporder"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Inkooporder {po} is nu achterstallig"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Achterstallige Verkooporder"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Verkooporder {so} is nu achterstallig"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Voorraadcontrole rapport beschikbaar"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Een nieuwe voorraadrapportage is beschikbaar voor download"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Lage voorraad melding"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "De beschikbare voorraad voor {part.name} is onder het ingestelde minimumniveau gedaald"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Geen actie gespecificeerd"
|
||||
msgid "No matching action found"
|
||||
msgstr "Geen overeenkomende actie gevonden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Geen overeenkomst gevonden voor streepjescodegegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Overeenkomst gevonden voor streepjescodegegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "Geen overeenkomende plug-in gevonden voor barcode gegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Geen verkooporder opgegeven"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Voorraad item komt niet overeen met regelitem"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Onvoldoende voorraad beschikbaar"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Voorraad item toegewezen aan verkooporder"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Language: no_NO\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering er deaktivert."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ugyldig enhet angitt ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ingen verdi angitt"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunne ikke konvertere {original} til {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ugyldig mengde oppgitt"
|
||||
@@ -612,7 +612,7 @@ msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ukjent database"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Resultat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Ny {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "En ny ordre har blitt opprettet og tilordnet til deg"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} kansellert"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "En ordre som er tildelt til deg ble kansellert"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artikler mottatt"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikler har blitt mottatt mot en innkjøpsordre"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Artikler har blitt mottatt mot en returordre"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Feil oppstått i utvidelse"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Antall må være 1 for serialisert lagervare"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Salgsordre samsvarer ikke med forsendelse"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Forsendelsen samsvarer ikke med salgsordre"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Refusjon"
|
||||
msgid "Reject"
|
||||
msgstr "Avvis"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Forfalt Innkjøpsordre"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Innkjøpsordre {po} er nå forfalt"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Forfalt Salgsordre"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Salgsordre {so} er nå forfalt"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Lagertellingsrapport tilgjengelig"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Varsel om lav lagerbeholdning"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Ingen handling spesifisert"
|
||||
msgid "No matching action found"
|
||||
msgstr "Ingen samsvarende handling funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Ingen treff funnet for strekkodedata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Treff funnet for strekkodedata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Strekkode samsvarer med ekisterende element"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Ingen samsvarende del-data funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Finner ingen matchende leverandørdeler"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Flere samsvarende leverandørdeler funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Fant leverandørdel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Artikkelen er allerede mottatt"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Flere samsvarende elementer funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Ingen samsvarende element funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Strekkoden samsvarer ikke med eksisterende lagervare"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Lagervare samsvarer ikke med linjeelement"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Utilstrekkelig lagerbeholdning"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Lagervaren er tildelt en salgsordre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Ikke nok informasjon"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "Gir støtte for å skanne TME-strekkoder"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Leverandøren som fungerer som \"TME\""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Installasjon av utvidelse vellykket"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Installerte utvidelsen til {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Utvidelse"
|
||||
msgid "Method"
|
||||
msgstr "Metode"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Ingen forfatter funnet"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Utvidelsen krever minst versjon {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Utvidelsen krever maks versjon {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Podany e-mail domeny nie został zatwierdzony."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Rejestracja jest wyłączona."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Nieprawidłowa jednostka ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nie podano wartości"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nie udało się przeliczyć {original} na {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Podano nieprawidłową ilość"
|
||||
@@ -612,7 +612,7 @@ msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Nieznana baza danych"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Wynik"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Zwrot pieniędzy"
|
||||
msgid "Reject"
|
||||
msgstr "Odrzuć"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Zaległe zlecenie zakupu"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Zlecenie zakupu {po} jest teraz zaległe"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Nie określono działania"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nie znaleziono pasującej akcji"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nie znaleziono wyników dla danych kodu kreskowego"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Znaleziono wyniki dla danych kodu kreskowego"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Kod kreskowy pasuje do istniejącego elementu"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Wtyczka"
|
||||
msgid "Method"
|
||||
msgstr "Metoda"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nie znaleziono autora"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt_PT\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "O domínio de e-mail providenciado não foi aprovado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Cadastro está desativado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidade inválida fornecida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nenhum valor fornecido"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Não foi possível converter {original} para {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantidade fornecida inválida"
|
||||
@@ -612,7 +612,7 @@ msgstr "Baixar imagens de URL remota não está habilitado"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Banco de dados desconhecido"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Novo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Um novo pedido foi criado e atribuído a você"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Um pedido atribuído a você foi cancelado"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Itens Recebidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Os itens de um pedido de compra foram recebidos"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Os itens de um pedido de devolução foram recebidos"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Erro criado pela extensão"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Quantidade deve ser 1 para item de estoque serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Pedidos de venda não coincidem com a remessa"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Remessa não coincide com pedido de venda"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Reembolsar"
|
||||
msgid "Reject"
|
||||
msgstr "Recusar"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Pedido de compra vencido"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Pedido de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Pedido de venda vencido"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Pedido de venda {so} está atrasada"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Balanço de Estoque Disponível"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Um novo relatório de balanço do estoque está disponível para baixar"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificação de estoque baixo"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Nenhuma ação especificada"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nenhuma ação correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nenhum resultado encontrado para os dados do código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidência encontrada para dados de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Código de barras corresponde ao item existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Nenhuma informação de peça correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Nenhuma peça de fornecedor correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Múltiplas peças de fornecedores correspondentes encontradas"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Peça de fornecedor correspondente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Item do pedido já foi recebido"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Diversos itens de linha correspondentes encontrados"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Nenhum item de linha correspondente encontrado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Código de barras não corresponde a item de estoque válido"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Item do estoque não corresponde ao item de linha"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Estoque insuficiente disponível"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Item de estoque atribuído para pedido de venda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Não há informação suficiente"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "Fornece suporte para escanear códigos de barras TME"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "O fornecedor que atua como 'TME'"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin instalado com sucesso"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin instalado na {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Extensões"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nenhum autor encontrado"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Extensão requer pelo menos a versão {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Extensão requer no máximo a versão {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt_BR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Falha ao baixar a imagem da URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Romanian\n"
|
||||
"Language: ro_RO\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru_RU\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Указанный домен электронной почты не у
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Регистрация отключена."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Предоставлено недопустимое значение ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Значение не указано"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Невозможно преобразовать {original} в {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "недопустимое количество"
|
||||
@@ -612,7 +612,7 @@ msgstr "Загрузка изображений с удаленного URL-ад
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Неизвестная база данных"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Результат"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Полученные элементы"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Количество должно быть 1 для сериализир
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Возврат"
|
||||
msgid "Reject"
|
||||
msgstr "Отклонить"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Просроченные заказы на закупку"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Просроченные заказы на продажу"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Действие не указано"
|
||||
msgid "No matching action found"
|
||||
msgstr "Соответствующее действие не найдено"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Не найдено совпадений для данных штрих-кода"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Найдено совпадение по штрих-коду"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Штрих-код не соответствует существующим складским позициям"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Складская позиция не соответствует позиции"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Складская позиция зарезервирована заказом на продажу"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Плагин"
|
||||
msgid "Method"
|
||||
msgstr "Метод"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Автор не найден"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Language: sk_SK\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Language: sl_SI\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Domena epošte ni podprta."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registracija je onemogočena."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Vnesena napačna enota ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Vrednost ni vnesena"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Ni mogoče pretvoriti {original} v {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Podana napačna količina"
|
||||
@@ -612,7 +612,7 @@ msgstr "Prenos slik iz oddaljene povezave ni omogočen"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Neznana podatkovna baza"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Serbian (Latin)\n"
|
||||
"Language: sr_CS\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Navedeni domen adrese e-pošte nije prihvaćen."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registracija je onemogućena."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nije navedena vrednost"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nije moguće konvertovati {original} u {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Isporučena nevažeća količina"
|
||||
@@ -612,7 +612,7 @@ msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv_SE\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Den angivna e-postdomänen är inte godkänd."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering är stängd."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ogiltig enhet angiven ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Inget värde angivet"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunde inte konvertera {original} till {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ogiltigt antal angivet"
|
||||
@@ -612,7 +612,7 @@ msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Okänd databas"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Återbetala"
|
||||
msgid "Reject"
|
||||
msgstr "Avvisa"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Ingen åtgärd specificerad"
|
||||
msgid "No matching action found"
|
||||
msgstr "Ingen matchande åtgärd hittades"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Language: th_TH\n"
|
||||
@@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Language: tr_TR\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Sağlanan e-posta alanı onaylanmadı."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Kayıt devre dışı."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Geçersiz ürün girildi ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Değer verilmemiş"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} birimi {unit} birimine dönüştürülemedi"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Geçersiz veri sağlandı"
|
||||
@@ -612,7 +612,7 @@ msgstr "Uzak URL'den resim indirmek etkinleştirilmedi"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Bilinmeyen veritabanı"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Yeni {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} iptal edildi"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Size atanmış bir emir iptal edildi"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Alınan Ürünler"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr "İşlem belirtilmedi"
|
||||
msgid "No matching action found"
|
||||
msgstr "Eşleşen eylem bulunamadı"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Barkod verisi için eşleşme bulunamadı"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Barkod verisi için eşleşme bulundu"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Language: uk_UA\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Наданий домен електронної пошти не зат
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Реєстрацію вимкнено."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Значення не вказане"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Не вдалося перетворити {original} на {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Невірна кількість"
|
||||
@@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Language: vi_VN\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "Miền email được cung cấp không được phê duyệt."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Đăng ký bị vô hiệu hóa."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Đơn vị không hợp lệ ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Chưa cung cấp giá trị"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Không thể chuyển đổi {original} sang {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Số lượng cung cấp không hợp lệ"
|
||||
@@ -612,7 +612,7 @@ msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bậ
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Không rõ cơ sở dữ liệu"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "Kết quả"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Mới {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Một đơn đặt hàng mới đã được tạo và phân công cho bạn"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} đã bị hủy"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Mục đã nhận"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Hàng đã được nhận theo đơn đặt mua"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Hàng đã nhận theo đơn hàng trả lại"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Lỗi được thông báo bởi phần mở rộng"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "Số lượng phải là 1 cho hàng hóa sêri"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Đơn bán hàng không phù hợp với vận đơn"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Vận đơn không phù hợp với đơn bán hàng"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "Hoàn tiền"
|
||||
msgid "Reject"
|
||||
msgstr "Từ chối"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Đơn đặt mua quá hạn"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Đơn đặt mua {po} quá hạn"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Đơn bán hàng quá hạn"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Đơn bán hàng {so} đã quá hạn"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "Báo cáo kiểm kê có sẵn"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Có sẵn một báo cáo kiểm kê mới để tải về"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Thông báo sắp hết hàng"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "Chưa chỉ ra hành động cụ thể"
|
||||
msgid "No matching action found"
|
||||
msgstr "Không tìm thấy chức năng phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Không tìm thấy dữ liệu mã vạch phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Mã vạch phù hợp với hàng hóa hiện có"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Không tìm thấy thông tin sản phẩm phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Không tìm thấy sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Hàng hóa này đã được nhận"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Kho không đủ hạn mức khả dụng"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Không đủ thông tin"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "Cung cấp khả năng quét mã vạch TME"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Nhà cung cấp hoạt động như 'TME'"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Cài đặt phần mở rộng thành công"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Cài đặt phần bổ sung đến {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "Phần bổ sung"
|
||||
msgid "Method"
|
||||
msgstr "Phương thức"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Không tìm thấy tác giả"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Simplified\n"
|
||||
"Language: zh_CN\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "提供的邮箱域名未被批准。"
|
||||
msgid "Registration is disabled."
|
||||
msgstr "注册已禁用。"
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "提供了无效的单位 ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "没有提供数值"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "不能将 {original} 转换到 {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "提供的数量无效"
|
||||
@@ -612,7 +612,7 @@ msgstr "未启用从远程 URL下载图片"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "从远程URL下载图像失败"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "未知的資料庫"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "结果"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "条码扫描成功吗?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "新建{verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "新订单已创建并分配给您"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} 已取消"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "分配给您的订单已取消"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "收到的物品"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "已根据采购订单收到物品"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "已收到退货订单中的物品"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "插件引发的错误"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "序列化库存项目的数量必须为1"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "销售订单与发货不匹配"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "发货与销售订单不匹配"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "退款"
|
||||
msgid "Reject"
|
||||
msgstr "拒絕"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "逾期采购订单"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "采购订单 {po} 已逾期"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "逾期销售订单"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "销售订单 {so} 已逾期"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "库存盘点报告可用"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "有新的库存盘点报告可供下载"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "低库存通知"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "可用的 {part.name}库存已经跌到设置的最低值"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "未指定操作"
|
||||
msgid "No matching action found"
|
||||
msgstr "未找到指定操作"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "未找到匹配条形码数据"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "找到匹配条形码数据"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr "不支持模型"
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr "找不到模型实例"
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "条形码匹配现有项目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "没有找到匹配的零件数据"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "没有找到匹配的供应商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "找到多个匹配的供应商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "没有找到匹配条形码数据的插件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "匹配的供应商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "项目已被接收"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "找到多个匹配的行项目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "未找到匹配的行项目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "未提供销售订单"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "条形码与现有的库存项不匹配"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "库存项与行项目不匹配"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "可用库存不足"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "库存项已分配到销售订单"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "没有足够的信息"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "为扫描 TME 条形码提供支持"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "作为‘TME’的供应商"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "只有员工用户可以管理插件"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "插件安装已禁用"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "插件安装成功"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "插件安装到 {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "在插件仓库中找不到插件"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "插件不是一个打包的插件"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "找不到插件包名称"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "插件卸载已禁用"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "插件无法卸载,因为它目前处于激活状态"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "插件卸载成功"
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "插件"
|
||||
msgid "Method"
|
||||
msgstr "方法"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "未找到作者"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "插件 '{p}' 与当前 InvenTree 版本{v} 不兼容"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "插件所需最低版本 {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "插件所需最高版本 {v}"
|
||||
|
||||
@@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Chinese Traditional\n"
|
||||
"Language: zh_TW\n"
|
||||
@@ -69,21 +69,21 @@ msgstr "提供的郵箱域名未被批准。"
|
||||
msgid "Registration is disabled."
|
||||
msgstr "註冊已禁用。"
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "提供了無效的單位 ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "沒有提供數值"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "不能將 {original} 轉換到 {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "提供的數量無效"
|
||||
@@ -612,7 +612,7 @@ msgstr "未啓用從遠程 URL下載圖片"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "從遠程URL下載圖像失敗"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "未知的資料庫"
|
||||
|
||||
@@ -2060,37 +2060,37 @@ msgstr "結果"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "條碼掃描成功嗎?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "新建{verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "新訂單已創建並分配給您"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} 已取消"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "分配給您的訂單已取消"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "收到的物品"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "已根據採購訂單收到物品"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "已收到退貨訂單中的物品"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "插件引發的錯誤"
|
||||
|
||||
@@ -4592,7 +4592,7 @@ msgstr "序列化庫存項目的數量必須為1"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "銷售訂單與發貨不匹配"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "發貨與銷售訂單不匹配"
|
||||
|
||||
@@ -4955,20 +4955,20 @@ msgstr "退款"
|
||||
msgid "Reject"
|
||||
msgstr "拒絕"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "逾期採購訂單"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "採購訂單 {po} 已逾期"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "逾期銷售訂單"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "銷售訂單 {so} 已逾期"
|
||||
@@ -6295,11 +6295,11 @@ msgstr "庫存盤點報告可用"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "有新的庫存盤點報告可供下載"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "低庫存通知"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "可用的 {part.name}庫存已經跌到設置的最低值"
|
||||
@@ -6316,83 +6316,83 @@ msgstr "未指定操作"
|
||||
msgid "No matching action found"
|
||||
msgstr "未找到指定操作"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "未找到匹配條形碼數據"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "找到匹配條形碼數據"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr "不支持模型"
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr "找不到模型實例"
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "條形碼匹配現有項目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "沒有找到匹配的零件數據"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "沒有找到匹配的供應商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "找到多個匹配的供應商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "沒有找到匹配條碼數據的插件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "匹配的供應商零件"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "項目已被接收"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "找到多個匹配的行項目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "未找到匹配的行項目"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "未提供銷售訂單"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "條形碼與現有的庫存項不匹配"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "庫存項與行項目不匹配"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "可用庫存不足"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "庫存項已分配到銷售訂單"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "沒有足夠的信息"
|
||||
|
||||
@@ -6760,52 +6760,52 @@ msgstr "為掃描 TME 條形碼提供支持"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "作為‘TME’的供應商"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "只有員工用户可以管理插件"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "插件安裝已禁用"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "插件安裝成功"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "插件安裝到 {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "在插件倉庫中找不到插件"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "插件不是一個打包的插件"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "找不到插件包名稱"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "插件卸載已禁用"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "插件無法卸載,因為它目前處於激活狀態"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "插件卸載成功"
|
||||
|
||||
@@ -6861,21 +6861,21 @@ msgstr "插件"
|
||||
msgid "Method"
|
||||
msgstr "方法"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "未找到作者"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "插件 '{p}' 與當前 InvenTree 版本{v} 不兼容"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "插件所需最低版本 {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "插件所需最高版本 {v}"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
"""Django machine app config."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.apps import AppConfig
|
||||
from django.db.utils import OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.ready import (
|
||||
canAppAccessDatabase,
|
||||
isImportingData,
|
||||
@@ -13,7 +13,7 @@ from InvenTree.ready import (
|
||||
isRunningMigrations,
|
||||
)
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class MachineConfig(AppConfig):
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
"""Machine registry."""
|
||||
|
||||
import logging
|
||||
from typing import Union, cast
|
||||
from uuid import UUID
|
||||
|
||||
from django.core.cache import cache
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.helpers_mixin import get_shared_class_instance_state_mixin
|
||||
from machine.machine_type import BaseDriver, BaseMachineType
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class MachineRegistry(
|
||||
|
||||
@@ -5,6 +5,7 @@ from typing import cast
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import authenticate, login
|
||||
from django.contrib.auth.models import User
|
||||
from django.db.models import F, Q
|
||||
from django.http.response import JsonResponse
|
||||
from django.urls import include, path, re_path
|
||||
@@ -75,6 +76,24 @@ class GeneralExtraLineList(DataExportViewMixin):
|
||||
filterset_fields = ['order']
|
||||
|
||||
|
||||
class OrderCreateMixin:
|
||||
"""Mixin class which handles order creation via API."""
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""Save user information on order creation."""
|
||||
serializer = self.get_serializer(data=self.clean_data(request.data))
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
item = serializer.save()
|
||||
item.created_by = request.user
|
||||
item.save()
|
||||
|
||||
headers = self.get_success_headers(serializer.data)
|
||||
return Response(
|
||||
serializer.data, status=status.HTTP_201_CREATED, headers=headers
|
||||
)
|
||||
|
||||
|
||||
class OrderFilter(rest_filters.FilterSet):
|
||||
"""Base class for custom API filters for the OrderList endpoint."""
|
||||
|
||||
@@ -150,6 +169,10 @@ class OrderFilter(rest_filters.FilterSet):
|
||||
queryset=Owner.objects.all(), field_name='responsible', label=_('Responsible')
|
||||
)
|
||||
|
||||
created_by = rest_filters.ModelChoiceFilter(
|
||||
queryset=User.objects.all(), field_name='created_by', label=_('Created By')
|
||||
)
|
||||
|
||||
created_before = InvenTreeDateFilter(
|
||||
label=_('Created Before'), field_name='creation_date', lookup_expr='lt'
|
||||
)
|
||||
@@ -266,7 +289,9 @@ class PurchaseOrderMixin:
|
||||
return queryset
|
||||
|
||||
|
||||
class PurchaseOrderList(PurchaseOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
class PurchaseOrderList(
|
||||
PurchaseOrderMixin, OrderCreateMixin, DataExportViewMixin, ListCreateAPI
|
||||
):
|
||||
"""API endpoint for accessing a list of PurchaseOrder objects.
|
||||
|
||||
- GET: Return list of PurchaseOrder objects (with filters)
|
||||
@@ -308,6 +333,7 @@ class PurchaseOrderList(PurchaseOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
|
||||
ordering_fields = [
|
||||
'creation_date',
|
||||
'created_by',
|
||||
'reference',
|
||||
'supplier__name',
|
||||
'target_date',
|
||||
@@ -728,7 +754,9 @@ class SalesOrderMixin:
|
||||
return queryset
|
||||
|
||||
|
||||
class SalesOrderList(SalesOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
class SalesOrderList(
|
||||
SalesOrderMixin, OrderCreateMixin, DataExportViewMixin, ListCreateAPI
|
||||
):
|
||||
"""API endpoint for accessing a list of SalesOrder objects.
|
||||
|
||||
- GET: Return list of SalesOrder objects (with filters)
|
||||
@@ -737,20 +765,6 @@ class SalesOrderList(SalesOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
|
||||
filterset_class = SalesOrderFilter
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""Save user information on create."""
|
||||
serializer = self.get_serializer(data=self.clean_data(request.data))
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
item = serializer.save()
|
||||
item.created_by = request.user
|
||||
item.save()
|
||||
|
||||
headers = self.get_success_headers(serializer.data)
|
||||
return Response(
|
||||
serializer.data, status=status.HTTP_201_CREATED, headers=headers
|
||||
)
|
||||
|
||||
def filter_queryset(self, queryset):
|
||||
"""Perform custom filtering operations on the SalesOrder queryset."""
|
||||
queryset = super().filter_queryset(queryset)
|
||||
@@ -777,6 +791,7 @@ class SalesOrderList(SalesOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
|
||||
ordering_fields = [
|
||||
'creation_date',
|
||||
'created_by',
|
||||
'reference',
|
||||
'customer__name',
|
||||
'customer_reference',
|
||||
@@ -1345,25 +1360,13 @@ class ReturnOrderMixin:
|
||||
return queryset
|
||||
|
||||
|
||||
class ReturnOrderList(ReturnOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
class ReturnOrderList(
|
||||
ReturnOrderMixin, OrderCreateMixin, DataExportViewMixin, ListCreateAPI
|
||||
):
|
||||
"""API endpoint for accessing a list of ReturnOrder objects."""
|
||||
|
||||
filterset_class = ReturnOrderFilter
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""Save user information on create."""
|
||||
serializer = self.get_serializer(data=self.clean_data(request.data))
|
||||
serializer.is_valid(raise_exception=True)
|
||||
|
||||
item = serializer.save()
|
||||
item.created_by = request.user
|
||||
item.save()
|
||||
|
||||
headers = self.get_success_headers(serializer.data)
|
||||
return Response(
|
||||
serializer.data, status=status.HTTP_201_CREATED, headers=headers
|
||||
)
|
||||
|
||||
filter_backends = SEARCH_ORDER_FILTER_ALIAS
|
||||
|
||||
ordering_field_aliases = {
|
||||
@@ -1373,6 +1376,7 @@ class ReturnOrderList(ReturnOrderMixin, DataExportViewMixin, ListCreateAPI):
|
||||
|
||||
ordering_fields = [
|
||||
'creation_date',
|
||||
'created_by',
|
||||
'reference',
|
||||
'customer__name',
|
||||
'customer_reference',
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Order model definitions."""
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
|
||||
@@ -15,6 +14,7 @@ from django.dispatch.dispatcher import receiver
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from djmoney.money import Money
|
||||
@@ -58,7 +58,7 @@ from part import models as PartModels
|
||||
from plugin.events import trigger_event
|
||||
from stock.status_codes import StockHistoryCode, StockStatus
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class TotalPriceMixin(models.Model):
|
||||
|
||||
@@ -50,6 +50,7 @@ from InvenTree.serializers import (
|
||||
InvenTreeModelSerializer,
|
||||
InvenTreeMoneySerializer,
|
||||
NotesFieldMixin,
|
||||
UserSerializer,
|
||||
)
|
||||
from order.status_codes import (
|
||||
PurchaseOrderStatusGroups,
|
||||
@@ -158,6 +159,8 @@ class AbstractOrderSerializer(DataImportExportSerializerMixin, serializers.Seria
|
||||
required=False, allow_null=True, label=_('Creation Date')
|
||||
)
|
||||
|
||||
created_by = UserSerializer(read_only=True)
|
||||
|
||||
duplicate = DuplicateOrderSerializer(
|
||||
label=_('Duplicate Order'),
|
||||
help_text=_('Specify options for duplicating this order'),
|
||||
@@ -174,6 +177,7 @@ class AbstractOrderSerializer(DataImportExportSerializerMixin, serializers.Seria
|
||||
def annotate_queryset(queryset):
|
||||
"""Add extra information to the queryset."""
|
||||
queryset = queryset.annotate(line_items=SubqueryCount('lines'))
|
||||
queryset = queryset.select_related('created_by')
|
||||
|
||||
return queryset
|
||||
|
||||
@@ -183,6 +187,7 @@ class AbstractOrderSerializer(DataImportExportSerializerMixin, serializers.Seria
|
||||
return [
|
||||
'pk',
|
||||
'creation_date',
|
||||
'created_by',
|
||||
'target_date',
|
||||
'description',
|
||||
'line_items',
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
"""Background tasks for the 'order' app."""
|
||||
|
||||
import logging
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import transaction
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
|
||||
import common.notifications
|
||||
import InvenTree.helpers_model
|
||||
import order.models
|
||||
@@ -15,7 +16,7 @@ from order.events import PurchaseOrderEvents, SalesOrderEvents
|
||||
from order.status_codes import PurchaseOrderStatusGroups, SalesOrderStatusGroups
|
||||
from plugin.events import trigger_event
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def notify_overdue_purchase_order(po: order.models.PurchaseOrder):
|
||||
|
||||
@@ -255,7 +255,10 @@ class PurchaseOrderTest(OrderTest):
|
||||
|
||||
order = models.PurchaseOrder.objects.get(pk=response.data['pk'])
|
||||
|
||||
self.assertEqual(order.reference, 'PO-92233720368547758089999999999999999')
|
||||
# Check that the created_by field is set correctly
|
||||
self.assertEqual(order.created_by.username, 'testuser')
|
||||
|
||||
self.assertEqual(order.reference, huge_number)
|
||||
self.assertEqual(order.reference_int, 0x7FFFFFFF)
|
||||
|
||||
def test_po_reference_wildcard_default(self):
|
||||
@@ -1407,6 +1410,11 @@ class SalesOrderTest(OrderTest):
|
||||
# Grab the PK for the newly created SalesOrder
|
||||
pk = response.data['pk']
|
||||
|
||||
# Basic checks against the newly created SalesOrder
|
||||
so = models.SalesOrder.objects.get(pk=pk)
|
||||
self.assertEqual(so.reference, 'SO-12345')
|
||||
self.assertEqual(so.created_by.username, 'testuser')
|
||||
|
||||
# Try to create a SO with identical reference (should fail)
|
||||
response = self.post(
|
||||
url,
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
"""part app specification."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.apps import AppConfig
|
||||
from django.db.utils import OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.ready
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class PartConfig(AppConfig):
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
"""Various helper functions for the part app."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
from django.conf import settings
|
||||
|
||||
import structlog
|
||||
from jinja2 import Environment, select_autoescape
|
||||
|
||||
from common.settings import get_global_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
# Compiled template for rendering the 'full_name' attribute of a Part
|
||||
|
||||
@@ -5,7 +5,6 @@ from __future__ import annotations
|
||||
import decimal
|
||||
import hashlib
|
||||
import inspect
|
||||
import logging
|
||||
import math
|
||||
import os
|
||||
import re
|
||||
@@ -25,6 +24,7 @@ from django.dispatch import receiver
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_cleanup import cleanup
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
@@ -67,7 +67,7 @@ from order.status_codes import (
|
||||
)
|
||||
from stock import models as StockModels
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class PartCategory(InvenTree.models.InvenTreeTree):
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import imghdr
|
||||
import io
|
||||
import logging
|
||||
import os
|
||||
from decimal import Decimal
|
||||
|
||||
@@ -15,6 +14,7 @@ from django.db.models.functions import Coalesce
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from rest_framework import serializers
|
||||
@@ -56,7 +56,7 @@ from .models import (
|
||||
PartTestTemplate,
|
||||
)
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
@register_importer()
|
||||
@@ -682,7 +682,7 @@ class PartSerializer(
|
||||
Used when displaying all details of a single component.
|
||||
"""
|
||||
|
||||
import_exclude_fields = ['duplicate']
|
||||
import_exclude_fields = ['duplicate', 'tags']
|
||||
|
||||
class Meta:
|
||||
"""Metaclass defining serializer fields."""
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
"""Stocktake report functionality."""
|
||||
|
||||
import io
|
||||
import logging
|
||||
import time
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.files.base import ContentFile
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
import tablib
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from djmoney.money import Money
|
||||
@@ -18,7 +18,7 @@ import InvenTree.helpers
|
||||
import part.models
|
||||
import stock.models
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def perform_stocktake(
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Background task definitions for the 'part' app."""
|
||||
|
||||
import logging
|
||||
import random
|
||||
import time
|
||||
from datetime import datetime, timedelta
|
||||
@@ -8,6 +7,8 @@ from datetime import datetime, timedelta
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
|
||||
import common.currency
|
||||
import common.notifications
|
||||
import company.models
|
||||
@@ -24,7 +25,7 @@ from InvenTree.tasks import (
|
||||
scheduled_task,
|
||||
)
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def notify_low_stock(part: part_models.Part):
|
||||
|
||||
@@ -4,16 +4,15 @@ This initializes the plugin mechanisms and handles reloading throughout the life
|
||||
The main code for plugin special sauce is in the plugin registry in `InvenTree/plugin/registry.py`.
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from django.apps import AppConfig
|
||||
|
||||
import structlog
|
||||
from maintenance_mode.core import set_maintenance_mode
|
||||
|
||||
from InvenTree.ready import canAppAccessDatabase, isInMainThread, isInWorkerThread
|
||||
from plugin import registry
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class PluginAppConfig(AppConfig):
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
"""API endpoints for barcode plugins."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.db.models import F
|
||||
from django.urls import include, path
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_filters import rest_framework as rest_filters
|
||||
from drf_spectacular.utils import extend_schema, extend_schema_view
|
||||
from rest_framework import permissions, status
|
||||
@@ -29,7 +28,7 @@ from users.models import RuleSet
|
||||
|
||||
from . import serializers as barcode_serializers
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class BarcodeView(CreateAPIView):
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
"""Helper functions for barcode generation."""
|
||||
|
||||
import logging
|
||||
from typing import Type, cast
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.helpers_model
|
||||
from InvenTree.models import InvenTreeBarcodeMixin
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def cache(func):
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db.models import Q
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
|
||||
from company.models import Company, ManufacturerPart, SupplierPart
|
||||
from InvenTree.exceptions import log_error
|
||||
from InvenTree.models import InvenTreeBarcodeMixin
|
||||
@@ -15,7 +15,7 @@ from order.models import PurchaseOrder
|
||||
from part.models import Part
|
||||
from plugin.base.integration.SettingsMixin import SettingsMixin
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class BarcodeMixin:
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
"""Functions for triggering and responding to server side events."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import transaction
|
||||
from django.db.models.signals import post_delete, post_save
|
||||
from django.dispatch.dispatcher import receiver
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.exceptions
|
||||
from common.settings import get_global_setting
|
||||
from InvenTree.ready import canAppAccessDatabase, isImportingData
|
||||
from InvenTree.tasks import offload_task
|
||||
from plugin.registry import registry
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def trigger_event(event: str, *args, **kwargs) -> None:
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
"""Plugin mixin classes for icon pack plugin."""
|
||||
|
||||
import logging
|
||||
import structlog
|
||||
|
||||
from common.icons import IconPack, reload_icon_packs
|
||||
from plugin.helpers import MixinNotImplementedError
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class IconPackMixin:
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
"""Mixin class for making calls to an external API."""
|
||||
|
||||
import json as json_pkg
|
||||
import logging
|
||||
from collections.abc import Iterable
|
||||
from typing import Optional
|
||||
|
||||
import requests
|
||||
import structlog
|
||||
|
||||
from plugin.helpers import MixinNotImplementedError
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class APICallMixin:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
"""Plugin mixin class for AppMixin."""
|
||||
|
||||
import logging
|
||||
from importlib import reload
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
@@ -9,9 +8,11 @@ from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.contrib import admin
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.config import get_plugin_dir
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class AppMixin:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user