mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-11 04:39:33 +00:00
Anpassungen zu JSON Importer vornehmen.
CSV Importer implementieren. Übersetzungsarbeiten vornehmen.
This commit is contained in:
parent
23e4b00e77
commit
748591c443
28 changed files with 3445 additions and 1217 deletions
|
|
@ -139,6 +139,7 @@ class AssemblyController extends AbstractController
|
|||
'required' => true,
|
||||
'choices' => [
|
||||
'assembly.bom_import.type.json' => 'json',
|
||||
'assembly.bom_import.type.csv' => 'csv',
|
||||
'assembly.bom_import.type.kicad_pcbnew' => 'kicad_pcbnew',
|
||||
]
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ use InvalidArgumentException;
|
|||
use League\Csv\Reader;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Symfony\Component\HttpFoundation\File\File;
|
||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
use UnexpectedValueException;
|
||||
|
|
@ -49,6 +50,11 @@ use Symfony\Component\Validator\ConstraintViolation;
|
|||
class BOMImporter
|
||||
{
|
||||
|
||||
private const IMPORT_TYPE_JSON = 'json';
|
||||
private const IMPORT_TYPE_CSV = 'csv';
|
||||
private const IMPORT_TYPE_KICAD_PCB = 'kicad_pcbnew';
|
||||
private const IMPORT_TYPE_KICAD_SCHEMATIC = 'kicad_schematic';
|
||||
|
||||
private const MAP_KICAD_PCB_FIELDS = [
|
||||
0 => 'Id',
|
||||
1 => 'Designator',
|
||||
|
|
@ -66,6 +72,8 @@ class BOMImporter
|
|||
|
||||
private CategoryRepository $categoryRepository;
|
||||
|
||||
private DBElementRepository $projectBOMEntryRepository;
|
||||
|
||||
private DBElementRepository $assemblyBOMEntryRepository;
|
||||
|
||||
private TranslatorInterface $translator;
|
||||
|
|
@ -79,6 +87,7 @@ class BOMImporter
|
|||
$this->partRepository = $entityManager->getRepository(Part::class);
|
||||
$this->manufacturerRepository = $entityManager->getRepository(Manufacturer::class);
|
||||
$this->categoryRepository = $entityManager->getRepository(Category::class);
|
||||
$this->projectBOMEntryRepository = $entityManager->getRepository(Project::class);
|
||||
$this->assemblyBOMEntryRepository = $entityManager->getRepository(AssemblyBOMEntry::class);
|
||||
$this->translator = $translator;
|
||||
}
|
||||
|
|
@ -86,7 +95,7 @@ class BOMImporter
|
|||
protected function configureOptions(OptionsResolver $resolver): OptionsResolver
|
||||
{
|
||||
$resolver->setRequired('type');
|
||||
$resolver->setAllowedValues('type', ['kicad_pcbnew', 'kicad_schematic', 'json']);
|
||||
$resolver->setAllowedValues('type', [self::IMPORT_TYPE_KICAD_PCB, self::IMPORT_TYPE_KICAD_SCHEMATIC, self::IMPORT_TYPE_JSON, self::IMPORT_TYPE_CSV]);
|
||||
|
||||
// For flexible schematic import with field mapping
|
||||
$resolver->setDefined(['field_mapping', 'field_priorities', 'delimiter']);
|
||||
|
|
@ -120,7 +129,7 @@ class BOMImporter
|
|||
* Converts the given file into an ImporterResult with an array of BOM entries using the given options and save them into the given assembly.
|
||||
* The changes are not saved into the database yet.
|
||||
*/
|
||||
public function importFileIntoAssembly(File $file, Assembly $assembly, array $options): ImporterResult
|
||||
public function importFileIntoAssembly(UploadedFile $file, Assembly $assembly, array $options): ImporterResult
|
||||
{
|
||||
$importerResult = $this->fileToImporterResult($file, $options, AssemblyBOMEntry::class);
|
||||
|
||||
|
|
@ -163,8 +172,44 @@ class BOMImporter
|
|||
/**
|
||||
* Converts the given file into an ImporterResult with an array of BOM entries using the given options.
|
||||
*/
|
||||
public function fileToImporterResult(File $file, array $options, string $objectType = ProjectBOMEntry::class): ImporterResult
|
||||
public function fileToImporterResult(UploadedFile $file, array $options, string $objectType = ProjectBOMEntry::class): ImporterResult
|
||||
{
|
||||
$result = new ImporterResult();
|
||||
|
||||
//Available file endings depending on the import type
|
||||
$validExtensions = match ($options['type']) {
|
||||
self::IMPORT_TYPE_KICAD_PCB => ['kicad_pcb'],
|
||||
self::IMPORT_TYPE_JSON => ['json'],
|
||||
self::IMPORT_TYPE_CSV => ['csv'],
|
||||
default => [],
|
||||
};
|
||||
|
||||
//Get the file extension of the uploaded file
|
||||
$fileExtension = pathinfo($file->getClientOriginalName(), PATHINFO_EXTENSION);
|
||||
|
||||
//Check whether the file extension is valid
|
||||
if ($validExtensions === []) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.invalid_import_type',
|
||||
'import.type'
|
||||
));
|
||||
|
||||
return $result;
|
||||
} else if (!in_array(strtolower($fileExtension), $validExtensions, true)) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.invalid_file_extension',
|
||||
'file.extension',
|
||||
$fileExtension,
|
||||
[
|
||||
'%extension%' => $fileExtension,
|
||||
'%importType%' => $this->translator->trans('assembly.bom_import.type.'.$options['type']),
|
||||
'%allowedExtensions%' => implode(', ', $validExtensions),
|
||||
]
|
||||
));
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
return $this->stringToImporterResult($file->getContent(), $options, $objectType);
|
||||
}
|
||||
|
||||
|
|
@ -181,8 +226,8 @@ class BOMImporter
|
|||
$options = $resolver->resolve($options);
|
||||
|
||||
return match ($options['type']) {
|
||||
'kicad_pcbnew' => $this->parseKiCADPCB($data, $options, $objectType)->getBomEntries(),
|
||||
default => throw new InvalidArgumentException('Invalid import type!'),
|
||||
self::IMPORT_TYPE_KICAD_PCB => $this->parseKiCADPCB($data, $objectType)->getBomEntries(),
|
||||
default => throw new InvalidArgumentException($this->translator->trans('validator.bom_importer.invalid_import_type', [], 'validators')),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -190,7 +235,7 @@ class BOMImporter
|
|||
* Import string data into an array of BOM entries, which are not yet assigned to a project.
|
||||
* @param string $data The data to import
|
||||
* @param array $options An array of options
|
||||
* @return ProjectBOMEntry[]|AssemblyBOMEntry[] An array of imported entries
|
||||
* @return ImporterResult An result of imported entries or a violation list
|
||||
*/
|
||||
public function stringToImporterResult(string $data, array $options, string $objectType = ProjectBOMEntry::class): ImporterResult
|
||||
{
|
||||
|
|
@ -198,10 +243,17 @@ class BOMImporter
|
|||
$resolver = $this->configureOptions($resolver);
|
||||
$options = $resolver->resolve($options);
|
||||
|
||||
$defaultImporterResult = new ImporterResult();
|
||||
$defaultImporterResult->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.invalid_import_type',
|
||||
'import.type'
|
||||
));
|
||||
|
||||
return match ($options['type']) {
|
||||
'kicad_pcbnew' => $this->parseKiCADPCB($data, $objectType),
|
||||
'json' => $this->parseJson($data, $options, $objectType),
|
||||
default => throw new InvalidArgumentException('Invalid import type!'),
|
||||
self::IMPORT_TYPE_KICAD_PCB => $this->parseKiCADPCB($data, $objectType),
|
||||
self::IMPORT_TYPE_JSON => $this->parseJson($data, $objectType),
|
||||
self::IMPORT_TYPE_CSV => $this->parseCsv($data, $objectType),
|
||||
default => $defaultImporterResult,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -238,7 +290,7 @@ class BOMImporter
|
|||
$bom_entry->setName($entry['Designation']);
|
||||
}
|
||||
|
||||
$bom_entry->setMountnames($entry['Designator'] ?? '');
|
||||
$bom_entry->setMountnames($entry['Designator']);
|
||||
$bom_entry->setComment($entry['Supplier and ref'] ?? '');
|
||||
$bom_entry->setQuantity((float) ($entry['Quantity'] ?? 1));
|
||||
|
||||
|
|
@ -305,6 +357,36 @@ class BOMImporter
|
|||
return $this->validationService->validateBOMEntries($mapped_entries, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the given JSON data into an ImporterResult while validating and transforming entries according to the
|
||||
* specified options and object type. If violations are encountered during parsing, they are added to the result.
|
||||
*
|
||||
* The structure of each entry in the JSON data is validated to ensure that required fields (e.g., quantity, and name)
|
||||
* are present, and optional composite fields, like `part` and its sub-properties, meet specific criteria. Various
|
||||
* conditions are checked, including whether the provided values are the correct types, and if relationships (like
|
||||
* matching parts or manufacturers) are resolved successfully.
|
||||
*
|
||||
* Violations are added for:
|
||||
* - Missing or invalid `quantity` values.
|
||||
* - Non-string `name` values.
|
||||
* - Invalid structure or missing sub-properties in `part`.
|
||||
* - Incorrect or unresolved references to parts and their information, such as `id`, `name`, `manufacturer_product_number`
|
||||
* (mpnr), `internal_part_number` (ipn), or `description`.
|
||||
* - Inconsistent or absent manufacturer information.
|
||||
*
|
||||
* If a match for a part or manufacturer cannot be resolved, a violation is added alongside an indication of the
|
||||
* imported value and any partially matched information. Warnings for no exact matches are also added for parts
|
||||
* using specific identifying properties like name, manufacturer product number, or internal part numbers.
|
||||
*
|
||||
* Additional validations include:
|
||||
* - Checking for empty or invalid descriptions.
|
||||
* - Ensuring manufacturers, if specified, have valid `name` or `id` values.
|
||||
*
|
||||
* @param string $data JSON encoded string containing BOM entries data.
|
||||
* @param string $objectType The type of entries expected during import (e.g., `ProjectBOMEntry` or `AssemblyBOMEntry`).
|
||||
*
|
||||
* @return ImporterResult The result containing parsed data and any violations encountered during the parsing process.
|
||||
*/
|
||||
private function parseJson(string $data, array $options = [], string $objectType = ProjectBOMEntry::class): ImporterResult
|
||||
{
|
||||
$result = new ImporterResult();
|
||||
|
|
@ -313,291 +395,34 @@ class BOMImporter
|
|||
$data = json_decode($data, true);
|
||||
|
||||
foreach ($data as $key => $entry) {
|
||||
// Check quantity
|
||||
if (!isset($entry['quantity'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.quantity.required',
|
||||
'validator.bom_importer.json_csv.quantity.required',
|
||||
"entry[$key].quantity"
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($entry['quantity']) && (!is_float($entry['quantity']) || $entry['quantity'] <= 0)) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.quantity.float',
|
||||
'validator.bom_importer.json_csv.quantity.float',
|
||||
"entry[$key].quantity",
|
||||
$entry['quantity']
|
||||
));
|
||||
}
|
||||
|
||||
// Check name
|
||||
if (isset($entry['name']) && !is_string($entry['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.string.notEmpty',
|
||||
'validator.bom_importer.json_csv.parameter.string.notEmpty',
|
||||
"entry[$key].name",
|
||||
$entry['name']
|
||||
));
|
||||
}
|
||||
|
||||
// Check if part is assigned with relevant information
|
||||
if (isset($entry['part'])) {
|
||||
if (!is_array($entry['part'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.array',
|
||||
"entry[$key].part",
|
||||
$entry['part']
|
||||
));
|
||||
}
|
||||
|
||||
$partIdValid = isset($entry['part']['id']) && is_int($entry['part']['id']) && $entry['part']['id'] > 0;
|
||||
$partNameValid = isset($entry['part']['name']) && is_string($entry['part']['name']) && trim($entry['part']['name']) !== '';
|
||||
$partMpnrValid = isset($entry['part']['mpnr']) && is_string($entry['part']['mpnr']) && trim($entry['part']['mpnr']) !== '';
|
||||
$partIpnValid = isset($entry['part']['ipn']) && is_string($entry['part']['ipn']) && trim($entry['part']['ipn']) !== '';
|
||||
|
||||
if (!$partIdValid && !$partNameValid && !$partMpnrValid && !$partIpnValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.subproperties',
|
||||
"entry[$key].part",
|
||||
$entry['part'],
|
||||
['%propertyString%' => '"id", "name", "mpnr", or "ipn"']
|
||||
));
|
||||
}
|
||||
|
||||
$part = $partIdValid ? $this->partRepository->findOneBy(['id' => $entry['part']['id']]) : null;
|
||||
$part = $part ?? ($partMpnrValid ? $this->partRepository->findOneBy(['manufacturer_product_number' => trim($entry['part']['mpnr'])]) : null);
|
||||
$part = $part ?? ($partIpnValid ? $this->partRepository->findOneBy(['ipn' => trim($entry['part']['ipn'])]) : null);
|
||||
$part = $part ?? ($partNameValid ? $this->partRepository->findOneBy(['name' => trim($entry['part']['name'])]) : null);
|
||||
|
||||
if ($part === null) {
|
||||
$value = sprintf('part.id: %s, part.mpnr: %s, part.ipn: %s, part.name: %s',
|
||||
isset($entry['part']['id']) ? '<strong>' . $entry['part']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['mpnr']) ? '<strong>' . $entry['part']['mpnr'] . '</strong>' : '-',
|
||||
isset($entry['part']['ipn']) ? '<strong>' . $entry['part']['ipn'] . '</strong>' : '-',
|
||||
isset($entry['part']['name']) ? '<strong>' . $entry['part']['name'] . '</strong>' : '-',
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.notFoundFor',
|
||||
"entry[$key].part",
|
||||
$entry['part'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partNameValid && $part !== null && isset($entry['part']['name']) && $part->getName() !== trim($entry['part']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.noExactMatch',
|
||||
"entry[$key].part.name",
|
||||
$entry['part']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['name'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partMpnrValid && $part !== null && isset($entry['part']['mpnr']) && $part->getManufacturerProductNumber() !== trim($entry['part']['mpnr'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.noExactMatch',
|
||||
"entry[$key].part.mpnr",
|
||||
$entry['part']['mpnr'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['mpnr'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getManufacturerProductNumber() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partIpnValid && $part !== null && isset($entry['part']['ipn']) && $part->getIpn() !== trim($entry['part']['ipn'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.noExactMatch',
|
||||
"entry[$key].part.ipn",
|
||||
$entry['part']['ipn'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['ipn'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getIpn() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
// Part: Description check
|
||||
if (isset($entry['part']['description'])) {
|
||||
if (!is_string($entry['part']['description']) || trim($entry['part']['description']) === '') {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.string.notEmpty',
|
||||
'entry[$key].part.description',
|
||||
$entry['part']['description']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$partDescription = $entry['part']['description'] ?? '';
|
||||
|
||||
// Part: Manufacturer check
|
||||
$manufacturerIdValid = false;
|
||||
$manufacturerNameValid = false;
|
||||
if (array_key_exists('manufacturer', $entry['part'])) {
|
||||
if (!is_array($entry['part']['manufacturer'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.array',
|
||||
'entry[$key].part.manufacturer',
|
||||
$entry['part']['manufacturer']) ?? null
|
||||
);
|
||||
}
|
||||
|
||||
$manufacturerIdValid = isset($entry['part']['manufacturer']['id']) && is_int($entry['part']['manufacturer']['id']) && $entry['part']['manufacturer']['id'] > 0;
|
||||
$manufacturerNameValid = isset($entry['part']['manufacturer']['name']) && is_string($entry['part']['manufacturer']['name']) && trim($entry['part']['manufacturer']['name']) !== '';
|
||||
|
||||
// Stellen sicher, dass mindestens eine Bedingung für manufacturer erfüllt sein muss
|
||||
if (!$manufacturerIdValid && !$manufacturerNameValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties',
|
||||
"entry[$key].part.manufacturer",
|
||||
$entry['part']['manufacturer'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$manufacturer = $manufacturerIdValid ? $this->manufacturerRepository->findOneBy(['id' => $entry['part']['manufacturer']['id']]) : null;
|
||||
$manufacturer = $manufacturer ?? ($manufacturerNameValid ? $this->manufacturerRepository->findOneBy(['name' => trim($entry['part']['manufacturer']['name'])]) : null);
|
||||
|
||||
if (($manufacturerIdValid || $manufacturerNameValid) && $manufacturer === null) {
|
||||
$value = sprintf(
|
||||
'manufacturer.id: %s, manufacturer.name: %s',
|
||||
isset($entry['part']['manufacturer']['id']) && $entry['part']['manufacturer']['id'] !== null ? '<strong>' . $entry['part']['manufacturer']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['manufacturer']['name']) && $entry['part']['manufacturer']['name'] !== null ? '<strong>' . $entry['part']['manufacturer']['name'] . '</strong>' : '-'
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.notFoundFor',
|
||||
"entry[$key].part.manufacturer",
|
||||
$entry['part']['manufacturer'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($manufacturerNameValid && $manufacturer !== null && isset($entry['part']['manufacturer']['name']) && $manufacturer->getName() !== trim($entry['part']['manufacturer']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.noExactMatch',
|
||||
"entry[$key].part.manufacturer.name",
|
||||
$entry['part']['manufacturer']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['manufacturer']['name'] . '</strong>',
|
||||
'%foundId%' => $manufacturer->getID(),
|
||||
'%foundValue%' => '<strong>' . $manufacturer->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
// Part: Category check
|
||||
$categoryIdValid = false;
|
||||
$categoryNameValid = false;
|
||||
if (array_key_exists('category', $entry['part'])) {
|
||||
if (!is_array($entry['part']['category'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.array',
|
||||
'entry[$key].part.category',
|
||||
$entry['part']['category']) ?? null
|
||||
);
|
||||
}
|
||||
|
||||
$categoryIdValid = isset($entry['part']['category']['id']) && is_int($entry['part']['category']['id']) && $entry['part']['category']['id'] > 0;
|
||||
$categoryNameValid = isset($entry['part']['category']['name']) && is_string($entry['part']['category']['name']) && trim($entry['part']['category']['name']) !== '';
|
||||
|
||||
if (!$categoryIdValid && !$categoryNameValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties',
|
||||
"entry[$key].part.category",
|
||||
$entry['part']['category']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$category = $categoryIdValid ? $this->categoryRepository->findOneBy(['id' => $entry['part']['category']['id']]) : null;
|
||||
$category = $category ?? ($categoryNameValid ? $this->categoryRepository->findOneBy(['name' => trim($entry['part']['category']['name'])]) : null);
|
||||
|
||||
if (($categoryIdValid || $categoryNameValid) && $category === null) {
|
||||
$value = sprintf(
|
||||
'category.id: %s, category.name: %s',
|
||||
isset($entry['part']['category']['id']) && $entry['part']['category']['id'] !== null ? '<strong>' . $entry['part']['category']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['category']['name']) && $entry['part']['category']['name'] !== null ? '<strong>' . $entry['part']['category']['name'] . '</strong>' : '-'
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.notFoundFor',
|
||||
"entry[$key].part.category",
|
||||
$entry['part']['category'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($categoryNameValid && $category !== null && isset($entry['part']['category']['name']) && $category->getName() !== trim($entry['part']['category']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json.parameter.noExactMatch',
|
||||
"entry[$key].part.category.name",
|
||||
$entry['part']['category']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['category']['name'] . '</strong>',
|
||||
'%foundId%' => $category->getID(),
|
||||
'%foundValue%' => '<strong>' . $category->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($result->getViolations()->count() > 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($partDescription !== '') {
|
||||
//Beim Import / Aktualisieren von zugehörigen Bauteilen zu einer Baugruppe die Beschreibung des Bauteils mit übernehmen.
|
||||
$part->setDescription($partDescription);
|
||||
}
|
||||
|
||||
if ($manufacturer !== null && $manufacturer->getID() !== $part->getManufacturerID()) {
|
||||
//Beim Import / Aktualisieren von zugehörigen Bauteilen zu einer Baugruppe des Hersteller des Bauteils mit übernehmen.
|
||||
$part->setManufacturer($manufacturer);
|
||||
}
|
||||
|
||||
if ($category !== null && $category->getID() !== $part->getCategoryID()) {
|
||||
//Beim Import / Aktualisieren von zugehörigen Bauteilen zu einer Baugruppe die Kategorie des Bauteils mit übernehmen.
|
||||
$part->setCategory($category);
|
||||
}
|
||||
|
||||
if ($objectType === AssemblyBOMEntry::class) {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['part' => $part]);
|
||||
|
||||
if ($bomEntry === null) {
|
||||
if (isset($entry['name']) && $entry['name'] !== '') {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['name' => $entry['name']]);
|
||||
}
|
||||
|
||||
if ($bomEntry === null) {
|
||||
$bomEntry = new AssemblyBOMEntry();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$bomEntry = new ProjectBOMEntry();
|
||||
}
|
||||
|
||||
$bomEntry->setQuantity($entry['quantity']);
|
||||
$bomEntry->setName($entry['name'] ?? '');
|
||||
|
||||
$bomEntry->setPart($part);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
$this->processPart($entry, $result, $key, $objectType,self::IMPORT_TYPE_JSON);
|
||||
} else {
|
||||
//Eintrag ohne Part-Relation in die Bauteilliste aufnehmen
|
||||
|
||||
if ($objectType === AssemblyBOMEntry::class) {
|
||||
$bomEntry = new AssemblyBOMEntry();
|
||||
} else {
|
||||
$bomEntry = new ProjectBOMEntry();
|
||||
}
|
||||
|
||||
$bomEntry->setQuantity($entry['quantity']);
|
||||
$bomEntry->setName($entry['name'] ?? '');
|
||||
$bomEntry = $this->getOrCreateBomEntry($objectType, $entry['name'] ?? null);
|
||||
$bomEntry->setQuantity((float) $entry['quantity']);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
}
|
||||
|
|
@ -606,6 +431,400 @@ class BOMImporter
|
|||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a CSV string and processes its rows into hierarchical data structures,
|
||||
* performing validations and converting data based on the provided headers.
|
||||
* Handles potential violations and manages the creation of BOM entries based on the given type.
|
||||
*
|
||||
* @param string $csvData The raw CSV data to parse, with rows separated by newlines.
|
||||
* @param string $objectType The class type to instantiate for BOM entries, defaults to ProjectBOMEntry.
|
||||
*
|
||||
* @return ImporterResult Returns an ImporterResult instance containing BOM entries and any validation violations encountered.
|
||||
*/
|
||||
function parseCsv(string $csvData, string $objectType = ProjectBOMEntry::class): ImporterResult
|
||||
{
|
||||
$result = new ImporterResult();
|
||||
$rows = explode("\n", trim($csvData));
|
||||
$headers = str_getcsv(array_shift($rows), ';');
|
||||
|
||||
foreach ($rows as $key => $row) {
|
||||
$entry = [];
|
||||
$values = str_getcsv($row, ';');
|
||||
|
||||
foreach ($headers as $index => $column) {
|
||||
//Convert column name into hierarchy
|
||||
$path = explode('_', $column);
|
||||
$temp = &$entry;
|
||||
|
||||
foreach ($path as $step) {
|
||||
if (!isset($temp[$step])) {
|
||||
$temp[$step] = [];
|
||||
}
|
||||
|
||||
$temp = &$temp[$step];
|
||||
}
|
||||
|
||||
//If there is no value, skip
|
||||
if (isset($values[$index]) && $values[$index] !== '') {
|
||||
//Check whether the value is numerical
|
||||
if (is_numeric($values[$index])) {
|
||||
//Convert to integer or float
|
||||
$temp = (strpos($values[$index], '.') !== false)
|
||||
? floatval($values[$index])
|
||||
: intval($values[$index]);
|
||||
} else {
|
||||
//Leave other data types untouched
|
||||
$temp = $values[$index];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$entry = $this->removeEmptyProperties($entry);
|
||||
|
||||
if (!isset($entry['quantity'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.csv.quantity.required',
|
||||
"row[$key].quantity"
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($entry['quantity']) && (!is_numeric($entry['quantity']) || $entry['quantity'] <= 0)) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.csv.quantity.float',
|
||||
"row[$key].quantity",
|
||||
$entry['quantity']
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($entry['name']) && !is_string($entry['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.csv.parameter.string.notEmpty',
|
||||
"row[$key].name",
|
||||
$entry['name']
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($entry['part'])) {
|
||||
$this->processPart($entry, $result, $key, $objectType, self::IMPORT_TYPE_CSV);
|
||||
} else {
|
||||
$bomEntry = $this->getOrCreateBomEntry($objectType, $entry['name'] ?? null);
|
||||
$bomEntry->setQuantity((float) $entry['quantity'] ?? 0);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Processes an individual part entry in the import data.
|
||||
*
|
||||
* This method validates the structure and content of the provided part entry and uses the findings
|
||||
* to identify corresponding objects in the database. The result is recorded, and violations are
|
||||
* logged if issues or discrepancies exist in the validation or database matching process.
|
||||
*
|
||||
* @param array $entry The array representation of the part entry.
|
||||
* @param ImporterResult $result The result object used for recording validation violations.
|
||||
* @param int $key The index of the entry in the data array.
|
||||
* @param string $objectType The type of object being processed.
|
||||
* @param string $importType The type of import being performed.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
private function processPart(array $entry, ImporterResult $result, int $key, string $objectType, string $importType): void
|
||||
{
|
||||
$prefix = $importType === self::IMPORT_TYPE_JSON ? 'entry' : 'row';
|
||||
|
||||
if (!is_array($entry['part'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.array',
|
||||
$prefix."[$key].part",
|
||||
$entry['part']
|
||||
));
|
||||
}
|
||||
|
||||
$partIdValid = isset($entry['part']['id']) && is_int($entry['part']['id']) && $entry['part']['id'] > 0;
|
||||
$partMpnrValid = isset($entry['part']['mpnr']) && is_string($entry['part']['mpnr']) && trim($entry['part']['mpnr']) !== '';
|
||||
$partIpnValid = isset($entry['part']['ipn']) && is_string($entry['part']['ipn']) && trim($entry['part']['ipn']) !== '';
|
||||
$partNameValid = isset($entry['part']['name']) && is_string($entry['part']['name']) && trim($entry['part']['name']) !== '';
|
||||
|
||||
if (!$partIdValid && !$partNameValid && !$partMpnrValid && !$partIpnValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.subproperties',
|
||||
$prefix."[$key].part",
|
||||
$entry['part'],
|
||||
['%propertyString%' => '"id", "name", "mpnr", or "ipn"']
|
||||
));
|
||||
}
|
||||
|
||||
$part = $partIdValid ? $this->partRepository->findOneBy(['id' => $entry['part']['id']]) : null;
|
||||
$part = $part ?? ($partMpnrValid ? $this->partRepository->findOneBy(['manufacturer_product_number' => trim($entry['part']['mpnr'])]) : null);
|
||||
$part = $part ?? ($partIpnValid ? $this->partRepository->findOneBy(['ipn' => trim($entry['part']['ipn'])]) : null);
|
||||
$part = $part ?? ($partNameValid ? $this->partRepository->findOneBy(['name' => trim($entry['part']['name'])]) : null);
|
||||
|
||||
if ($part === null) {
|
||||
$value = sprintf('part.id: %s, part.mpnr: %s, part.ipn: %s, part.name: %s',
|
||||
isset($entry['part']['id']) ? '<strong>' . $entry['part']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['mpnr']) ? '<strong>' . $entry['part']['mpnr'] . '</strong>' : '-',
|
||||
isset($entry['part']['ipn']) ? '<strong>' . $entry['part']['ipn'] . '</strong>' : '-',
|
||||
isset($entry['part']['name']) ? '<strong>' . $entry['part']['name'] . '</strong>' : '-',
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.notFoundFor',
|
||||
$prefix."[$key].part",
|
||||
$entry['part'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partNameValid && $part !== null && isset($entry['part']['name']) && $part->getName() !== trim($entry['part']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.noExactMatch',
|
||||
$prefix."[$key].part.name",
|
||||
$entry['part']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['name'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partMpnrValid && $part !== null && isset($entry['part']['mpnr']) && $part->getManufacturerProductNumber() !== trim($entry['part']['mpnr'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.noExactMatch',
|
||||
$prefix."[$key].part.mpnr",
|
||||
$entry['part']['mpnr'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['mpnr'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getManufacturerProductNumber() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($partIpnValid && $part !== null && isset($entry['part']['ipn']) && $part->getIpn() !== trim($entry['part']['ipn'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.noExactMatch',
|
||||
$prefix."[$key].part.ipn",
|
||||
$entry['part']['ipn'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['ipn'] . '</strong>',
|
||||
'%foundId%' => $part->getID(),
|
||||
'%foundValue%' => '<strong>' . $part->getIpn() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if (isset($entry['part']['description'])) {
|
||||
if (!is_string($entry['part']['description']) || trim($entry['part']['description']) === '') {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.string.notEmpty',
|
||||
'entry[$key].part.description',
|
||||
$entry['part']['description']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$partDescription = $entry['part']['description'] ?? '';
|
||||
|
||||
$manufacturerIdValid = false;
|
||||
$manufacturerNameValid = false;
|
||||
if (array_key_exists('manufacturer', $entry['part'])) {
|
||||
if (!is_array($entry['part']['manufacturer'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.array',
|
||||
'entry[$key].part.manufacturer',
|
||||
$entry['part']['manufacturer']) ?? null
|
||||
);
|
||||
}
|
||||
|
||||
$manufacturerIdValid = isset($entry['part']['manufacturer']['id']) && is_int($entry['part']['manufacturer']['id']) && $entry['part']['manufacturer']['id'] > 0;
|
||||
$manufacturerNameValid = isset($entry['part']['manufacturer']['name']) && is_string($entry['part']['manufacturer']['name']) && trim($entry['part']['manufacturer']['name']) !== '';
|
||||
|
||||
if (!$manufacturerIdValid && !$manufacturerNameValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties',
|
||||
$prefix."[$key].part.manufacturer",
|
||||
$entry['part']['manufacturer'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$manufacturer = $manufacturerIdValid ? $this->manufacturerRepository->findOneBy(['id' => $entry['part']['manufacturer']['id']]) : null;
|
||||
$manufacturer = $manufacturer ?? ($manufacturerNameValid ? $this->manufacturerRepository->findOneBy(['name' => trim($entry['part']['manufacturer']['name'])]) : null);
|
||||
|
||||
if (($manufacturerIdValid || $manufacturerNameValid) && $manufacturer === null) {
|
||||
$value = sprintf(
|
||||
'manufacturer.id: %s, manufacturer.name: %s',
|
||||
isset($entry['part']['manufacturer']['id']) && $entry['part']['manufacturer']['id'] !== null ? '<strong>' . $entry['part']['manufacturer']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['manufacturer']['name']) && $entry['part']['manufacturer']['name'] !== null ? '<strong>' . $entry['part']['manufacturer']['name'] . '</strong>' : '-'
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.notFoundFor',
|
||||
$prefix."[$key].part.manufacturer",
|
||||
$entry['part']['manufacturer'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($manufacturerNameValid && $manufacturer !== null && isset($entry['part']['manufacturer']['name']) && $manufacturer->getName() !== trim($entry['part']['manufacturer']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.noExactMatch',
|
||||
$prefix."[$key].part.manufacturer.name",
|
||||
$entry['part']['manufacturer']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['manufacturer']['name'] . '</strong>',
|
||||
'%foundId%' => $manufacturer->getID(),
|
||||
'%foundValue%' => '<strong>' . $manufacturer->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
$categoryIdValid = false;
|
||||
$categoryNameValid = false;
|
||||
if (array_key_exists('category', $entry['part'])) {
|
||||
if (!is_array($entry['part']['category'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.array',
|
||||
'entry[$key].part.category',
|
||||
$entry['part']['category']) ?? null
|
||||
);
|
||||
}
|
||||
|
||||
$categoryIdValid = isset($entry['part']['category']['id']) && is_int($entry['part']['category']['id']) && $entry['part']['category']['id'] > 0;
|
||||
$categoryNameValid = isset($entry['part']['category']['name']) && is_string($entry['part']['category']['name']) && trim($entry['part']['category']['name']) !== '';
|
||||
|
||||
if (!$categoryIdValid && !$categoryNameValid) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties',
|
||||
$prefix."[$key].part.category",
|
||||
$entry['part']['category']
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
$category = $categoryIdValid ? $this->categoryRepository->findOneBy(['id' => $entry['part']['category']['id']]) : null;
|
||||
$category = $category ?? ($categoryNameValid ? $this->categoryRepository->findOneBy(['name' => trim($entry['part']['category']['name'])]) : null);
|
||||
|
||||
if (($categoryIdValid || $categoryNameValid) && $category === null) {
|
||||
$value = sprintf(
|
||||
'category.id: %s, category.name: %s',
|
||||
isset($entry['part']['category']['id']) && $entry['part']['category']['id'] !== null ? '<strong>' . $entry['part']['category']['id'] . '</strong>' : '-',
|
||||
isset($entry['part']['category']['name']) && $entry['part']['category']['name'] !== null ? '<strong>' . $entry['part']['category']['name'] . '</strong>' : '-'
|
||||
);
|
||||
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.notFoundFor',
|
||||
$prefix."[$key].part.category",
|
||||
$entry['part']['category'],
|
||||
['%value%' => $value]
|
||||
));
|
||||
}
|
||||
|
||||
if ($categoryNameValid && $category !== null && isset($entry['part']['category']['name']) && $category->getName() !== trim($entry['part']['category']['name'])) {
|
||||
$result->addViolation($this->buildJsonViolation(
|
||||
'validator.bom_importer.json_csv.parameter.noExactMatch',
|
||||
$prefix."[$key].part.category.name",
|
||||
$entry['part']['category']['name'],
|
||||
[
|
||||
'%importValue%' => '<strong>' . $entry['part']['category']['name'] . '</strong>',
|
||||
'%foundId%' => $category->getID(),
|
||||
'%foundValue%' => '<strong>' . $category->getName() . '</strong>'
|
||||
]
|
||||
));
|
||||
}
|
||||
|
||||
if ($result->getViolations()->count() > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($partDescription !== '') {
|
||||
//When updating the associated parts to a assembly, take over the description of the part.
|
||||
$part->setDescription($partDescription);
|
||||
}
|
||||
|
||||
if ($manufacturer !== null && $manufacturer->getID() !== $part->getManufacturerID()) {
|
||||
//When updating the associated parts, take over to a assembly of the manufacturer of the part.
|
||||
$part->setManufacturer($manufacturer);
|
||||
}
|
||||
|
||||
if ($category !== null && $category->getID() !== $part->getCategoryID()) {
|
||||
//When updating the associated parts to a assembly, take over the category of the part.
|
||||
$part->setCategory($category);
|
||||
}
|
||||
|
||||
if ($objectType === AssemblyBOMEntry::class) {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['part' => $part]);
|
||||
|
||||
if ($bomEntry === null) {
|
||||
if (isset($entry['name']) && $entry['name'] !== '') {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['name' => $entry['name']]);
|
||||
}
|
||||
|
||||
if ($bomEntry === null) {
|
||||
$bomEntry = new AssemblyBOMEntry();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$bomEntry = new ProjectBOMEntry();
|
||||
}
|
||||
|
||||
$bomEntry->setQuantity((float) $entry['quantity']);
|
||||
$bomEntry->setName($entry['name'] ?? '');
|
||||
|
||||
$bomEntry->setPart($part);
|
||||
|
||||
$result->addBomEntry($bomEntry);
|
||||
}
|
||||
|
||||
private function removeEmptyProperties(array $data): array
|
||||
{
|
||||
foreach ($data as $key => &$value) {
|
||||
//Recursive check when the value is an array
|
||||
if (is_array($value)) {
|
||||
$value = $this->removeEmptyProperties($value);
|
||||
|
||||
//Remove the array when it is empty after cleaning
|
||||
if (empty($value)) {
|
||||
unset($data[$key]);
|
||||
}
|
||||
} elseif ($value === null || $value === '') {
|
||||
//Remove values that are explicitly zero or empty
|
||||
unset($data[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
private function getOrCreateBomEntry(string $objectType, ?string $name)
|
||||
{
|
||||
$bomEntry = null;
|
||||
|
||||
//Check whether there is a name
|
||||
if (!empty($name)) {
|
||||
if ($objectType === ProjectBOMEntry::class) {
|
||||
$bomEntry = $this->projectBOMEntryRepository->findOneBy(['name' => $name]);
|
||||
} elseif ($objectType === AssemblyBOMEntry::class) {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['name' => $name]);
|
||||
}
|
||||
}
|
||||
|
||||
//If no bom enttry was found, a new object create
|
||||
if ($bomEntry === null) {
|
||||
$bomEntry = new $objectType();
|
||||
}
|
||||
|
||||
$bomEntry->setName($name);
|
||||
|
||||
return $bomEntry;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function uses the order of the fields in the CSV files to make them locale independent.
|
||||
* @param array $entry
|
||||
|
|
@ -629,6 +848,21 @@ class BOMImporter
|
|||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Builds a JSON-based constraint violation.
|
||||
*
|
||||
* This method creates a `ConstraintViolation` object that represents a validation error.
|
||||
* The violation includes a message, property path, invalid value, and other contextual information.
|
||||
* Translations for the violation message can be applied through the translator service.
|
||||
*
|
||||
* @param string $message The translation key for the validation message.
|
||||
* @param string $propertyPath The property path where the violation occurred.
|
||||
* @param mixed|null $invalidValue The value that caused the violation (optional).
|
||||
* @param array $parameters Additional parameters for message placeholders (default is an empty array).
|
||||
*
|
||||
* @return ConstraintViolation The created constraint violation object.
|
||||
*/
|
||||
private function buildJsonViolation(string $message, string $propertyPath, mixed $invalidValue = null, array $parameters = []): ConstraintViolation
|
||||
{
|
||||
return new ConstraintViolation(
|
||||
|
|
|
|||
|
|
@ -53,6 +53,34 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-lg-6 ps-0 mt-3 d-flex">
|
||||
<div class="card border-secondary flex-grow-1 overflow-auto">
|
||||
<div class="card-header bg-secondary text-white">
|
||||
{% trans %}assembly.import_bom.template.header.csv{% endtrans %}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
{{ 'assembly.bom_import.template.csv.exptected_columns'|trans }}
|
||||
|
||||
<pre>quantity;name;part_id;part_mpnr;part_ipn;part_name;part_description;part_manufacturer_id;part_manufacturer_name;part_category_id;part_category_name</pre>
|
||||
|
||||
<ul>
|
||||
<li>quantity</li>
|
||||
<li>name</li>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
<li>part_description</li>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
|
||||
{{ 'assembly.bom_import.template.csv.table'|trans|raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-lg-6 ps-0 mt-3 d-flex overflow-auto">
|
||||
<div class="card border-secondary flex-grow-1 overflow-auto">
|
||||
<div class="card-header bg-secondary text-white">
|
||||
|
|
@ -61,6 +89,20 @@
|
|||
<div class="card-body">
|
||||
{{ 'assembly.bom_import.template.kicad_pcbnew.exptected_columns'|trans }}
|
||||
<pre>Id;Designator;Package;Quantity;Designation;Supplier and ref</pre>
|
||||
|
||||
<ul>
|
||||
<li>Id</li>
|
||||
<li>Designator</li>
|
||||
<li>Package</li>
|
||||
<li>Quantity</li>
|
||||
<li>Designation</li>
|
||||
<li>Supplier and ref</li>
|
||||
<li>Note</li>
|
||||
<li>Footprint</li>
|
||||
<li>Value</li>
|
||||
<li>Footprint</li>
|
||||
</ul>
|
||||
|
||||
{{ 'assembly.bom_import.template.kicad_pcbnew.exptected_columns.note'|trans|raw }}
|
||||
|
||||
{{ 'assembly.bom_import.template.kicad_pcbnew.table'|trans|raw }}
|
||||
|
|
|
|||
|
|
@ -13881,6 +13881,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>JSON pro sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV pro sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -13905,6 +13911,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Šablona importu JSON pro sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Importní šablona CSV pro sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -13964,24 +13976,26 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Povinné</td>
|
||||
<td>Povinné pole</td>
|
||||
<td>Číslo s plovoucí desetinnou čárkou (Float)</td>
|
||||
<td>Musí být uvedeno a obsahovat hodnotu s plovoucí desetinnou čárkou (Float) větší než 0,0.</td>
|
||||
<td>Musí být vyplněno a obsahovat číselnou hodnotu (Float) větší než 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Pokud je přítomen, musí být neprázdný řetězec.</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Pokud je uvedeno, musí být neprázdný text. Název položky ve skupině.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Pokud je uvedeno, musí to být objekt/array a minimálně jedno pole musí být vyplněno:
|
||||
Pokud má být přiřazena součástka, musí být objektem/arrayem a alespoň jedno z následujících polí musí být vyplněno:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -13990,38 +14004,38 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<td>part.id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo (Integer) > 0. Odpovídá internímu číselnému ID součástky v Part-DB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Neprázdný řetězec, pokud není zadáno part.mpnr nebo part.ipn.</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID součástky v databázi.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Neprázdný řetězec, pokud není zadáno part.name nebo part.ipn.</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Neprázdný text, pokud není vyplněno part.id, part.ipn ani part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Neprázdný řetězec, pokud není zadáno part.name nebo part.mpnr.</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Neprázdný text, pokud není vyplněno part.id, part.mpnr ani part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Neprázdný text, pokud není vyplněno part.id, part.mpnr ani part.ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec nebo null</td>
|
||||
<td>Pokud je přítomen, musí být neprázdný řetězec nebo null.</td>
|
||||
<td>Pokud je uvedeno, musí být neprázdný řetězec nebo null. Přepíše stávající hodnotu v součástce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Pokud je přítomen, musí to být objekt/array a minimálně jedno pole musí být vyplněno:
|
||||
Pokud má být výrobce součástky upraven nebo má být součástka jednoznačně identifikována pomocí hodnoty part.mpnr, musí být objektem/arrayem a alespoň jedno z následujících polí musí být vyplněno:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -14032,20 +14046,20 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<td>manufacturer.id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo (Integer) > 0. Odpovídá internímu číselnému ID výrobce.</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID výrobce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Neprázdný řetězec, pokud není uvedeno manufacturer.id.</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Neprázdný text, pokud není uveden manufacturer.id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Pokud je přítomen, musí to být objekt/array a minimálně jedno pole musí být vyplněno:
|
||||
Pokud má být kategorie součástky upravena, musí být objektem/arrayem a alespoň jedno z následujících polí musí být vyplněno:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -14056,13 +14070,138 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<td>category.id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo (Integer) > 0. Odpovídá internímu číselnému ID kategorie součástky.</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID kategorie součástky.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec (String)</td>
|
||||
<td>Neprázdný řetězec, pokud není uvedeno category.id.</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Neprázdný text, pokud není uvedeno category.id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Možné sloupce:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Sloupec</th>
|
||||
<th>Podmínka</th>
|
||||
<th>Datový typ</th>
|
||||
<th>Popis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Povinné pole</td>
|
||||
<td>Číslo s plovoucí desetinnou čárkou (Float)</td>
|
||||
<td>Musí být vyplněno a obsahovat číselnou hodnotu (Float) větší než 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Název položky ve skupině.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Sloupce začínající part_</strong></td>
|
||||
<td>
|
||||
Pokud má být přiřazena součástka, jeden z následujících sloupců musí být uveden a vyplněn:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID součástky v databázi.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Musí být uvedeno, pokud nejsou vyplněny sloupce part_id, part_ipn nebo part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Musí být uvedeno, pokud nejsou vyplněny sloupce part_id, part_mpnr nebo part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Musí být uvedeno, pokud nejsou vyplněny sloupce part_id, part_mpnr nebo part_ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Bude přeneseno do součástky a přepíše aktuální hodnotu, pokud je uveden neprázdný text.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Sloupce začínající part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Pokud má být výrobce upraven nebo součástka jednoznačně identifikována pomocí part_mpnr, jeden z následujících sloupců musí být uveden a vyplněn:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID výrobce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Musí být uvedeno, pokud není vyplněn sloupec part_manufacturer_id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Sloupce začínající part.category_</strong></td>
|
||||
<td>
|
||||
Pokud má být kategorie upravena, jeden z následujících sloupců musí být uveden a vyplněn:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo (Integer)</td>
|
||||
<td>Celé číslo > 0. Odpovídá internímu číselnému ID kategorie součástky.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Musí být uvedeno, pokud není vyplněn sloupec part_category_id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -12598,6 +12598,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>JSON for en samling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV til en samling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12622,6 +12628,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>JSON-importskabelon til en samling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Importskabelon CSV til en samling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12681,64 +12693,66 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Påkrævet</td>
|
||||
<td>Flydende tal (Float)</td>
|
||||
<td>Skal være til stede og indeholde en flydende værdi (Float), der er større end 0,0.</td>
|
||||
<td>Påkrævet felt</td>
|
||||
<td>Flydende punkt-tal (Float)</td>
|
||||
<td>Skal være udfyldt og indeholde en flydende værdi (Float), der er større end 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Hvis til stede, skal det være en ikke-tom streng.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Hvis det er angivet, skal det være en ikke-tom streng. Navn på posten inden for samlingen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Hvis angivet, skal det være et objekt/array, og mindst ét af felterne skal udfyldes:
|
||||
Hvis en del skal tildeles, skal det være et objekt/array, og mindst et af følgende felter skal være udfyldt:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal (Integer) > 0. Matcher Part-DB's interne numeriske ID for komponenten.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Ikke-tom streng, hvis part.mpnr eller part.ipn ikke er givet.</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for delen i database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Ikke-tom streng, hvis part.name eller part.ipn ikke er givet.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Ikke-tom streng, hvis ingen part.id-, part.ipn- eller part.name-værdi er angivet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Ikke-tom streng, hvis part.name eller part.mpnr ikke er givet.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Ikke-tom streng, hvis ingen part.id-, part.mpnr- eller part.name-værdi er angivet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Ikke-tom streng, hvis ingen part.id-, part.mpnr- eller part.ipn-værdi er angivet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String eller null</td>
|
||||
<td>Hvis til stede, skal det være en ikke-tom streng eller null.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng eller null</td>
|
||||
<td>Hvis angivet, skal det være en ikke-tom streng eller null. Værdien bliver overskrevet i delen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Hvis til stede, skal det være et objekt/array, og mindst ét af felterne skal udfyldes:
|
||||
Hvis producenten af en del skal ændres eller entydigt søges ved hjælp af part.mpnr-værdien, skal det være et objekt/array og mindst et af følgende felter skal være udfyldt:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12747,22 +12761,22 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal (Integer) > 0. Matcher producentens interne numeriske ID.</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for producenten.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Ikke-tom streng, hvis manufacturer.id ikke er givet.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Ikke-tom streng, hvis ingen manufacturer.id er angivet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Hvis til stede, skal det være et objekt/array, og mindst ét af felterne skal udfyldes:
|
||||
Hvis en delens kategori skal ændres, skal det være et objekt/array, og mindst et af følgende felter skal være udfyldt:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12771,15 +12785,140 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
</tr>
|
||||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>Valgfri</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal (Integer) > 0. Matcher komponentkategoriens interne numeriske ID.</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for delens kategori.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Valgfri</td>
|
||||
<td>String</td>
|
||||
<td>Ikke-tom streng, hvis category.id ikke er givet.</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Ikke-tom streng, hvis ingen category.id er angivet.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Mulige kolonner:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Kolonne</th>
|
||||
<th>Betingelse</th>
|
||||
<th>Datatype</th>
|
||||
<th>Beskrivelse</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Påkrævet felt</td>
|
||||
<td>Flydende punkt-tal (Float)</td>
|
||||
<td>Skal være udfyldt og indeholde en flydende værdi (Float), der er større end 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Navnet på posten inden for samlingen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolonner, der starter med part_</strong></td>
|
||||
<td>
|
||||
Hvis en del skal tildeles, skal en af følgende kolonner være angivet og udfyldt:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for delen i databasen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Skal angives, hvis ingen af kolonnerne part_id, part_ipn, eller part_name er udfyldt.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Skal angives, hvis ingen af kolonnerne part_id, part_mpnr eller part_name er udfyldt.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Skal angives, hvis ingen af kolonnerne part_id, part_mpnr eller part_ipn er udfyldt.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Vil blive overført og overskrive værdien for delen, hvis en ikke-tom streng er angivet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolonner, der starter med part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Hvis producenten for en del skal ændres eller søges entydigt ved hjælp af part_mpnr, skal en af følgende kolonner være angivet og udfyldt:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for producenten.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Skal angives, hvis ingen part_manufacturer_id er udfyldt.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolonner, der starter med part.category_</strong></td>
|
||||
<td>
|
||||
Hvis en dels kategori skal ændres, skal en af følgende kolonner være angivet og udfyldt:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Heltal (Integer)</td>
|
||||
<td>Heltal > 0. Tilsvarer den interne nummer-ID for delens kategori.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Valgfrit</td>
|
||||
<td>Streng</td>
|
||||
<td>Skal angives, hvis ingen part_category_id er udfyldt.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -13064,7 +13064,7 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<unit id="_wZ_JZY" name="assembly.edit.bom.import_bom">
|
||||
<segment>
|
||||
<source>assembly.edit.bom.import_bom</source>
|
||||
<target>Bauteile importieren</target>
|
||||
<target>Importiere Bauteil-Liste</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vsmgKMw" name="log.database_updated.failed">
|
||||
|
|
@ -13319,6 +13319,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>JSON für eine Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV für eine Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -13343,6 +13349,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Import-Vorlage JSON für eine Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Import-Vorlage CSV für eine Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -13410,16 +13422,18 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<td>name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Falls vorhanden, muss es ein nicht-leerer String sein.</td>
|
||||
<td>Falls vorhanden, muss es ein nicht-leerer String sein. Name des Eintrags innerhalb der Baugruppe.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Optional</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Falls angegeben, muss es ein Objekt/Array sein und mindestens eines der Felder ausgefüllt sein:
|
||||
Falls ein Bauteil zugeordnet werden soll, muss es ein Objekt/Array und mindestens eines der Felder ausgefüllt sein:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -13430,36 +13444,36 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Ganzzahl (Integer) > 0. Entspricht der Part-DB internen numerischen ID des Bauteils.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine part.mpnr- bzw. part.ipn-Angabe gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine part.name- bzw. part-ipn-Angabe gegeben ist.</td>
|
||||
<td>Nicht-leerer String, falls keine part.id-, part-ipn- bzw. part.name-Angabe gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine part.name- bzw. part.mpnr-Angabe gegeben ist.</td>
|
||||
<td>Nicht-leerer String, falls keine part.id-, part.mpnr bzw. part.name-Angabe gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine part.id-, part.mpnr- bzw. part.ipn-Angabe gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Optional</td>
|
||||
<td>String oder null</td>
|
||||
<td>Falls vorhanden, muss es ein nicht-leerer String sein oder null.</td>
|
||||
<td>Falls vorhanden, muss es ein nicht-leerer String sein oder null. Wird in das Bauteil übernommen, d.h. der dortige Wert überschrieben.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Optional</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Falls vorhanden, muss es ein Objekt/Array sein und mindestens eines der Felder ausgefüllt sein:
|
||||
Falls der Hersteller eines Bauteils mit angepasst werden oder das Bauteil anhand der part.mpnr-Angabe eindeutig gesucht werden soll, muss es ein Objekt/Array und mindestens eines der Felder ausgefüllt sein:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -13483,7 +13497,7 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<td>Optional</td>
|
||||
<td>Objekt/Array</td>
|
||||
<td>
|
||||
Falls vorhanden, muss es ein Objekt/Array sein und mindestens eines der Felder ausgefüllt sein:
|
||||
Falls die Kategorie eine Bauteils mit angepasst werden soll, muss es ein Objekt/Array und mindestens eines der Felder ausgefüllt sein:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -13508,6 +13522,131 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Mögliche Spalten:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Spalte</th>
|
||||
<th>Bedingung</th>
|
||||
<th>Datentyp</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Pflichtfeld</td>
|
||||
<td>Gleitkommazahl (Float)</td>
|
||||
<td>Muss gegeben sein und enthält einen Gleitkommawert (Float), der größer als 0.0 ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Name des Eintrags innerhalb der Baugruppe.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Spalten beginnend mit part_</strong></td>
|
||||
<td>
|
||||
Falls ein Bauteil zugeordnet werden soll, muss eine der folgenden Spalten gegeben und ausgefüllt sein:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Ganzzahl (Integer) > 0. Entspricht der Part-DB internen numerischen ID des Bauteils.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Anzugeben, falls keine part_id-, part_ipn- bzw. part_name-Spalte ausgefüllt gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Anzugeben, falls keine part_id-, part_mpnr- bzw. part_name-Spalte ausgefüllt gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Anzugeben, falls keine part_id-, part_mpnr- bzw. part_ipn-Spalte ausgefüllt gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Wird in das Bauteil übernommen, d.h. der dortige Wert überschrieben sofern ein nicht-leerer String gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Spalten beginnend mit part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Falls der Hersteller eines Bauteils mit angepasst werden oder das Bauteil anhand der part_mpnr-Angabe eindeutig gesucht werden soll, muss eine der folgenden Spalten gegeben und ausgefüllt sein:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Ganzzahl (Integer) > 0. Entspricht der internen numerischen ID des Herstellers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Anzugeben, falls keine part_manufacturer_id-Spalte ausgefüllt gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Spalten beginnend mit part.category_</strong></td>
|
||||
<td>
|
||||
Falls die Kategorie eines Bauteils mit angepasst werden soll, muss eine der folgenden Spalten gegeben und ausgefüllt sein:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Ganzzahl (Integer) > 0. Entspricht der internen numerischen ID der Kategorie des Bauteils.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Anzugeben, falls keine part_category_id-Spalte ausgefüllt gegeben ist.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="cU1bfDa" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns</source>
|
||||
|
|
|
|||
|
|
@ -1925,6 +1925,12 @@
|
|||
<target>JSON για συναρμολόγηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV για μια συναρμολόγηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -1949,6 +1955,12 @@
|
|||
<target>Πρότυπο εισαγωγής JSON για συναρμολόγηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Πρότυπο CSV εισαγωγής για μια συναρμολόγηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -2001,7 +2013,7 @@
|
|||
<tr>
|
||||
<th>Πεδίο</th>
|
||||
<th>Προϋπόθεση</th>
|
||||
<th>Τύπος Δεδομένων</th>
|
||||
<th>Τύπος δεδομένων</th>
|
||||
<th>Περιγραφή</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -2010,22 +2022,24 @@
|
|||
<td>quantity</td>
|
||||
<td>Υποχρεωτικό πεδίο</td>
|
||||
<td>Αριθμός κινητής υποδιαστολής (Float)</td>
|
||||
<td>Πρέπει να παρέχεται και να περιέχει τιμή κινητής υποδιαστολής (Float) μεγαλύτερη από 0.0.</td>
|
||||
<td>Πρέπει να είναι συμπληρωμένος και να περιέχει μια αριθμητική τιμή (Float) μεγαλύτερη από 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Εάν υπάρχει, πρέπει να είναι μη κενό κείμενο.</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Αν υπάρχει, πρέπει να είναι μη κενό κείμενο. Το όνομα του είδους μέσα στη συλλογή.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Αντικείμενο/Πίνακας</td>
|
||||
<td>
|
||||
Εάν παρέχεται, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα πεδία του να είναι συμπληρωμένο:
|
||||
Αν πρόκειται να ανατεθεί ένα εξάρτημα, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα παρακάτω πεδία πρέπει να έχει συμπληρωθεί:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -2034,38 +2048,38 @@
|
|||
<td>part.id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος (Integer) > 0. Αντιστοιχεί στην εσωτερική αριθμητική ταυτότητα (ID) του εξαρτήματος στη βάση δεδομένων.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Μη κενό κείμενο, εάν δεν παρέχονται οι ενδείξεις part.mpnr ή part.ipn.</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID του εξαρτήματος στη βάση δεδομένων.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Μη κενό κείμενο, εάν δεν παρέχονται οι ενδείξεις part.name ή part.ipn.</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Μη κενό κείμενο, αν δεν έχει συμπληρωθεί το part.id, part.ipn ή part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Μη κενό κείμενο, εάν δεν παρέχονται οι ενδείξεις part.name ή part.mpnr.</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Μη κενό κείμενο, αν δεν έχει συμπληρωθεί το part.id, part.mpnr ή part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Μη κενό κείμενο, αν δεν έχει συμπληρωθεί το part.id, part.mpnr ή part.ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο ή null</td>
|
||||
<td>Εάν υπάρχει, πρέπει να είναι μη κενό κείμενο, ή null.</td>
|
||||
<td>Χαρακτηριστική ακολουθία ή null</td>
|
||||
<td>Αν υπάρχει, πρέπει να είναι μη κενό κείμενο ή null. Υπερισχύει της υπάρχουσας τιμής στο εξάρτημα.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Αντικείμενο/Πίνακας</td>
|
||||
<td>
|
||||
Εάν υπάρχει, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα πεδία του να είναι συμπληρωμένο:
|
||||
Αν ο κατασκευαστής ενός εξαρτήματος χρειάζεται να αλλάξει ή να αναζητηθεί μονοσήμαντα μέσω της τιμής part.mpnr, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα παρακάτω πεδία να είναι συμπληρωμένα:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -2076,20 +2090,20 @@
|
|||
<td>manufacturer.id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος (Integer) > 0. Αντιστοιχεί στην εσωτερική αριθμητική ταυτότητα (ID) του κατασκευαστή.</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID του κατασκευαστή.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Μη κενό κείμενο, εάν δεν παρέχεται η ένδειξη manufacturer.id.</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Μη κενό κείμενο, αν δεν έχει συμπληρωθεί το manufacturer.id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Αντικείμενο/Πίνακας</td>
|
||||
<td>
|
||||
Εάν υπάρχει, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα πεδία του να είναι συμπληρωμένο:
|
||||
Αν χρειάζεται να τροποποιηθεί η κατηγορία του εξαρτήματος, πρέπει να είναι αντικείμενο/πίνακας και τουλάχιστον ένα από τα παρακάτω πεδία να είναι συμπληρωμένα:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -2100,13 +2114,138 @@
|
|||
<td>category.id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος (Integer) > 0. Αντιστοιχεί στην εσωτερική αριθμητική ταυτότητα (ID) της κατηγορίας του εξαρτήματος.</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID της κατηγορίας εξαρτήματος.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Κείμενο (String)</td>
|
||||
<td>Μη κενό κείμενο, εάν δεν παρέχεται η ένδειξη category.id.</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Μη κενό κείμενο, αν δεν έχει συμπληρωθεί το category.id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Δυνατές στήλες:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Στήλη</th>
|
||||
<th>Προϋπόθεση</th>
|
||||
<th>Τύπος δεδομένων</th>
|
||||
<th>Περιγραφή</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Υποχρεωτικό πεδίο</td>
|
||||
<td>Αριθμός κινητής υποδιαστολής (Float)</td>
|
||||
<td>Πρέπει να είναι συμπληρωμένος και να περιέχει μια αριθμητική τιμή (Float) μεγαλύτερη από 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Το όνομα του είδους μέσα στη συλλογή.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Στήλες που ξεκινούν με part_</strong></td>
|
||||
<td>
|
||||
Αν χρειάζεται να αποδοθεί εξάρτημα, πρέπει να συμπληρωθεί μία από τις παρακάτω στήλες:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID του εξαρτήματος στη βάση δεδομένων.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Πρέπει να συμπληρωθεί αν δεν γεμίσουν οι part_id, part_ipn ή part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Πρέπει να συμπληρωθεί αν δεν γεμίσουν οι part_id, part_mpnr ή part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Πρέπει να συμπληρωθεί αν δεν γεμίσουν οι part_id, part_mpnr ή part_ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία</td>
|
||||
<td>Θα μεταφερθεί και θα αντικαταστήσει την τιμή στο εξάρτημα, αν δοθεί μια μη κενή ακολουθία.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Στήλες που ξεκινούν με part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Αν ο κατασκευαστής του εξαρτήματος πρέπει να αλλάξει ή να αναζητηθεί μονοσήμαντα μέσω της part_mpnr, πρέπει να συμπληρωθεί μία από τις παρακάτω στήλες:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID του κατασκευαστή.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Πρέπει να συμπληρωθεί αν δεν γεμίσει το πεδίο part_manufacturer_id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Στήλες που ξεκινούν με part.category_</strong></td>
|
||||
<td>
|
||||
Αν η κατηγορία του εξαρτήματος πρέπει να αλλάξει, πρέπει να συμπληρωθεί μία από τις παρακάτω στήλες:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Ακέραιος αριθμός (Integer)</td>
|
||||
<td>Ακέραιος αριθμός > 0. Αντιστοιχεί στο εσωτερικό αριθμητικό ID της κατηγορίας του εξαρτήματος.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Προαιρετικό</td>
|
||||
<td>Χαρακτηριστική ακολουθία (String)</td>
|
||||
<td>Πρέπει να συμπληρωθεί αν δεν γεμίσει το πεδίο part_category_id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -13065,7 +13065,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<unit id="_wZ_JZY" name="assembly.edit.bom.import_bom">
|
||||
<segment>
|
||||
<source>assembly.edit.bom.import_bom</source>
|
||||
<target>Import BOM</target>
|
||||
<target>Import part list</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vsmgKMw" name="log.database_updated.failed">
|
||||
|
|
@ -13269,7 +13269,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<unit id="UJpD7n6" name="assembly.import_bom">
|
||||
<segment>
|
||||
<source>assembly.import_bom</source>
|
||||
<target>Import BOM for project</target>
|
||||
<target>Import part list for assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WTasGao" name="assembly.bom.part">
|
||||
|
|
@ -13317,7 +13317,13 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<unit id="LtbSLHx" name="assembly.bom_import.type.json">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.json</source>
|
||||
<target>JSON for one assembly</target>
|
||||
<target>JSON for an assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV for an assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
|
|
@ -13344,6 +13350,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Import template JSON format for one assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Import template CSV format for one assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="RVNWPsh" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -13396,31 +13408,33 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Condition</th>
|
||||
<th>Data type</th>
|
||||
<th>Data Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Required</td>
|
||||
<td>Floating point (Float)</td>
|
||||
<td>Must be provided and contains a floating-point value (Float) greater than 0.0.</td>
|
||||
<td>Mandatory</td>
|
||||
<td>Floating point number (Float)</td>
|
||||
<td>Must be provided and contains a floating point value (Float), which is greater than 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>If present, it must be a non-empty string.</td>
|
||||
<td>If present, it must be a non-empty string. Name of the entry within the assembly.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Optional</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
If provided, it must be an object/array and at least one of the fields must be filled:
|
||||
If a part is to be associated, it must be an object/array with at least one of the following fields filled out:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -13429,38 +13443,38 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<td>part.id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Matches the Part-DB internal numeric ID of the component.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string if no part.mpnr or part.ipn is provided.</td>
|
||||
<td>Integer > 0. Corresponds to the part database internal numeric ID of the part.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string if no part.name or part.ipn is provided.</td>
|
||||
<td>Non-empty string, if no part.id, part.ipn, or part.name is provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string if no part.name or part.mpnr is provided.</td>
|
||||
<td>Non-empty string, if no part.id, part.mpnr, or part.name is provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string, if no part.id, part.mpnr, or part.ipn is provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Optional</td>
|
||||
<td>String or null</td>
|
||||
<td>If present, it must be a non-empty string or null.</td>
|
||||
<td>If provided, it must be a non-empty string or null. It will be transferred to the part, overwriting its current value.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Optional</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
If present, it must be an object/array and at least one of the fields must be filled:
|
||||
If the manufacturer of a part is to be adjusted or the part is to be uniquely identified using the part.mpnr, it must be an object/array with at least one of the following fields filled out:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -13471,20 +13485,20 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<td>manufacturer.id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Matches the internal numeric ID of the manufacturer.</td>
|
||||
<td>Integer > 0. Corresponds to the internal numeric ID of the manufacturer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string if no manufacturer.id is provided.</td>
|
||||
<td>Non-empty string, if no manufacturer.id is provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Optional</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
If present, it must be an object/array and at least one of the fields must be filled:
|
||||
If the category of a part is to be adjusted, it must be an object/array with at least one of the following fields filled out:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -13495,13 +13509,138 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<td>category.id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Matches the internal numeric ID of the component's category.</td>
|
||||
<td>Integer > 0. Corresponds to the internal numeric ID of the part category.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Non-empty string if no category.id is provided.</td>
|
||||
<td>Non-empty string, if no category.id is provided.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Possible columns:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Column</th>
|
||||
<th>Condition</th>
|
||||
<th>Data Type</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Mandatory</td>
|
||||
<td>Floating point number (Float)</td>
|
||||
<td>Must be provided and contains a floating point value (Float), which is greater than 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Name of the entry within the assembly.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columns starting with part_</strong></td>
|
||||
<td>
|
||||
If a part is to be associated, one of the following columns must be provided and filled out:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Corresponds to the part database internal numeric ID of the part.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Must be provided if no part_id, part_ipn, or part_name column is filled out.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Must be provided if no part_id, part_mpnr, or part_name column is filled out.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Must be provided if no part_id, part_mpnr, or part_ipn column is filled out.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Will be transferred to the part, overwriting its current value if a non-empty string is provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columns starting with part_manufacturer_</strong></td>
|
||||
<td>
|
||||
If the manufacturer of a part is to be adjusted or the part is to be uniquely identified using the part_mpnr, one of the following columns must be provided and filled out:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Corresponds to the internal numeric ID of the manufacturer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Must be provided if no part_manufacturer_id column is filled out.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columns starting with part.category_</strong></td>
|
||||
<td>
|
||||
If the category of a part is to be adjusted, one of the following columns must be provided and filled out:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Optional</td>
|
||||
<td>Integer</td>
|
||||
<td>Integer > 0. Corresponds to the internal numeric ID of the part category.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Must be provided if no part_category_id column is filled out.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -12758,6 +12758,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>JSON para un ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV para un ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12782,6 +12788,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Plantilla de importación JSON para un ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Plantilla de importación CSV para un ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12834,31 +12846,33 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<tr>
|
||||
<th>Campo</th>
|
||||
<th>Condición</th>
|
||||
<th>Tipo de dato</th>
|
||||
<th>Tipo de datos</th>
|
||||
<th>Descripción</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Obligatorio</td>
|
||||
<td>Número decimal (Float)</td>
|
||||
<td>Debe estar presente y contener un valor decimal (Float) mayor que 0.0.</td>
|
||||
<td>Campo obligatorio</td>
|
||||
<td>Número de punto flotante (Float)</td>
|
||||
<td>Debe completarse y contener un valor flotante (Float) mayor a 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Si está presente, debe ser una cadena de texto no vacía.</td>
|
||||
<td>Cadena</td>
|
||||
<td>Si se especifica, debe ser una cadena no vacía. El nombre del elemento dentro del conjunto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Opcional</td>
|
||||
<td>Objeto/Array</td>
|
||||
<td>
|
||||
Si se proporciona, debe ser un objeto/array y al menos uno de los campos debe estar completado:
|
||||
Si se debe asignar una pieza, debe ser un objeto/array, y al menos uno de los siguientes campos debe completarse:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -12867,38 +12881,38 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<td>part.id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero (Integer) > 0. Corresponde al ID numérico interno del componente en la base de datos.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Cadena de texto no vacía, si no se proporciona part.mpnr o part.ipn.</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico de la pieza en la base de datos.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Cadena de texto no vacía, si no se proporciona part.name o part.ipn.</td>
|
||||
<td>Cadena</td>
|
||||
<td>Cadena no vacía si no se rellenan los campos part.id, part.ipn o part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Cadena de texto no vacía, si no se proporciona part.name o part.mpnr.</td>
|
||||
<td>Cadena</td>
|
||||
<td>Cadena no vacía si no se rellenan los campos part.id, part.mpnr o part.name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Cadena no vacía si no se rellenan los campos part.id, part.mpnr o part.ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String) o null</td>
|
||||
<td>Si está presente, debe ser una cadena de texto no vacía o null.</td>
|
||||
<td>Cadena o null</td>
|
||||
<td>Si se especifica, debe ser una cadena no vacía o null. Este valor sobrescribirá el existente en la pieza.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Opcional</td>
|
||||
<td>Objeto/Array</td>
|
||||
<td>
|
||||
Si está presente, debe ser un objeto/array y al menos uno de los campos debe estar completado:
|
||||
Si se desea cambiar el fabricante de la pieza o buscarlo de forma única utilizando el valor part.mpnr, debe ser un objeto/array y al menos uno de los siguientes campos debe completarse:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12909,20 +12923,20 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<td>manufacturer.id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero (Integer) > 0. Corresponde al ID numérico interno del fabricante.</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico del fabricante.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Cadena de texto no vacía, si no se proporciona manufacturer.id.</td>
|
||||
<td>Cadena</td>
|
||||
<td>Cadena no vacía si no se proporciona el campo manufacturer.id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Opcional</td>
|
||||
<td>Objeto/Array</td>
|
||||
<td>
|
||||
Si está presente, debe ser un objeto/array y al menos uno de los campos debe estar completado:
|
||||
Si se desea cambiar la categoría de la pieza, debe ser un objeto/array y al menos uno de los siguientes campos debe completarse:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12933,13 +12947,138 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<td>category.id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero (Integer) > 0. Corresponde al ID numérico interno de la categoría del componente.</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico de la categoría de la pieza.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena de texto (String)</td>
|
||||
<td>Cadena de texto no vacía, si no se proporciona category.id.</td>
|
||||
<td>Cadena</td>
|
||||
<td>Cadena no vacía si no se proporciona el campo category.id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Columnas posibles:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Columna</th>
|
||||
<th>Condición</th>
|
||||
<th>Tipo de datos</th>
|
||||
<th>Descripción</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Campo obligatorio</td>
|
||||
<td>Número de punto flotante (Float)</td>
|
||||
<td>Debe completarse y contener un valor flotante (Float) mayor a 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>El nombre del elemento dentro del conjunto.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columnas que comienzan con part_</strong></td>
|
||||
<td>
|
||||
Si se debe asignar una pieza, al menos una de las siguientes columnas debe completarse:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico de la pieza en la base de datos.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Debe completarse si no se han rellenado las columnas part_id, part_ipn o part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Debe completarse si no se han rellenado las columnas part_id, part_mpnr o part_name.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Debe completarse si no se han rellenado las columnas part_id, part_mpnr o part_ipn.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Se transferirá y reemplazará el valor de la descripción de la pieza si se proporciona una cadena no vacía.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columnas que comienzan con part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Si el fabricante de la pieza debe cambiarse o buscarse exclusivamente mediante part_mpnr, al menos una de las siguientes columnas debe completarse:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico del fabricante.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Debe completarse si no se ha proporcionado el campo part_manufacturer_id.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Columnas que comienzan con part.category_</strong></td>
|
||||
<td>
|
||||
Si se necesita modificar la categoría de la pieza, al menos una de las siguientes columnas debe completarse:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Opcional</td>
|
||||
<td>Entero (Integer)</td>
|
||||
<td>Entero > 0. Corresponde al ID interno numérico de la categoría de la pieza.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Opcional</td>
|
||||
<td>Cadena</td>
|
||||
<td>Debe completarse si no se ha proporcionado el campo part_category_id.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -9487,6 +9487,12 @@ exemple de ville</target>
|
|||
<target>JSON pour un assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV pour un assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -9511,6 +9517,12 @@ exemple de ville</target>
|
|||
<target>Modèle d’importation JSON pour un assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Modèle d'importation CSV pour un assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -9570,24 +9582,26 @@ exemple de ville</target>
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Obligatoire</td>
|
||||
<td>Nombre décimal (Float)</td>
|
||||
<td>Doit être présent et contenir une valeur décimale (Float) supérieure à 0,0.</td>
|
||||
<td>Champ obligatoire</td>
|
||||
<td>Nombre à virgule flottante (Float)</td>
|
||||
<td>Doit être rempli et contenir une valeur décimale (Float) supérieure à 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Si présent, doit être une chaîne non vide.</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Si renseigné, doit être une chaîne non vide. Le nom de l'élément dans l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Objet/Tableau</td>
|
||||
<td>
|
||||
Si fourni, doit être un objet/un tableau et au moins un des champs doit être rempli :
|
||||
Si une pièce doit être assignée, cela doit être un objet/tableau et au moins un des champs suivants doit être renseigné :
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -9596,38 +9610,38 @@ exemple de ville</target>
|
|||
<td>part.id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Entier (Integer) > 0. Correspond à l'ID numérique interne dans Part-DB du composant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Chaîne non vide si part.mpnr ou part.ipn ne sont pas fournis.</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique de la pièce dans la base de données.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Chaîne non vide si part.name ou part.ipn ne sont pas fournis.</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Chaîne non vide si part.id, part.ipn ou part.name ne sont pas renseignés.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Chaîne non vide si part.name ou part.mpnr ne sont pas fournis.</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Chaîne non vide si part.id, part.mpnr ou part.name ne sont pas renseignés.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Chaîne non vide si part.id, part.mpnr ou part.ipn ne sont pas renseignés.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne ou null</td>
|
||||
<td>Si présent, doit être une chaîne non vide ou null.</td>
|
||||
<td>Si renseignée, doit être une chaîne non vide ou null. Ce champ remplacera la valeur existante de la pièce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Objet/Tableau</td>
|
||||
<td>
|
||||
Si présent, doit être un objet/un tableau et au moins un des champs doit être rempli :
|
||||
Si le fabricant de la pièce doit être modifié ou recherché de manière unique à l'aide de la valeur part.mpnr, cela doit être un objet/tableau et au moins un des champs suivants doit être renseigné :
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -9638,20 +9652,20 @@ exemple de ville</target>
|
|||
<td>manufacturer.id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Entier (Integer) > 0. Correspond à l'ID numérique interne du fabricant.</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique du fabricant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Chaîne non vide si manufacturer.id n'est pas fourni.</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Chaîne non vide si manufacturer.id n'est pas renseigné.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Objet/Tableau</td>
|
||||
<td>
|
||||
Si présent, doit être un objet/un tableau et au moins un des champs doit être rempli :
|
||||
Si la catégorie de la pièce doit être modifiée, cela doit être un objet/tableau et au moins un des champs suivants doit être renseigné :
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -9662,13 +9676,138 @@ exemple de ville</target>
|
|||
<td>category.id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Entier (Integer) > 0. Correspond à l'ID numérique interne de la catégorie du composant.</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique de la catégorie de la pièce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne (String)</td>
|
||||
<td>Chaîne non vide si category.id n'est pas fourni.</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Chaîne non vide si category.id n'est pas renseigné.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Colonnes possibles :</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Colonne</th>
|
||||
<th>Condition</th>
|
||||
<th>Type de données</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Champ obligatoire</td>
|
||||
<td>Nombre à virgule flottante (Float)</td>
|
||||
<td>Doit être rempli et contenir une valeur décimale (Float) supérieure à 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Le nom de l'élément dans l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonnes commençant par part_</strong></td>
|
||||
<td>
|
||||
Si une pièce doit être assignée, au moins une des colonnes suivantes doit être renseignée :
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique de la pièce dans la base de données.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Doit être renseignée si les colonnes part_id, part_ipn ou part_name ne sont pas remplies.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Doit être renseignée si les colonnes part_id, part_mpnr ou part_name ne sont pas remplies.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Doit être renseignée si les colonnes part_id, part_mpnr ou part_ipn ne sont pas remplies.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Sera transférée et remplacera la valeur existante de la description si une chaîne non vide est fournie.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonnes commençant par part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Si le fabricant de la pièce doit être modifié ou recherché uniquement via part_mpnr, au moins une des colonnes suivantes doit être renseignée :
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique du fabricant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Doit être renseignée si part_manufacturer_id n'est pas fourni.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonnes commençant par part.category_</strong></td>
|
||||
<td>
|
||||
Si la catégorie de la pièce doit être modifiée, au moins une des colonnes suivantes doit être renseignée :
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier (Integer)</td>
|
||||
<td>Nombre entier > 0. Correspond à l'ID interne numérique de la catégorie de la pièce.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Doit être renseignée si part_category_id n'est pas fourni.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -9679,75 +9818,75 @@ exemple de ville</target>
|
|||
<unit id="cU1bfDa" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns</source>
|
||||
<target>Colonnes attendues :</target>
|
||||
<target>Colonnes attendues:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gvaB1sb" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns.note">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Remarque :</strong> Aucun mappage n'est effectué avec des composants spécifiques issus de la gestion des catégories.</p>
|
||||
]]>
|
||||
<![CDATA[
|
||||
<p><strong>Remarque:</strong> Aucun mappage n'est effectué avec des composants spécifiques issus de la gestion des catégories.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Champ</th>
|
||||
<th>Condition</th>
|
||||
<th>Type de Données</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier</td>
|
||||
<td>Champ libre. Un numéro d'identification unique pour chaque composant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Une désignation de référence unique pour le composant sur le PCB, par exemple, "R1" pour la résistance 1.<br>Utilisé comme le nom de l'emplacement de l'entrée composant dans l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Le boîtier ou le format du composant, par exemple, "0805" pour les résistances CMS.<br>Non inclus dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Obligatoire</td>
|
||||
<td>Entier</td>
|
||||
<td>Le nombre de composants identiques nécessaires pour créer une instance de l'assemblage.<br>Utilisé comme la quantité dans l'entrée composant de l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Obligatoire</td>
|
||||
<td>Chaîne</td>
|
||||
<td>La description ou la fonction du composant, par exemple, valeur de résistance "10kΩ" ou valeur de condensateur "100nF".<br>Utilisé comme le nom dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Peut contenir par exemple des informations spécifiques sur le fournisseur.<br>Utilisé comme une note dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Champ</th>
|
||||
<th>Condition</th>
|
||||
<th>Type de Données</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Entier</td>
|
||||
<td>Champ libre. Un numéro d'identification unique pour chaque composant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Une désignation de référence unique pour le composant sur le PCB, par exemple, "R1" pour la résistance 1.<br>Utilisé comme le nom de l'emplacement de l'entrée composant dans l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Le boîtier ou le format du composant, par exemple, "0805" pour les résistances CMS.<br>Non inclus dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Obligatoire</td>
|
||||
<td>Entier</td>
|
||||
<td>Le nombre de composants identiques nécessaires pour créer une instance de l'assemblage.<br>Utilisé comme la quantité dans l'entrée composant de l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Obligatoire</td>
|
||||
<td>Chaîne</td>
|
||||
<td>La description ou la fonction du composant, par exemple, valeur de résistance "10kΩ" ou valeur de condensateur "100nF".<br>Utilisé comme le nom dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Optionnel</td>
|
||||
<td>Chaîne</td>
|
||||
<td>Champ libre. Peut contenir par exemple des informations spécifiques sur le fournisseur.<br>Utilisé comme une note dans l'entrée composant pour l'assemblage.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -12736,6 +12736,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>JSON per un gruppo</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV per un'assemblaggio</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12760,6 +12766,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Template di importazione JSON per un gruppo</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Modello di importazione CSV per un assemblaggio</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12812,31 +12824,33 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<tr>
|
||||
<th>Campo</th>
|
||||
<th>Condizione</th>
|
||||
<th>Tipo di dato</th>
|
||||
<th>Tipo di dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Obbligatorio</td>
|
||||
<td>Campo obbligatorio</td>
|
||||
<td>Numero decimale (Float)</td>
|
||||
<td>Deve essere presente e contenere un valore decimale (Float) maggiore di 0,0.</td>
|
||||
<td>Deve essere compilato e contenere un valore decimale (Float) maggiore di 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Se presente, deve essere una stringa non vuota.</td>
|
||||
<td>Stringa</td>
|
||||
<td>Se specificato, deve essere una stringa non vuota. Il nome del componente all'interno dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Oggetto/Array</td>
|
||||
<td>
|
||||
Se fornito, deve essere un oggetto/un array e almeno uno dei campi deve essere compilato:
|
||||
Se è necessario assegnare una parte, deve essere un Oggetto/Array e almeno uno dei seguenti campi deve essere compilato:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -12844,39 +12858,39 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Intero (Integer)</td>
|
||||
<td>Intero (Integer) > 0. Corrisponde all'ID numerico interno di Part-DB per il componente.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Stringa non vuota se part.mpnr o part.ipn non sono forniti.</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico del componente nel database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Stringa non vuota se part.name o part.ipn non sono forniti.</td>
|
||||
<td>Stringa</td>
|
||||
<td>Stringa non vuota se i campi part.id, part.ipn o part.name non sono compilati.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Stringa non vuota se part.name o part.mpnr non sono forniti.</td>
|
||||
<td>Stringa</td>
|
||||
<td>Stringa non vuota se i campi part.id, part.mpnr o part.name non sono compilati.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Stringa non vuota se i campi part.id, part.mpnr o part.ipn non sono compilati.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa o null</td>
|
||||
<td>Se presente, deve essere una stringa non vuota o null.</td>
|
||||
<td>Se specificato, deve essere una stringa non vuota o null. Questo valore sovrascriverà quello esistente nella parte.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Oggetto/Array</td>
|
||||
<td>
|
||||
Se presente, deve essere un oggetto/un array e almeno uno dei campi deve essere compilato:
|
||||
Se il produttore della parte deve essere cambiato o ricercato esclusivamente utilizzando il valore part.mpnr, deve essere un Oggetto/Array e almeno uno dei seguenti campi deve essere compilato:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12886,21 +12900,21 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Intero (Integer)</td>
|
||||
<td>Intero (Integer) > 0. Corrisponde all'ID numerico interno del produttore.</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico del produttore.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Stringa non vuota se manufacturer.id non è fornito.</td>
|
||||
<td>Stringa</td>
|
||||
<td>Stringa non vuota se il campo manufacturer.id non è compilato.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Oggetto/Array</td>
|
||||
<td>
|
||||
Se presente, deve essere un oggetto/un array e almeno uno dei campi deve essere compilato:
|
||||
Se è necessario modificare la categoria della parte, deve essere un Oggetto/Array e almeno uno dei seguenti campi deve essere compilato:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12910,14 +12924,139 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Intero (Integer)</td>
|
||||
<td>Intero (Integer) > 0. Corrisponde all'ID numerico interno della categoria del componente.</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico della categoria della parte.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa (String)</td>
|
||||
<td>Stringa non vuota se category.id non è fornito.</td>
|
||||
<td>Stringa</td>
|
||||
<td>Stringa non vuota se il campo category.id non è compilato.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Colonne possibili:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Colonna</th>
|
||||
<th>Condizione</th>
|
||||
<th>Tipo di dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Campo obbligatorio</td>
|
||||
<td>Numero decimale (Float)</td>
|
||||
<td>Deve essere compilato e contenere un valore decimale (Float) maggiore di 0.0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Il nome dell'elemento all'interno dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonne che iniziano con part_</strong></td>
|
||||
<td>
|
||||
Se è necessario assegnare una parte, almeno una delle colonne seguenti deve essere compilata:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico del componente nel database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Deve essere compilato se le colonne part_id, part_ipn o part_name non sono compilate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Deve essere compilato se le colonne part_id, part_mpnr o part_name non sono compilate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Deve essere compilato se le colonne part_id, part_mpnr o part_ipn non sono compilate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Sarà trasferita e sostituirà il valore esistente della descrizione se viene fornita una stringa non vuota.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonne che iniziano con part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Se il produttore del componente deve essere modificato o ricercato esclusivamente tramite part_mpnr, almeno una delle seguenti colonne deve essere compilata:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico del produttore.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Deve essere compilata se il campo part_manufacturer_id non è fornito.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Colonne che iniziano con part_category_</strong></td>
|
||||
<td>
|
||||
Se è necessario modificare la categoria della parte, almeno una delle seguenti colonne deve essere compilata:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Numero intero</td>
|
||||
<td>Numero intero > 0. Corrisponde all'ID interno numerico della categoria del componente.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Deve essere compilata se il campo part_category_id non è fornito.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -12942,61 +13081,61 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Campo</th>
|
||||
<th>Condizione</th>
|
||||
<th>Tipo di Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Intero</td>
|
||||
<td>Campo libero. Un numero identificativo univoco per ogni componente.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. Un riferimento univoco al componente su PCB, ad esempio "R1" per il resistore 1.<br>Utilizzato come nome della posizione nella voce componenti all'interno dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. L'involucro o il fattore di forma del componente, ad esempio "0805" per i resistori SMD.<br>Non incluso nelle informazioni del componente nell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Obbligatorio</td>
|
||||
<td>Intero</td>
|
||||
<td>Il numero di componenti identici richiesti per creare un'istanza dell'assemblaggio.<br>Utilizzato come quantità nella voce componenti dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Obbligatorio</td>
|
||||
<td>Stringa</td>
|
||||
<td>Descrizione o funzione del componente, ad esempio valore resistore "10kΩ" o valore condensatore "100nF".<br>Utilizzato come nome nella voce componenti dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. Può contenere, ad esempio, informazioni specifiche del fornitore.<br>Utilizzato come nota nelle informazioni del componente nell'assemblaggio.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Campo</th>
|
||||
<th>Condizione</th>
|
||||
<th>Tipo di Dati</th>
|
||||
<th>Descrizione</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Intero</td>
|
||||
<td>Campo libero. Un numero identificativo univoco per ogni componente.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. Un riferimento univoco al componente su PCB, ad esempio "R1" per il resistore 1.<br>Utilizzato come nome della posizione nella voce componenti all'interno dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. L'involucro o il fattore di forma del componente, ad esempio "0805" per i resistori SMD.<br>Non incluso nelle informazioni del componente nell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Obbligatorio</td>
|
||||
<td>Intero</td>
|
||||
<td>Il numero di componenti identici richiesti per creare un'istanza dell'assemblaggio.<br>Utilizzato come quantità nella voce componenti dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Obbligatorio</td>
|
||||
<td>Stringa</td>
|
||||
<td>Descrizione o funzione del componente, ad esempio valore resistore "10kΩ" o valore condensatore "100nF".<br>Utilizzato come nome nella voce componenti dell'assemblaggio.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Opzionale</td>
|
||||
<td>Stringa</td>
|
||||
<td>Campo libero. Può contenere, ad esempio, informazioni specifiche del fornitore.<br>Utilizzato come nota nelle informazioni del componente nell'assemblaggio.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -9188,6 +9188,12 @@ Exampletown</target>
|
|||
<target>アセンブリ用 JSON</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>アセンブリ用のCSV</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -9212,6 +9218,12 @@ Exampletown</target>
|
|||
<target>アセンブリ用 JSON テンプレート</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>アセンブリ用のCSVインポートテンプレート</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -9271,24 +9283,26 @@ Exampletown</target>
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>必須</td>
|
||||
<td>必須項目</td>
|
||||
<td>浮動小数点数 (Float)</td>
|
||||
<td>指定され、0.0より大きい浮動小数点値 (Float) を含む必要があります。</td>
|
||||
<td>入力必須で、0.0よりも大きい浮動小数点数 (Float) を含む必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>指定されている場合、空でない文字列でなければなりません。</td>
|
||||
<td>文字列</td>
|
||||
<td>指定されている場合、空でない文字列でなければなりません。アセンブリ内のアイテムの名前。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>任意</td>
|
||||
<td>オブジェクト/配列</td>
|
||||
<td>
|
||||
指定された場合、オブジェクト/配列であり、以下のフィールドのうち少なくとも1つが入力されている必要があります:
|
||||
部品を割り当てる必要がある場合、これはオブジェクト/配列であり、次のフィールドのいずれかを少なくとも1つ入力する必要があります:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -9297,38 +9311,38 @@ Exampletown</target>
|
|||
<td>part.id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。部品の Part-DB 内部数値 ID に対応します。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>part.mpnr または part.ipn が指定されていない場合、空でない文字列でなければなりません。</td>
|
||||
<td>0より大きい整数。データベース内の部品の内部数値IDに対応します。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>part.name または part.ipn が指定されていない場合、空でない文字列でなければなりません。</td>
|
||||
<td>文字列</td>
|
||||
<td>part.id、part.ipn、または part.name が入力されていない場合、空でない文字列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>part.name または part.mpnr が指定されていない場合、空でない文字列でなければなりません。</td>
|
||||
<td>文字列</td>
|
||||
<td>part.id、part.mpnr、または part.name が入力されていない場合、空でない文字列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part.id、part.mpnr、または part.ipn が入力されていない場合、空でない文字列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>任意</td>
|
||||
<td>文字列または null</td>
|
||||
<td>指定されている場合、空でない文字列または null でなければなりません。</td>
|
||||
<td>指定されている場合、空でない文字列または null である必要があります。この値は部品の既存の値を上書きします。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>任意</td>
|
||||
<td>オブジェクト/配列</td>
|
||||
<td>
|
||||
指定されている場合、オブジェクト/配列であり、以下のフィールドのうち少なくとも1つが入力されている必要があります:
|
||||
部品のメーカーを変更する場合、または part.mpnr の値を利用して一意に検索する場合、これはオブジェクト/配列であり、次のフィールドのいずれかを少なくとも1つ入力する必要があります:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -9339,20 +9353,20 @@ Exampletown</target>
|
|||
<td>manufacturer.id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。製造元の内部数値 ID に対応します。</td>
|
||||
<td>0より大きい整数。メーカーの内部数値IDに対応します。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>manufacturer.id が指定されていない場合、空でない文字列でなければなりません。</td>
|
||||
<td>文字列</td>
|
||||
<td>manufacturer.id が提供されていない場合、空でない文字列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>任意</td>
|
||||
<td>オブジェクト/配列</td>
|
||||
<td>
|
||||
指定されている場合、オブジェクト/配列であり、以下のフィールドのうち少なくとも1つが入力されている必要があります:
|
||||
部品のカテゴリーを変更する場合、これはオブジェクト/配列であり、次のフィールドのいずれかを少なくとも1つ入力する必要があります:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -9363,13 +9377,138 @@ Exampletown</target>
|
|||
<td>category.id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。コンポーネントカテゴリの内部数値 ID に対応します。</td>
|
||||
<td>0より大きい整数。部品のカテゴリーに対応する内部数値ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列 (String)</td>
|
||||
<td>category.id が指定されていない場合、空でない文字列でなければなりません。</td>
|
||||
<td>文字列</td>
|
||||
<td>category.id が提供されていない場合、空でない文字列。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>可能なカラム:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>カラム</th>
|
||||
<th>条件</th>
|
||||
<th>データ型</th>
|
||||
<th>説明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>必須項目</td>
|
||||
<td>浮動小数点数 (Float)</td>
|
||||
<td>入力必須で、0.0よりも大きい浮動小数点数 (Float) を含む必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>アセンブリ内のアイテムの名前。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>part_ で始まるカラム</strong></td>
|
||||
<td>
|
||||
部品を割り当てる必要がある場合、次のカラムのいずれかが少なくとも1つ入力されなければなりません:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>0より大きい整数。データベース内の部品の内部数値ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part_id、part_ipn、または part_name が入力されていない場合に入力される必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part_id、part_mpnr、または part_name が入力されていない場合に入力される必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part_id、part_mpnr、または part_ipn が入力されていない場合に入力される必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>指定されている場合、部品の説明既存の値を上書きする非空の文字列。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>part_manufacturer_ で始まるカラム</strong></td>
|
||||
<td>
|
||||
部品の製造元を変更する場合、または part_mpnr を利用して一意に検索する場合、次のカラムのいずれかを少なくとも1つ入力する必要があります:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>0より大きい整数。製造元の内部数値ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part_manufacturer_id が入力されていない場合、入力される必要があります。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>part_category_ で始まるカラム</strong></td>
|
||||
<td>
|
||||
部品のカテゴリーを変更する場合、次のカラムのいずれかを少なくとも1つ入力する必要があります:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>任意</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>0より大きい整数。部品のカテゴリーに対応する内部数値ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>part_category_id が提供されていない場合、入力される必要があります。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -9384,71 +9523,71 @@ Exampletown</target>
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="gvaB1sb" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns.note">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>注意:</strong> カテゴリ管理から特定のコンポーネントへのマッピングは行われません。</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>注意:</strong> カテゴリ管理から特定のコンポーネントへのマッピングは行われません。</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>フィールド</th>
|
||||
<th>条件</th>
|
||||
<th>データ型</th>
|
||||
<th>説明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>任意</td>
|
||||
<td>整数</td>
|
||||
<td>自由形式のフィールド。各コンポーネントのユニークな識別番号。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式のフィールド。PCB上のコンポーネントごとの一意のリファレンス識別子。例: 抵抗 "R1"。<br>アセンブリ内の部品エントリの配置名として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式のフィールド。コンポーネントのパッケージまたはフォームファクタ。例: 表面実装抵抗器 "0805"。<br>アセンブリ内の部品エントリ情報には含まれません。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>必須</td>
|
||||
<td>整数</td>
|
||||
<td>アセンブリの一つのインスタンスを作るために必要な同一部品の数。<br>アセンブリの部品情報で数量として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>必須</td>
|
||||
<td>文字列</td>
|
||||
<td>コンポーネントの説明や機能。例: 抵抗の値 "10kΩ" やコンデンサの値 "100nF"。<br>アセンブリの部品情報で名称として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式フィールド。例: 供給元に関する特定の情報を含む場合がある。<br>アセンブリの部品情報の注記として使用。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>フィールド</th>
|
||||
<th>条件</th>
|
||||
<th>データ型</th>
|
||||
<th>説明</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>任意</td>
|
||||
<td>整数</td>
|
||||
<td>自由形式のフィールド。各コンポーネントのユニークな識別番号。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式のフィールド。PCB上のコンポーネントごとの一意のリファレンス識別子。例: 抵抗 "R1"。<br>アセンブリ内の部品エントリの配置名として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式のフィールド。コンポーネントのパッケージまたはフォームファクタ。例: 表面実装抵抗器 "0805"。<br>アセンブリ内の部品エントリ情報には含まれません。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>必須</td>
|
||||
<td>整数</td>
|
||||
<td>アセンブリの一つのインスタンスを作るために必要な同一部品の数。<br>アセンブリの部品情報で数量として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>必須</td>
|
||||
<td>文字列</td>
|
||||
<td>コンポーネントの説明や機能。例: 抵抗の値 "10kΩ" やコンデンサの値 "100nF"。<br>アセンブリの部品情報で名称として使用。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>任意</td>
|
||||
<td>文字列</td>
|
||||
<td>自由形式フィールド。例: 供給元に関する特定の情報を含む場合がある。<br>アセンブリの部品情報の注記として使用。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -1150,6 +1150,12 @@
|
|||
<target>JSON voor assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV voor een assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -1174,6 +1180,12 @@
|
|||
<target>JSON-sjabloon voor assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>CSV-importsjabloon voor een assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -1235,22 +1247,24 @@
|
|||
<td>quantity</td>
|
||||
<td>Verplicht veld</td>
|
||||
<td>Kommagetal (Float)</td>
|
||||
<td>Moet opgegeven zijn en bevat een kommagetal (Float) dat groter is dan 0,0.</td>
|
||||
<td>Moet worden ingevuld en een kommagetal (Float) bevatten dat groter is dan 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Indien aanwezig, moet het een niet-lege string zijn.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Wanneer ingevuld, moet het een niet-lege tekst zijn. De naam van het item binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
Indien opgegeven, moet het een object/array zijn en ten minste één van de velden ingevuld zijn:
|
||||
Als een onderdeel moet worden toegewezen, moet dit een object/array zijn en moet ten minste één van de volgende velden worden ingevuld:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -1258,39 +1272,39 @@
|
|||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Geheel getal (Integer)</td>
|
||||
<td>Geheel getal (Integer) > 0. Komt overeen met de interne numerieke ID van het onderdeel in de Part-DB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Niet-lege string, indien geen part.mpnr- of part.ipn-vermelding is gegeven.</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van het onderdeel in de database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Niet-lege string, indien geen part.name- of part.ipn-vermelding is gegeven.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niet-lege tekst, wanneer part.id, part.ipn of part.name niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Niet-lege string, indien geen part.name- of part.mpnr-vermelding is gegeven.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niet-lege tekst wanneer part.id, part.mpnr of part.name niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niet-lege tekst, wanneer part.id, part.mpnr of part.ipn niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String of null</td>
|
||||
<td>Indien aanwezig, moet het een niet-lege string zijn of null.</td>
|
||||
<td>Tekst of null</td>
|
||||
<td>Indien ingevuld, moet het een niet-lege tekst of null zijn. Deze waarde vervangt de bestaande waarde in het onderdeel.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
Indien aanwezig, moet het een object/array zijn en ten minste één van de velden ingevuld zijn:
|
||||
Als de fabrikant van het onderdeel moet worden gewijzigd of uniek moet worden opgezocht met de waarde part.mpnr, moet dit een object/array zijn en moet ten minste één van de volgende velden worden ingevuld:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -1300,21 +1314,21 @@
|
|||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Geheel getal (Integer)</td>
|
||||
<td>Geheel getal (Integer) > 0. Komt overeen met de interne numerieke ID van de fabrikant.</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van de fabrikant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Niet-lege string, indien geen manufacturer.id-vermelding is gegeven.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niet-lege tekst als manufacturer.id niet is ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Object/Array</td>
|
||||
<td>
|
||||
Indien aanwezig, moet het een object/array zijn en ten minste één van de velden ingevuld zijn:
|
||||
Als de categorie van het onderdeel moet worden gewijzigd, moet dit een object/array zijn en moet ten minste één van de volgende velden worden ingevuld:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -1324,14 +1338,139 @@
|
|||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Geheel getal (Integer)</td>
|
||||
<td>Geheel getal (Integer) > 0. Komt overeen met de interne numerieke ID van de categorie van het onderdeel.</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van de categorie van het onderdeel.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Niet-lege string, indien geen category.id-vermelding is gegeven.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niet-lege tekst als category.id niet is ingevuld.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Mogelijke kolommen:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Kolom</th>
|
||||
<th>Voorwaarde</th>
|
||||
<th>Gegevenstype</th>
|
||||
<th>Beschrijving</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Verplicht veld</td>
|
||||
<td>Kommagetal (Float)</td>
|
||||
<td>Moet worden ingevuld en moet een kommagetal (Float) bevatten dat groter is dan 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>De naam van het item binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolommen die beginnen met part_</strong></td>
|
||||
<td>
|
||||
Als een onderdeel moet worden toegewezen, moet ten minste één van de volgende kolommen worden ingevuld:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van het onderdeel in de database.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Moet worden ingevuld als part_id, part_ipn of part_name niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Moet worden ingevuld als part_id, part_mpnr of part_name niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Moet worden ingevuld als part_id, part_mpnr of part_ipn niet zijn ingevuld.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Wordt overgenomen en vervangt de bestaande waarde van de beschrijving als er een niet-lege tekst wordt opgegeven.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolommen die beginnen met part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Als de fabrikant van een onderdeel moet worden gewijzigd of uniek moet worden gezocht via part_mpnr, moet ten minste één van de volgende kolommen worden ingevuld:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van de fabrikant.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Moet worden ingevuld als part_manufacturer_id niet wordt opgegeven.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolommen die beginnen met part_category_</strong></td>
|
||||
<td>
|
||||
Als de categorie van een onderdeel moet worden gewijzigd, moet ten minste één van de volgende kolommen worden ingevuld:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Hele getal</td>
|
||||
<td>Een geheel getal > 0. Komt overeen met de interne numerieke ID van de categorie van het onderdeel.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Tekst</td>
|
||||
<td>Moet worden ingevuld als part_category_id niet wordt opgegeven.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1346,71 +1485,71 @@
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="gvaB1sb" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns.note">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Opmerking:</strong> Er wordt geen mapping uitgevoerd met specifieke componenten uit de categoriebeheer.</p>
|
||||
]]>
|
||||
</target>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Opmerking:</strong> Er wordt geen mapping uitgevoerd met specifieke componenten uit de categoriebeheer.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Veld</th>
|
||||
<th>Voorwaarde</th>
|
||||
<th>Gegevenstype</th>
|
||||
<th>Beschrijving</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Integer</td>
|
||||
<td>Vrij veld. Een unieke identificatienummer voor elk onderdeel.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. Een unieke referentienaam voor het onderdeel op de PCB, bijvoorbeeld "R1" voor weerstand 1.<br>Wordt gebruikt als positioneringsnaam in de onderdelenlijst van de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. De behuizing of vormfactor van het onderdeel, bijvoorbeeld "0805" voor SMD-weerstanden.<br>Wordt niet opgenomen in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Vereist</td>
|
||||
<td>Integer</td>
|
||||
<td>Het aantal identieke onderdelen dat nodig is om een assemblage-instantie te creëren.<br>Wordt gebruikt als hoeveelheid in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Vereist</td>
|
||||
<td>String</td>
|
||||
<td>De beschrijving of functie van het onderdeel, zoals weerstandwaarde "10kΩ" of condensatorwaarde "100nF".<br>Wordt gebruikt als de naam in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. Kan bijvoorbeeld specifieke informatie over leveranciers bevatten.<br>Wordt gebruikt als notitie in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Veld</th>
|
||||
<th>Voorwaarde</th>
|
||||
<th>Gegevenstype</th>
|
||||
<th>Beschrijving</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Optioneel</td>
|
||||
<td>Integer</td>
|
||||
<td>Vrij veld. Een unieke identificatienummer voor elk onderdeel.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. Een unieke referentienaam voor het onderdeel op de PCB, bijvoorbeeld "R1" voor weerstand 1.<br>Wordt gebruikt als positioneringsnaam in de onderdelenlijst van de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. De behuizing of vormfactor van het onderdeel, bijvoorbeeld "0805" voor SMD-weerstanden.<br>Wordt niet opgenomen in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Vereist</td>
|
||||
<td>Integer</td>
|
||||
<td>Het aantal identieke onderdelen dat nodig is om een assemblage-instantie te creëren.<br>Wordt gebruikt als hoeveelheid in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Vereist</td>
|
||||
<td>String</td>
|
||||
<td>De beschrijving of functie van het onderdeel, zoals weerstandwaarde "10kΩ" of condensatorwaarde "100nF".<br>Wordt gebruikt als de naam in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Optioneel</td>
|
||||
<td>String</td>
|
||||
<td>Vrij veld. Kan bijvoorbeeld specifieke informatie over leveranciers bevatten.<br>Wordt gebruikt als notitie in de onderdelenlijst binnen de assemblage.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -12613,6 +12613,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>JSON dla zespołu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV dla zestawienia</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12637,6 +12643,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Szablon importu JSON dla zespołu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Szablon importu CSV dla zespołu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12696,24 +12708,26 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Wymagane</td>
|
||||
<td>Typ zmiennoprzecinkowy (Float)</td>
|
||||
<td>Musi być obecne i zawierać wartość zmiennoprzecinkową (Float) większą niż 0,0.</td>
|
||||
<td>Pole obowiązkowe</td>
|
||||
<td>Liczba zmiennoprzecinkowa (Float)</td>
|
||||
<td>Musi być wypełnione i zawierać liczbę zmiennoprzecinkową (Float) większą niż 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Jeśli obecne, musi być niepustym ciągiem znaków.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Jeśli określono, musi to być niepusty tekst. Nazwa elementu w ramach montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Obiekt/Tablica</td>
|
||||
<td>
|
||||
Jeśli podane, musi być obiektem/tablicą i co najmniej jedno z poniższych pól musi być wypełnione:
|
||||
Jeśli konieczne jest przypisanie części, musi to być Obiekt/Tablica, a przynajmniej jedno z poniższych pól powinno być wypełnione:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -12721,39 +12735,39 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita (Integer)</td>
|
||||
<td>Liczba całkowita (Integer) > 0. Odpowiada wewnętrznemu numerowi ID komponentu w Part-DB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Niepusty ciąg znaków, jeśli part.mpnr ani part.ipn nie są podane.</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID części w bazie danych.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Niepusty ciąg znaków, jeśli part.name ani part.ipn nie są podane.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niepusty tekst, jeśli pola part.id, part.ipn lub part.name nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Niepusty ciąg znaków, jeśli part.name ani part.mpnr nie są podane.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niepusty tekst, jeśli pola part.id, part.mpnr lub part.name nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niepusty tekst, jeśli pola part.id, part.mpnr lub part.ipn nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków lub null</td>
|
||||
<td>Jeśli obecne, musi być niepustym ciągiem znaków lub null.</td>
|
||||
<td>Tekst lub null</td>
|
||||
<td>Jeśli określono, musi to być niepusty tekst lub null. Ta wartość nadpisze istniejącą wartość w części.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Obiekt/Tablica</td>
|
||||
<td>
|
||||
Jeśli obecne, musi być obiektem/tablicą i co najmniej jedno z poniższych pól musi być wypełnione:
|
||||
Jeśli producent części ma zostać zmieniony lub wyszukany unikalnie za pomocą wartości part.mpnr, musi to być Obiekt/Tablica i przynajmniej jedno z poniższych pól powinno być wypełnione:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12763,21 +12777,21 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita (Integer)</td>
|
||||
<td>Liczba całkowita (Integer) > 0. Odpowiada wewnętrznemu identyfikatorowi numerowemu producenta.</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID producenta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Niepusty ciąg znaków, jeśli manufacturer.id nie jest podane.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niepusty tekst, jeśli pole manufacturer.id nie jest wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Obiekt/Tablica</td>
|
||||
<td>
|
||||
Jeśli obecne, musi być obiektem/tablicą i co najmniej jedno z poniższych pól musi być wypełnione:
|
||||
Jeśli konieczna jest zmiana kategorii części, musi to być Obiekt/Tablica i przynajmniej jedno z poniższych pól powinno być wypełnione:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12787,14 +12801,139 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita (Integer)</td>
|
||||
<td>Liczba całkowita (Integer) > 0. Odpowiada wewnętrznemu numerowi ID kategorii komponentu.</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID kategorii części.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Ciąg znaków (String)</td>
|
||||
<td>Niepusty ciąg znaków, jeśli category.id nie jest podane.</td>
|
||||
<td>Tekst</td>
|
||||
<td>Niepusty tekst, jeśli pole category.id nie jest wypełnione.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Możliwe kolumny:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Kolumna</th>
|
||||
<th>Warunek</th>
|
||||
<th>Typ danych</th>
|
||||
<th>Opis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Pole obowiązkowe</td>
|
||||
<td>Liczba zmiennoprzecinkowa (Float)</td>
|
||||
<td>Musi być wypełnione i zawierać liczbę zmiennoprzecinkową (Float) większą niż 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Nazwa elementu w ramach montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolumny zaczynające się od part_</strong></td>
|
||||
<td>
|
||||
Jeśli konieczne jest przypisanie części, przynajmniej jedna z poniższych kolumn powinna być wypełniona:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID części w bazie danych.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Musi być wypełnione, gdy kolumny part_id, part_ipn lub part_name nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Musi być wypełnione, gdy kolumny part_id, part_mpnr lub part_name nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Musi być wypełnione, gdy kolumny part_id, part_mpnr lub part_ipn nie są wypełnione.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Zostanie przeniesione i zastąpi istniejącą wartość opisu, jeśli określono niepusty tekst.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolumny zaczynające się od part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Jeśli producent części musi zostać zmieniony lub wyszukany unikalnie za pomocą part_mpnr, przynajmniej jedna z poniższych kolumn powinna być wypełniona:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID producenta.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Musi być wypełnione, jeśli part_manufacturer_id nie jest określony.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Kolumny zaczynające się od part_category_</strong></td>
|
||||
<td>
|
||||
Jeśli konieczna jest zmiana kategorii części, przynajmniej jedna z poniższych kolumn powinna być wypełniona:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba całkowita > 0. Odpowiada wewnętrznemu numerycznemu ID kategorii części.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Musi być wypełnione, jeśli part_category_id nie jest określone.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -12809,71 +12948,71 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="gvaB1sb" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns.note">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Uwaga:</strong> Nie wykonano mapowania z określonymi komponentami z zarządzania kategoriami.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Uwaga:</strong> Nie wykonano mapowania z określonymi komponentami z zarządzania kategoriami.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Pole</th>
|
||||
<th>Warunek</th>
|
||||
<th>Typ Danych</th>
|
||||
<th>Opis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Pole dowolne. Unikalny numer identyfikacyjny dla każdego komponentu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Jednoznaczny znacznik referencyjny komponentu na PCB, np. "R1" dla rezystora 1.<br>Używane jako nazwa pozycji w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Obudowa lub forma komponentu, np. "0805" dla rezystorów SMD.<br>Niewykorzystywane w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Wymagane</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba identycznych komponentów potrzebna do utworzenia jednej instancji montażu.<br>Używane jako ilość w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Wymagane</td>
|
||||
<td>Tekst</td>
|
||||
<td>Opis lub funkcja komponentu, np. wartość rezystora "10kΩ" lub wartość kondensatora "100nF".<br>Używane jako nazwa w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Może zawierać np. specyficzne informacje o dostawcy.<br>Używane jako notatka w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Pole</th>
|
||||
<th>Warunek</th>
|
||||
<th>Typ Danych</th>
|
||||
<th>Opis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Pole dowolne. Unikalny numer identyfikacyjny dla każdego komponentu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Jednoznaczny znacznik referencyjny komponentu na PCB, np. "R1" dla rezystora 1.<br>Używane jako nazwa pozycji w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Obudowa lub forma komponentu, np. "0805" dla rezystorów SMD.<br>Niewykorzystywane w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Wymagane</td>
|
||||
<td>Liczba całkowita</td>
|
||||
<td>Liczba identycznych komponentów potrzebna do utworzenia jednej instancji montażu.<br>Używane jako ilość w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Wymagane</td>
|
||||
<td>Tekst</td>
|
||||
<td>Opis lub funkcja komponentu, np. wartość rezystora "10kΩ" lub wartość kondensatora "100nF".<br>Używane jako nazwa w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Opcjonalne</td>
|
||||
<td>Tekst</td>
|
||||
<td>Pole dowolne. Może zawierać np. specyficzne informacje o dostawcy.<br>Używane jako notatka w pozycji komponentu w montażu.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -12713,6 +12713,12 @@
|
|||
<target>JSON для сборки</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>CSV для сборки</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12737,6 +12743,12 @@
|
|||
<target>Шаблон импорта JSON для сборки</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>Шаблон импорта CSV для сборки</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12796,64 +12808,66 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Обязательное</td>
|
||||
<td>Дробное число (Float)</td>
|
||||
<td>Поле должно быть заполнено и содержать дробное значение (Float), большее 0,0.</td>
|
||||
<td>Обязательное поле</td>
|
||||
<td>Число с плавающей точкой (Float)</td>
|
||||
<td>Должно быть заполнено и содержать число с плавающей точкой (Float) больше 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Если присутствует, должно быть непустой строкой.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Если указано, должно быть непустой строкой. Имя элемента внутри сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Объект/Массив</td>
|
||||
<td>
|
||||
Если указано, должно быть объектом/массивом, и хотя бы одно из следующих полей должно быть заполнено:
|
||||
Если необходимо назначить деталь, это должен быть объект/массив, и должно быть заполнено хотя бы одно из следующих полей:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Целое число (Integer)</td>
|
||||
<td>Целое число (Integer) > 0. Соответствует внутреннему цифровому идентификатору компонента в Part-DB.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Непустая строка, если part.mpnr или part.ipn не указаны.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому идентификатору детали в базе данных.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Непустая строка, если part.name или part.ipn не указаны.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Непустая строка, если part.id, part.ipn или part.name не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Непустая строка, если part.name или part.mpnr не указаны.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Непустая строка, если part.id, part.mpnr или part.name не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Непустая строка, если part.id, part.mpnr или part.ipn не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка или null</td>
|
||||
<td>Если присутствует, должно быть непустой строкой или null.</td>
|
||||
<td>Если указано, должно быть непустой строкой или null. Это значение перезаписывает существующее значение в детали.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Объект/Массив</td>
|
||||
<td>
|
||||
Если присутствует, должно быть объектом/массивом, и хотя бы одно из следующих полей должно быть заполнено:
|
||||
Если необходимо изменить производителя детали или уникально найти по значению part.mpnr, это должен быть объект/массив, и должно быть заполнено хотя бы одно из следующих полей:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12862,22 +12876,22 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Целое число (Integer)</td>
|
||||
<td>Целое число (Integer) > 0. Соответствует внутреннему идентификатору производителя.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому идентификатору производителя.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Непустая строка, если manufacturer.id не указано.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Объект/Массив</td>
|
||||
<td>
|
||||
Если присутствует, должно быть объектом/массивом, и хотя бы одно из следующих полей должно быть заполнено:
|
||||
Если необходимо изменить категорию детали, это должен быть объект/массив, и должно быть заполнено хотя бы одно из следующих полей:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12886,14 +12900,14 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Целое число (Integer)</td>
|
||||
<td>Целое число (Integer) > 0. Соответствует внутреннему цифровому идентификатору категории компонента.</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому идентификатору категории детали.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>Опциональное</td>
|
||||
<td>Строка (String)</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Непустая строка, если category.id не указано.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
|
@ -12902,6 +12916,131 @@
|
|||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>Возможные столбцы:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Столбец</th>
|
||||
<th>Условие</th>
|
||||
<th>Тип данных</th>
|
||||
<th>Описание</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>Обязательное поле</td>
|
||||
<td>Число с плавающей точкой (Float)</td>
|
||||
<td>Должно быть заполнено и содержать число с плавающей точкой (Float), больше 0,0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Название элемента в рамках сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Столбцы, начинающиеся с part_</strong></td>
|
||||
<td>
|
||||
Если необходимо назначить деталь, то хотя бы один из следующих столбцов должен быть заполнен:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому ID детали в базе данных.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Должно быть заполнено, если part_id, part_ipn или part_name не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Должно быть заполнено, если part_id, part_mpnr или part_name не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Должно быть заполнено, если part_id, part_mpnr или part_ipn не указаны.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Если указано, заменяет существующее значение описания деталя не пустой строкой.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Столбцы, начинающиеся с part_manufacturer_</strong></td>
|
||||
<td>
|
||||
Если необходимо указать производителя детали или найти деталь уникально по part_mpnr, должно быть заполнено хотя бы одно из следующих полей:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому ID производителя.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Должно быть заполнено, если part_manufacturer_id не указано.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>Столбцы, начинающиеся с part_category_</strong></td>
|
||||
<td>
|
||||
Если необходимо изменить категорию детали, должно быть заполнено хотя бы одно из следующих полей:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Целое число</td>
|
||||
<td>Целое число > 0. Соответствует внутреннему числовому ID категории детали.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>Необязательное</td>
|
||||
<td>Строка</td>
|
||||
<td>Должно быть заполнено, если part_category_id не указано.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="cU1bfDa" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns</source>
|
||||
|
|
@ -12909,71 +13048,71 @@
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="gvaB1sb" name="assembly.bom_import.template.kicad_pcbnew.exptected_columns.note">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Примечание:</strong> Сопоставление с конкретными компонентами из управления категориями не выполняется.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.exptected_columns.note</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<p><strong>Примечание:</strong> Сопоставление с конкретными компонентами из управления категориями не выполняется.</p>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1bK2tc" name="assembly.bom_import.template.kicad_pcbnew.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Поле</th>
|
||||
<th>Условие</th>
|
||||
<th>Тип данных</th>
|
||||
<th>Описание</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Опционально</td>
|
||||
<td>Целое</td>
|
||||
<td>Свободное поле. Уникальный идентификационный номер для каждого компонента.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Designator</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Уникальная ссылочная метка компонента на печатной плате, например, "R1" для резистора 1.<br>Используется как наименование позиции в компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Опционально</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Тип корпуса или форм-фактор компонента, например, "0805" для SMD-резисторов.<br>Не включается в информацию о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Обязательно</td>
|
||||
<td>Целое</td>
|
||||
<td>Количество одинаковых компонентов, необходимых для создания одной версии сборки.<br>Используется как количество в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Обязательно</td>
|
||||
<td>Строка</td>
|
||||
<td>Описание или функция компонента, например, значение резистора "10kΩ" или значение конденсатора "100nF".<br>Используется как наименование в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Опционально</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Может содержать, например, информацию о конкретных поставщиках.<br>Используется как примечание в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.kicad_pcbnew.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Поле</th>
|
||||
<th>Условие</th>
|
||||
<th>Тип данных</th>
|
||||
<th>Описание</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Опционально</td>
|
||||
<td>Целое</td>
|
||||
<td>Свободное поле. Уникальный идентификационный номер для каждого компонента.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Designator</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Уникальная ссылочная метка компонента на печатной плате, например, "R1" для резистора 1.<br>Используется как наименование позиции в компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Опционально</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Тип корпуса или форм-фактор компонента, например, "0805" для SMD-резисторов.<br>Не включается в информацию о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Обязательно</td>
|
||||
<td>Целое</td>
|
||||
<td>Количество одинаковых компонентов, необходимых для создания одной версии сборки.<br>Используется как количество в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Обязательно</td>
|
||||
<td>Строка</td>
|
||||
<td>Описание или функция компонента, например, значение резистора "10kΩ" или значение конденсатора "100nF".<br>Используется как наименование в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Опционально</td>
|
||||
<td>Строка</td>
|
||||
<td>Свободное поле. Может содержать, например, информацию о конкретных поставщиках.<br>Используется как примечание в информации о компоненте сборки.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
|
|
|
|||
|
|
@ -12598,6 +12598,12 @@ Element 3</target>
|
|||
<target>JSON 文件(组件)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="6clEV3p" name="assembly.bom_import.type.csv">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.csv</source>
|
||||
<target>装配的CSV</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="clXFAdN" name="assembly.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_pcbnew</source>
|
||||
|
|
@ -12622,6 +12628,12 @@ Element 3</target>
|
|||
<target>装配 JSON 导入模板</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GtUk9b" name="assembly.import_bom.template.header.csv">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.csv</source>
|
||||
<target>用于装配的CSV导入模板</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eU4FfCr" name="assembly.import_bom.template.header.kicad_pcbnew">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.kicad_pcbnew</source>
|
||||
|
|
@ -12681,24 +12693,26 @@ Element 3</target>
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>必填</td>
|
||||
<td>必填字段</td>
|
||||
<td>浮点数 (Float)</td>
|
||||
<td>必须存在,并包含大于 0.0 的浮点值 (Float)。</td>
|
||||
<td>必须填写且包含大于 0.0 的浮点数 (Float)。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果存在,必须是非空字符串。</td>
|
||||
<td>文本</td>
|
||||
<td>如果填写,必须是非空文本。表示装配中的项目名称。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part</td>
|
||||
<td>可选</td>
|
||||
<td>对象/数组</td>
|
||||
<td>
|
||||
如果提供,则必须是对象/数组,并且以下字段中至少有一个被填写:
|
||||
如果需要分配零件,它必须是一个对象/数组,并且至少需要填写以下字段之一:
|
||||
<ul>
|
||||
<li>part.id</li>
|
||||
<li>part.mpnr</li>
|
||||
<li>part.ipn</li>
|
||||
<li>part.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
|
@ -12706,39 +12720,39 @@ Element 3</target>
|
|||
<tr>
|
||||
<td>part.id</td>
|
||||
<td>可选</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。表示组件在 Part-DB 中的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果未提供 part.mpnr 或 part.ipn,则必须是非空字符串。</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应数据库中零件的内部数字ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.mpnr</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果未提供 part.name 或 part.ipn,则必须是非空字符串。</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part.id、part.ipn 或 part.name 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.ipn</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果未提供 part.name 或 part.mpnr,则必须是非空字符串。</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part.id、part.mpnr 或 part.name 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.name</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part.id、part.mpnr 或 part.ipn 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.description</td>
|
||||
<td>可选</td>
|
||||
<td>字符串或 null</td>
|
||||
<td>如果存在,必须是非空字符串或 null。</td>
|
||||
<td>文本或 null</td>
|
||||
<td>如果填写,必须是非空文本或 null。该值将替换零件中的现有值。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.manufacturer</td>
|
||||
<td>可选</td>
|
||||
<td>对象/数组</td>
|
||||
<td>
|
||||
如果存在,则必须是对象/数组,并且以下字段中至少有一个被填写:
|
||||
如果需要更改零件制造商或通过值 part.mpnr 唯一查找零件,它必须是一个对象/数组,并且至少需要填写以下字段之一:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
|
|
@ -12748,21 +12762,21 @@ Element 3</target>
|
|||
<tr>
|
||||
<td>manufacturer.id</td>
|
||||
<td>可选</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。表示制造商的内部数字 ID。</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应制造商的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>manufacturer.name</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果未提供 manufacturer.id,则必须是非空字符串。</td>
|
||||
<td>文本</td>
|
||||
<td>如果 manufacturer.id 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</td>
|
||||
<td>可选</td>
|
||||
<td>对象/数组</td>
|
||||
<td>
|
||||
如果存在,则必须是对象/数组,并且以下字段中至少有一个被填写:
|
||||
如果需要更改零件的类别,它必须是一个对象/数组,并且至少需要填写以下字段之一:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
|
|
@ -12772,14 +12786,139 @@ Element 3</target>
|
|||
<tr>
|
||||
<td>category.id</td>
|
||||
<td>可选</td>
|
||||
<td>整数 (Integer)</td>
|
||||
<td>整数 (Integer) > 0。表示组件类别的内部数字 ID。</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应零件类别的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>category.name</td>
|
||||
<td>可选</td>
|
||||
<td>字符串 (String)</td>
|
||||
<td>如果未提供 category.id,则必须是非空字符串。</td>
|
||||
<td>文本</td>
|
||||
<td>如果 category.id 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bH5Qi1Z" name="assembly.bom_import.template.csv.exptected_columns">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.exptected_columns</source>
|
||||
<target>可用列:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.csv.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.csv.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>列名</th>
|
||||
<th>条件</th>
|
||||
<th>数据类型</th>
|
||||
<th>描述</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>quantity</td>
|
||||
<td>必填字段</td>
|
||||
<td>浮点数 (Float)</td>
|
||||
<td>必须填写且包含大于 0.0 的浮点数 (Float)。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>装配中的项目名称。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>以 part_ 开头的列</strong></td>
|
||||
<td>
|
||||
如果需要分配零件,则至少需要填写以下列之一:
|
||||
<ul>
|
||||
<li>part_id</li>
|
||||
<li>part_mpnr</li>
|
||||
<li>part_ipn</li>
|
||||
<li>part_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_id</td>
|
||||
<td>可选</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应数据库中零件的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_mpnr</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part_id、part_ipn 或 part_name 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_ipn</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part_id、part_mpnr 或 part_name 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_name</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part_id、part_mpnr 或 part_ipn 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_description</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果指定,将取代现有描述值,且必须为非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>以 part_manufacturer_ 开头的列</strong></td>
|
||||
<td>
|
||||
如果需要更改零件的制造商或通过 part_mpnr 唯一查找,至少需要填写以下列之一:
|
||||
<ul>
|
||||
<li>part_manufacturer_id</li>
|
||||
<li>part_manufacturer_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_id</td>
|
||||
<td>可选</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应制造商的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_manufacturer_name</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part_manufacturer_id 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><strong>以 part_category_ 开头的列</strong></td>
|
||||
<td>
|
||||
如果需要更改零件的类别,则至少需要填写以下列之一:
|
||||
<ul>
|
||||
<li>part_category_id</li>
|
||||
<li>part_category_name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_id</td>
|
||||
<td>可选</td>
|
||||
<td>整数</td>
|
||||
<td>一个大于 0 的整数。对应零件类别的内部数字 ID。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part_category_name</td>
|
||||
<td>可选</td>
|
||||
<td>文本</td>
|
||||
<td>如果 part_category_id 未填写,则必须是非空文本。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -371,6 +371,18 @@
|
|||
<target>Neplatný kód. Zkontrolujte, zda je vaše ověřovací aplikace správně nastavena a zda je čas správně nastaven jak na serveru, tak na ověřovacím zařízení.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Neplatný typ importu!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Neplatná přípona souboru "%extension%" pro typ importu "%importType%". Povolené přípony souborů: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -389,57 +401,57 @@
|
|||
<target>Musíte vybrat součást nebo nastavit název pro nesoučást!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Musíte zadat množství > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>očekává se jako float větší než 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>očekává se jako neprázdný řetězec</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>očekává se jako neprázdný řetězec nebo null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>očekává se jako pole (array)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>musí mít alespoň jeden z následujících pod-parametrů: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>nenalezeno pro %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>se přesně neshoduje. Pro import zadáno: %importValue%, nalezeno (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>musí obsahovat jako pod-parametr buď: "id" jako celé číslo větší než 0 nebo "name" jako neprázdný řetězec</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -347,6 +347,18 @@
|
|||
<target>Denne leverandørstregkodeværdi er allerede brugt til en anden beholdning. Stregkoden skal være unik!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Ugyldig importtype!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Ugyldig filtypenavn "%extension%" for importtypen "%importType%". Tilladte filtypenavne: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -365,57 +377,57 @@
|
|||
<target>Du skal vælge en del eller sætte et navn for en ikke-del!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Du skal angive en mængde > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>forventet som en float større end 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>forventet som en ikke-tom streng</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>forventet som en ikke-tom streng eller null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>forventet som en array</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>skal have mindst én af følgende underparametre: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>ikke fundet for %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>stemmer ikke helt overens. Givet til import: %importValue%, fundet (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>skal indeholde som en underparameter enten: "id" som et heltal større end 0 eller "name" som en ikke-tom streng</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -371,6 +371,18 @@
|
|||
<target>Ungültiger Code. Überprüfen Sie, ob die Authenticator App korrekt eingerichtet ist und ob der Server und das Gerät beide die korrekte Uhrzeit eingestellt haben.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Ungültiger Importtyp!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Ungültige Dateierweiterung "%extension%" für den Importtyp "%importType%". Erlaubte Dateierweiterungen: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -389,57 +401,57 @@
|
|||
<target>Sie müssen ein Bauteil auswählen, oder einen Namen für den Eintrag setzen!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Sie müssen eine Stückzahl > 0 angeben!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>wird als float größer als 0.0 erwartet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>als nicht leere Zeichenkette erwartet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>als nicht leere Zeichenkette oder null erwartet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>als array erwartet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>muss mindestens eines der folgenden Unter-Parameter haben: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>nicht gefunden für %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>stimmt nicht genau überein. Für den Import gegeben: %importValue%, gefunden (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>muss entweder als Unter-Parameter zugewiesen haben: "id" als Ganzzahl größer als 0 oder "name" als nicht leere Zeichenfolge</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,18 @@
|
|||
<target>Det er kun tilladt at vælge én del eller en samling. Venligst tilpas dit valg!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Μη έγκυρος τύπος εισαγωγής!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Μη έγκυρη επέκταση αρχείου "%extension%" για τον τύπο εισαγωγής "%importType%". Επιτρεπόμενες επεκτάσεις αρχείων: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -31,57 +43,57 @@
|
|||
<target>Πρέπει να επιλέξετε ένα εξάρτημα ή να βάλετε ένα όνομα για ένα μη εξάρτημα!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Πρέπει να εισαγάγετε ποσότητα > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>αναμένεται ως δεκαδικός αριθμός (float) μεγαλύτερος από 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>αναμένεται ως μη κενή συμβολοσειρά</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>αναμένεται ως μη κενή συμβολοσειρά ή null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>αναμένεται ως array</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>πρέπει να έχει τουλάχιστον μία από τις ακόλουθες υπο-παραμέτρους: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>δεν βρέθηκε για %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>δεν ταιριάζει απόλυτα. Δόθηκε για εισαγωγή: %importValue%, βρέθηκε (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>πρέπει να περιέχει ως υπο-παράμετρο είτε: "id" ως ακέραιο αριθμό μεγαλύτερο από 0 είτε "name" ως μη κενή συμβολοσειρά</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -371,6 +371,18 @@
|
|||
<target>Invalid code. Check that your authenticator app is set up correctly and that both the server and authentication device has the time set correctly.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Invalid import type!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Invalid file extension "%extension%" for import type %importType%". Allowed file extensions: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -389,57 +401,57 @@
|
|||
<target>__validator.assembly.bom_entry.name_or_part_needed</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>you must specify a quantity > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>expected as float greater than 0.0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>expected as non-empty string</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>als nicht leere Zeichenkette oder null erwartet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>expectd as array</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>must have at least one of the following sub-properties: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>not found for %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>does not match exactly. Given for import: %importValue%, found (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>must have either assigned as sub-property: "id" as an integer greater than 0, or "name" as a non-empty string</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -209,6 +209,18 @@
|
|||
<target>Seule une pièce ou un assemblage peut être sélectionné. Veuillez ajuster votre sélection!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Type d'importation invalide !</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Extension de fichier "%extension%" invalide pour le type d'importation "%importType%". Extensions de fichier autorisées : %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -227,57 +239,57 @@
|
|||
<target>Vous devez sélectionner une pièce ou attribuer un nom pour un non-élément!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Vous devez entrer une quantité > 0 !</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>attendu comme un nombre décimal (float) supérieur à 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>attendu comme une chaîne de caractères non vide</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>attendu comme une chaîne de caractères non vide ou null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>attendu comme un tableau (array)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>doit contenir au moins l'un des sous-paramètres suivants : %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>non trouvé pour %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>ne correspond pas exactement. Donné pour l'importation : %importValue%, trouvé (%foundId%) : %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>doit contenir comme sous-paramètre soit : "id" comme entier supérieur à 0 ou "name" comme chaîne de caractères non vide</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -365,6 +365,18 @@
|
|||
<target>Neispravan kod. Provjerite je li vaša aplikacija za autentifikaciju ispravno postavljena i jesu li poslužitelj i uređaj za autentifikaciju ispravno postavili vrijeme.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Nevažeći tip uvoza!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Nevažeća ekstenzija datoteke "%extension%" za tip uvoza "%importType%". Dopuštene ekstenzije datoteka: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -383,57 +395,57 @@
|
|||
<target>Morate odabrati dio ili unijeti naziv za nedio!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Morate unijeti količinu > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>očekuje se decimalni broj (float) veći od 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>očekuje se kao neprazan niz znakova</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>očekuje se kao neprazan niz znakova ili null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>očekuje se kao niz</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>mora sadržavati barem jedan od sljedećih pod-parametara: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>nije pronađeno za %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>ne podudara se točno. Uneseno za uvoz: %importValue%, pronađeno (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>mora sadržavati kao pod-parametar bilo: "id" kao cijeli broj veći od 0 ili "name" kao neprazan niz znakova</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -365,6 +365,18 @@
|
|||
<target>Codice non valido. Controlla che la tua app di autenticazione sia impostata correttamente e che sia il server che il dispositivo di autenticazione abbiano l'ora impostata correttamente.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Tipo di importazione non valido!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Estensione del file "%extension%" non valida per il tipo di importazione "%importType%". Estensioni consentite: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -383,57 +395,57 @@
|
|||
<target>È necessario selezionare una parte o inserire un nome per un non-parte!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Devi inserire una quantità > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>atteso come numero decimale (float) maggiore di 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>atteso come stringa non vuota</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>atteso come stringa non vuota o null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>atteso come array</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>deve avere almeno uno dei seguenti sotto-parametri: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>non trovato per %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>non corrisponde esattamente. Valore dato per l'importazione: %importValue%, trovato (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>deve contenere come sotto-parametro: "id" come intero maggiore di 0 o "name" come stringa non vuota</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -209,6 +209,18 @@
|
|||
<target>部品またはアセンブリのみ選択可能です。選択内容を調整してください!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>無効なインポートタイプです!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>インポートタイプ "%importType%" に対して無効なファイル拡張子 "%extension%"。許可されているファイル拡張子: %allowedExtensions%。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -227,57 +239,57 @@
|
|||
<target>部品を選択するか、非部品の名前を入力する必要があります!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>数量 > 0 を入力する必要があります!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>0.0 より大きい小数 (float) である必要があります</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>空でない文字列が期待されます</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>空でない文字列または null が期待されます</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>配列として期待されます</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>以下のサブパラメーターのいずれかを含む必要があります:%propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>%value% に対する項目が見つかりません</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>完全には一致しません。インポートされた値:%importValue%、見つかった値 (%foundId%):%foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>サブパラメーターとして次のいずれかを含む必要があります:"id" は 0 より大きい整数、または "name" は空でない文字列</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -365,6 +365,18 @@
|
|||
<target>Nieprawidłowy kod. Sprawdź, czy aplikacja uwierzytelniająca jest poprawnie skonfigurowana i czy zarówno serwer, jak i urządzenie uwierzytelniające mają poprawnie ustawiony czas.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Nieprawidłowy typ importu!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Nieprawidłowe rozszerzenie pliku "%extension%" dla typu importu "%importType%". Dozwolone rozszerzenia plików: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -383,57 +395,57 @@
|
|||
<target>Musisz wybrać element lub przypisać nazwę dla elementu niestandardowego!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Musisz wprowadzić ilość > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>oczekiwano liczby zmiennoprzecinkowej (float) większej od 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>oczekiwano jako niepusty ciąg znaków</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>oczekiwano jako niepusty ciąg znaków lub null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>oczekiwano jako tablicę</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>musi zawierać co najmniej jeden z następujących podparametrów: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>nie znaleziono dla %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>brak dokładnego dopasowania. Wprowadzone do importu: %importValue%, znalezione (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>musi zawierać jako podparametr: "id" jako liczbę całkowitą większą od 0 lub "name" jako niepusty ciąg znaków</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -365,6 +365,18 @@
|
|||
<target>Неверный код. Проверьте, что приложение аутентификации настроено правильно и что на сервере и устройстве аутентификации установлено правильное время.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>Недопустимый тип импорта!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>Недопустимое расширение файла "%extension%" для типа импорта "%importType%". Допустимые расширения файлов: %allowedExtensions%.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -383,57 +395,57 @@
|
|||
<target>Необходимо выбрать деталь или ввести название для недетали!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>Необходимо указать количество > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>ожидается число с плавающей запятой (float), большее 0,0</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>ожидается непустая строка</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>ожидается непустая строка или null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>ожидается массив</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>должен содержать хотя бы один из следующих под-параметров: %propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>не найдено для %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>точное совпадение отсутствует. Указано для импорта: %importValue%, найдено (%foundId%): %foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>должен содержать под-параметр: "id" как целое число больше 0 или "name" как непустая строка</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
|
|
@ -353,6 +353,18 @@
|
|||
<target>由于技术限制,在32位系统中无法选择2038年1月19日之后的日期!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="b1ZWoQ5" name="validator.bom_importer.invalid_import_type">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_import_type</source>
|
||||
<target>无效的导入类型!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rbo1XEP" name="validator.bom_importer.invalid_file_extension">
|
||||
<segment state="translated">
|
||||
<source>validator.bom_importer.invalid_file_extension</source>
|
||||
<target>导入类型“%importType%”的文件扩展名“%extension%”无效。允许的扩展名: %allowedExtensions%。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qyoCAaP" name="assembly.bom_entry.part_already_in_bom">
|
||||
<segment>
|
||||
<source>assembly.bom_entry.part_already_in_bom</source>
|
||||
|
|
@ -371,57 +383,57 @@
|
|||
<target>必须选择零件或为非零件指定名称!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json.quantity.required">
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.required</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.required</source>
|
||||
<target>必须输入数量 > 0!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json.quantity.float">
|
||||
<unit id="hlBA1Pd" name="validator.bom_importer.json_csv.quantity.float">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.quantity.float</source>
|
||||
<source>validator.bom_importer.json_csv.quantity.float</source>
|
||||
<target>应为大于 0.0 的浮点数 (float)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json.parameter.string.notEmpty">
|
||||
<unit id="eBCiG.1" name="validator.bom_importer.json_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty</source>
|
||||
<target>应为非空字符串</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json.parameter.string.notEmpty.null">
|
||||
<unit id="aKg7qlT" name="validator.bom_importer.json_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.string.notEmpty.null</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.string.notEmpty.null</source>
|
||||
<target>应为非空字符串或 null</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json.parameter.array">
|
||||
<unit id="g8HPqwx" name="validator.bom_importer.json_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.array</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>应为数组</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json.parameter.subproperties">
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.subproperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.subproperties</source>
|
||||
<target>必须包含以下子参数之一:%propertyString%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json.parameter.notFoundFor">
|
||||
<unit id="kt12PW4" name="validator.bom_importer.json_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.notFoundFor</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.notFoundFor</source>
|
||||
<target>未找到对应值 %value%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json.parameter.noExactMatch">
|
||||
<unit id="bhc3WQf" name="validator.bom_importer.json_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.noExactMatch</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.noExactMatch</source>
|
||||
<target>未精确匹配。用于导入的值:%importValue%,找到的值 (%foundId%):%foundValue%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<unit id="Kb1hpq3" name="validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<source>validator.bom_importer.json_csv.parameter.manufacturerOrCategoryWithSubProperties</source>
|
||||
<target>必须包含子参数:"id" 为大于 0 的整数,或 "name" 为非空字符串</target>
|
||||
</segment>
|
||||
</unit>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue