mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-11 04:39:33 +00:00
Rebase auf Part-DB v2.1.2
This commit is contained in:
parent
2648bd2c6d
commit
dc3279c449
30 changed files with 947 additions and 58 deletions
3
.env
3
.env
|
|
@ -35,9 +35,6 @@ DATABASE_EMULATE_NATURAL_SORT=0
|
|||
# This must end with a slash!
|
||||
DEFAULT_URI="https://partdb.changeme.invalid/"
|
||||
|
||||
# Use an %%ipn%% placeholder in the name of a assembly. Placeholder is replaced with the ipn input while saving.
|
||||
CREATE_ASSEMBLY_USE_IPN_PLACEHOLDER_IN_NAME=0
|
||||
|
||||
###################################################################################
|
||||
# Email settings
|
||||
###################################################################################
|
||||
|
|
|
|||
|
|
@ -164,10 +164,6 @@ services:
|
|||
arguments:
|
||||
$saml_enabled: '%partdb.saml.enabled%'
|
||||
|
||||
App\Form\AdminPages\AssemblyAdminForm:
|
||||
arguments:
|
||||
$useAssemblyIpnPlaceholder: '%partdb.create_assembly_use_ipn_placeholder_in_name%'
|
||||
|
||||
App\Validator\Constraints\AssemblySystem\AssemblyCycleValidator:
|
||||
tags: [ 'validator.constraint_validator' ]
|
||||
|
||||
|
|
@ -183,12 +179,6 @@ services:
|
|||
|
||||
App\DataTables\Helpers\ColumnSortHelper:
|
||||
shared: false # Service has a state so not share it between different tables
|
||||
App\DataTables\AssemblyDataTable:
|
||||
arguments:
|
||||
$visible_columns: '%partdb.table.assemblies.default_columns%'
|
||||
App\DataTables\AssemblyBomEntriesDataTable:
|
||||
arguments:
|
||||
$visible_columns: '%partdb.table.assemblies_bom.default_columns%'
|
||||
|
||||
####################################################################################################################
|
||||
# Label system
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ final class Version20250627130848 extends AbstractMultiPlatformMigration
|
|||
public function mySQLUp(Schema $schema): void
|
||||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
ALTER TABLE assembly_bom_entries ADD id_referenced_assembly INT DEFAULT NULL AFTER id_project
|
||||
ALTER TABLE assembly_bom_entries ADD id_referenced_assembly INT DEFAULT NULL AFTER id_part
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
ALTER TABLE assembly_bom_entries ADD CONSTRAINT FK_8C74887E22522999 FOREIGN KEY (id_referenced_assembly) REFERENCES assemblies (id) ON DELETE SET NULL
|
||||
|
|
|
|||
51
migrations/Version20250910113423.php
Normal file
51
migrations/Version20250910113423.php
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use App\Migration\AbstractMultiPlatformMigration;
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
final class Version20250910113423 extends AbstractMultiPlatformMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return 'Remove project_id from assembly_bom_entries because it is not needed.';
|
||||
}
|
||||
|
||||
public function mySQLUp(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries DROP FOREIGN KEY `FK_8C74887EF12E799E`');
|
||||
$this->addSql('DROP INDEX IDX_8C74887EF12E799E ON assembly_bom_entries');
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries DROP id_project');
|
||||
}
|
||||
|
||||
public function mySQLDown(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries ADD id_project INT DEFAULT NULL');
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries ADD CONSTRAINT `FK_8C74887EF12E799E` FOREIGN KEY (id_project) REFERENCES projects (id)');
|
||||
$this->addSql('CREATE INDEX IDX_8C74887EF12E799E ON assembly_bom_entries (id_project)');
|
||||
}
|
||||
|
||||
public function sqLiteUp(Schema $schema): void
|
||||
{
|
||||
//nothing to do. Already removed from AssemblyBOMEntry and Version20250304081039
|
||||
}
|
||||
|
||||
public function sqLiteDown(Schema $schema): void
|
||||
{
|
||||
//nothing to do.
|
||||
}
|
||||
|
||||
public function postgreSQLUp(Schema $schema): void
|
||||
{
|
||||
//nothing to do. Already removed from AssemblyBOMEntry and Version20250304081039
|
||||
}
|
||||
|
||||
public function postgreSQLDown(Schema $schema): void
|
||||
{
|
||||
//nothing to do.
|
||||
}
|
||||
}
|
||||
|
|
@ -216,6 +216,7 @@ class AssemblyController extends AbstractController
|
|||
'assembly.bom_import.type.json' => 'json',
|
||||
'assembly.bom_import.type.csv' => 'csv',
|
||||
'assembly.bom_import.type.kicad_pcbnew' => 'kicad_pcbnew',
|
||||
'assembly.bom_import.type.kicad_schematic' => 'kicad_schematic',
|
||||
]
|
||||
]);
|
||||
$builder->add('clear_existing_bom', CheckboxType::class, [
|
||||
|
|
|
|||
|
|
@ -421,7 +421,7 @@ class ProjectController extends AbstractController
|
|||
}
|
||||
|
||||
// Import with field mapping and priorities (validation already passed)
|
||||
$entries = $BOMImporter->stringToBOMEntries($file_content, [
|
||||
$entries = $BOMImporter->stringToBOMEntries($project, $file_content, [
|
||||
'type' => 'kicad_schematic',
|
||||
'field_mapping' => $field_mapping,
|
||||
'field_priorities' => $field_priorities,
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ use App\Entity\Attachments\Attachment;
|
|||
use App\Entity\Parts\Part;
|
||||
use App\Entity\AssemblySystem\AssemblyBOMEntry;
|
||||
use App\Entity\ProjectSystem\Project;
|
||||
use App\Services\EntityURLGenerator;
|
||||
use App\Services\Formatters\AmountFormatter;
|
||||
use App\Settings\BehaviorSettings\TableSettings;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
use Omines\DataTablesBundle\Adapter\Doctrine\ORM\SearchCriteriaProvider;
|
||||
use Omines\DataTablesBundle\Adapter\Doctrine\ORMAdapter;
|
||||
|
|
@ -47,15 +47,14 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||
class AssemblyBomEntriesDataTable implements DataTableTypeInterface
|
||||
{
|
||||
public function __construct(
|
||||
protected TranslatorInterface $translator,
|
||||
protected PartDataTableHelper $partDataTableHelper,
|
||||
protected ProjectDataTableHelper $projectDataTableHelper,
|
||||
protected AssemblyDataTableHelper $assemblyDataTableHelper,
|
||||
protected EntityURLGenerator $entityURLGenerator,
|
||||
protected AmountFormatter $amountFormatter,
|
||||
private string $visible_columns,
|
||||
private ColumnSortHelper $csh
|
||||
){
|
||||
private readonly TranslatorInterface $translator,
|
||||
private readonly PartDataTableHelper $partDataTableHelper,
|
||||
private readonly ProjectDataTableHelper $projectDataTableHelper,
|
||||
private readonly AssemblyDataTableHelper $assemblyDataTableHelper,
|
||||
private readonly AmountFormatter $amountFormatter,
|
||||
private readonly ColumnSortHelper $csh,
|
||||
private readonly TableSettings $tableSettings,
|
||||
) {
|
||||
}
|
||||
|
||||
public function configure(DataTable $dataTable, array $options): void
|
||||
|
|
@ -200,11 +199,11 @@ class AssemblyBomEntriesDataTable implements DataTableTypeInterface
|
|||
])
|
||||
->add('lastModified', LocaleDateTimeColumn::class, [
|
||||
'label' => $this->translator->trans('part.table.lastModified'),
|
||||
])
|
||||
;
|
||||
]);
|
||||
|
||||
//Apply the user configured order and visibility and add the columns to the table
|
||||
$this->csh->applyVisibilityAndConfigureColumns($dataTable, $this->visible_columns,"TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS");
|
||||
$this->csh->applyVisibilityAndConfigureColumns($dataTable, $this->tableSettings->assembliesBomDefaultColumns,
|
||||
"TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS");
|
||||
|
||||
$dataTable->addOrderBy('name', DataTable::SORT_ASCENDING);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ use App\DataTables\Helpers\ColumnSortHelper;
|
|||
use App\Doctrine\Helpers\FieldHelper;
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Services\EntityURLGenerator;
|
||||
use App\Settings\BehaviorSettings\TableSettings;
|
||||
use Doctrine\ORM\AbstractQuery;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
use Omines\DataTablesBundle\Adapter\Doctrine\ORM\SearchCriteriaProvider;
|
||||
|
|
@ -53,8 +54,8 @@ final class AssemblyDataTable implements DataTableTypeInterface
|
|||
private readonly TranslatorInterface $translator,
|
||||
private readonly AssemblyDataTableHelper $assemblyDataTableHelper,
|
||||
private readonly Security $security,
|
||||
private readonly string $visible_columns,
|
||||
private readonly ColumnSortHelper $csh,
|
||||
private readonly TableSettings $tableSettings,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +140,8 @@ final class AssemblyDataTable implements DataTableTypeInterface
|
|||
]);
|
||||
|
||||
//Apply the user configured order and visibility and add the columns to the table
|
||||
$this->csh->applyVisibilityAndConfigureColumns($dataTable, $this->visible_columns, "TABLE_ASSEMBLIES_DEFAULT_COLUMNS");
|
||||
$this->csh->applyVisibilityAndConfigureColumns($dataTable, $this->tableSettings->assembliesDefaultColumns,
|
||||
"TABLE_ASSEMBLIES_DEFAULT_COLUMNS");
|
||||
|
||||
$dataTable->addOrderBy('name')
|
||||
->createAdapter(TwoStepORMAdapter::class, [
|
||||
|
|
|
|||
|
|
@ -150,18 +150,6 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
|
|||
#[Groups(['bom_entry:read', 'bom_entry:write'])]
|
||||
protected ?Assembly $referencedAssembly = null;
|
||||
|
||||
/**
|
||||
* @var Project|null The associated project
|
||||
*/
|
||||
#[Assert\Expression(
|
||||
'(this.getPart() === null or this.getProject() === null) and (this.getName() === null or (this.getName() != null and this.getName() != ""))',
|
||||
message: 'validator.project.bom_entry.only_part_or_assembly_allowed'
|
||||
)]
|
||||
#[ORM\ManyToOne(targetEntity: Project::class)]
|
||||
#[ORM\JoinColumn(name: 'id_project', nullable: true)]
|
||||
#[Groups(['bom_entry:read', 'bom_entry:write'])]
|
||||
protected ?Project $project = null;
|
||||
|
||||
/**
|
||||
* @var BigDecimal|null The price of this non-part BOM entry
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ use App\Entity\Base\AbstractNamedDBElement;
|
|||
use App\Form\AssemblySystem\AssemblyBOMEntryCollectionType;
|
||||
use App\Form\Type\RichTextEditorType;
|
||||
use App\Services\LogSystem\EventCommentNeededHelper;
|
||||
use App\Settings\MiscSettings\AssemblySettings;
|
||||
use Symfony\Bundle\SecurityBundle\Security;
|
||||
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
|
|
@ -36,9 +37,9 @@ class AssemblyAdminForm extends BaseEntityAdminForm
|
|||
public function __construct(
|
||||
protected Security $security,
|
||||
protected EventCommentNeededHelper $eventCommentNeededHelper,
|
||||
protected bool $useAssemblyIpnPlaceholder = false
|
||||
protected AssemblySettings $assemblySettings,
|
||||
) {
|
||||
parent::__construct($security, $eventCommentNeededHelper, $useAssemblyIpnPlaceholder);
|
||||
parent::__construct($security, $eventCommentNeededHelper, $assemblySettings);
|
||||
}
|
||||
|
||||
protected function additionalFormElements(FormBuilderInterface $builder, array $options, AbstractNamedDBElement $entity): void
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ use App\Entity\PriceInformations\Currency;
|
|||
use App\Entity\ProjectSystem\Project;
|
||||
use App\Entity\UserSystem\Group;
|
||||
use App\Services\LogSystem\EventCommentType;
|
||||
use App\Settings\MiscSettings\AssemblySettings;
|
||||
use Symfony\Bundle\SecurityBundle\Security;
|
||||
use App\Entity\Base\AbstractNamedDBElement;
|
||||
use App\Entity\Base\AbstractStructuralDBElement;
|
||||
|
|
@ -51,7 +52,7 @@ class BaseEntityAdminForm extends AbstractType
|
|||
public function __construct(
|
||||
protected Security $security,
|
||||
protected EventCommentNeededHelper $eventCommentNeededHelper,
|
||||
protected bool $useAssemblyIpnPlaceholder = false
|
||||
protected AssemblySettings $assemblySettings,
|
||||
) {
|
||||
}
|
||||
|
||||
|
|
@ -73,7 +74,7 @@ class BaseEntityAdminForm extends AbstractType
|
|||
->add('name', TextType::class, [
|
||||
'empty_data' => '',
|
||||
'label' => 'name.label',
|
||||
'data' => $is_new && $entity instanceof Assembly && $this->useAssemblyIpnPlaceholder ? '%%ipn%%' : $entity->getName(),
|
||||
'data' => $is_new && $entity instanceof Assembly && $this->assemblySettings->useIpnPlaceholderInName ? '%%ipn%%' : $entity->getName(),
|
||||
'attr' => [
|
||||
'placeholder' => 'part.name.placeholder',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -72,9 +72,9 @@ class BOMImporter
|
|||
|
||||
private CategoryRepository $categoryRepository;
|
||||
|
||||
private DBElementRepository $projectBOMEntryRepository;
|
||||
private DBElementRepository $projectBomEntryRepository;
|
||||
|
||||
private DBElementRepository $assemblyBOMEntryRepository;
|
||||
private DBElementRepository $assemblyBomEntryRepository;
|
||||
|
||||
public function __construct(
|
||||
private readonly EntityManagerInterface $entityManager,
|
||||
|
|
@ -85,8 +85,8 @@ class BOMImporter
|
|||
$this->partRepository = $entityManager->getRepository(Part::class);
|
||||
$this->manufacturerRepository = $entityManager->getRepository(Manufacturer::class);
|
||||
$this->categoryRepository = $entityManager->getRepository(Category::class);
|
||||
$this->projectBOMEntryRepository = $entityManager->getRepository(ProjectBOMEntry::class);
|
||||
$this->assemblyBOMEntryRepository = $entityManager->getRepository(AssemblyBOMEntry::class);
|
||||
$this->projectBomEntryRepository = $entityManager->getRepository(ProjectBOMEntry::class);
|
||||
$this->assemblyBomEntryRepository = $entityManager->getRepository(AssemblyBOMEntry::class);
|
||||
}
|
||||
|
||||
protected function configureOptions(OptionsResolver $resolver): OptionsResolver
|
||||
|
|
@ -828,11 +828,11 @@ class BOMImporter
|
|||
}
|
||||
|
||||
if ($importObject instanceof Assembly) {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['assembly' => $importObject, 'part' => $part]);
|
||||
$bomEntry = $this->assemblyBomEntryRepository->findOneBy(['assembly' => $importObject, 'part' => $part]);
|
||||
|
||||
if ($bomEntry === null) {
|
||||
if (isset($entry['name']) && $entry['name'] !== '') {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['assembly' => $importObject, 'name' => $entry['name']]);
|
||||
$bomEntry = $this->assemblyBomEntryRepository->findOneBy(['assembly' => $importObject, 'name' => $entry['name']]);
|
||||
}
|
||||
|
||||
if ($bomEntry === null) {
|
||||
|
|
@ -840,11 +840,11 @@ class BOMImporter
|
|||
}
|
||||
}
|
||||
} else {
|
||||
$bomEntry = $this->projectBOMEntryRepository->findOneBy(['project' => $importObject, 'part' => $part]);
|
||||
$bomEntry = $this->projectBomEntryRepository->findOneBy(['project' => $importObject, 'part' => $part]);
|
||||
|
||||
if ($bomEntry === null) {
|
||||
if (isset($entry['name']) && $entry['name'] !== '') {
|
||||
$bomEntry = $this->projectBOMEntryRepository->findOneBy(['project' => $importObject, 'name' => $entry['name']]);
|
||||
$bomEntry = $this->projectBomEntryRepository->findOneBy(['project' => $importObject, 'name' => $entry['name']]);
|
||||
}
|
||||
|
||||
if ($bomEntry === null) {
|
||||
|
|
@ -914,9 +914,9 @@ class BOMImporter
|
|||
//Check whether there is a name
|
||||
if (!empty($name)) {
|
||||
if ($importObject instanceof Project) {
|
||||
$bomEntry = $this->projectBOMEntryRepository->findOneBy(['name' => $name]);
|
||||
$bomEntry = $this->projectBomEntryRepository->findOneBy(['name' => $name]);
|
||||
} else {
|
||||
$bomEntry = $this->assemblyBOMEntryRepository->findOneBy(['name' => $name]);
|
||||
$bomEntry = $this->assemblyBomEntryRepository->findOneBy(['name' => $name]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
46
src/Settings/BehaviorSettings/AssemblyBomTableColumns.php
Normal file
46
src/Settings/BehaviorSettings/AssemblyBomTableColumns.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
/*
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 - 2024 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
|
||||
namespace App\Settings\BehaviorSettings;
|
||||
|
||||
use Symfony\Contracts\Translation\TranslatableInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
enum AssemblyBomTableColumns : string implements TranslatableInterface
|
||||
{
|
||||
|
||||
case NAME = "name";
|
||||
case ID = "id";
|
||||
case QUANTITY = "quantity";
|
||||
case IPN = "ipn";
|
||||
case DESCRIPTION = "description";
|
||||
|
||||
public function trans(TranslatorInterface $translator, ?string $locale = null): string
|
||||
{
|
||||
$key = match($this) {
|
||||
default => 'assembly.bom.table.' . $this->value,
|
||||
};
|
||||
|
||||
return $translator->trans($key, locale: $locale);
|
||||
}
|
||||
}
|
||||
49
src/Settings/BehaviorSettings/AssemblyTableColumns.php
Normal file
49
src/Settings/BehaviorSettings/AssemblyTableColumns.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
/*
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 - 2024 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
|
||||
namespace App\Settings\BehaviorSettings;
|
||||
|
||||
use Symfony\Contracts\Translation\TranslatableInterface;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
|
||||
enum AssemblyTableColumns : string implements TranslatableInterface
|
||||
{
|
||||
|
||||
case NAME = "name";
|
||||
case ID = "id";
|
||||
case IPN = "ipn";
|
||||
case DESCRIPTION = "description";
|
||||
case REFERENCED_ASSEMBLIES = "referencedAssemblies";
|
||||
case ADDED_DATE = "addedDate";
|
||||
case LAST_MODIFIED = "lastModified";
|
||||
case EDIT = "edit";
|
||||
|
||||
public function trans(TranslatorInterface $translator, ?string $locale = null): string
|
||||
{
|
||||
$key = match($this) {
|
||||
default => 'assembly.table.' . $this->value,
|
||||
};
|
||||
|
||||
return $translator->trans($key, locale: $locale);
|
||||
}
|
||||
}
|
||||
|
|
@ -53,7 +53,6 @@ class TableSettings
|
|||
)]
|
||||
public int $fullDefaultPageSize = 50;
|
||||
|
||||
|
||||
/** @var PartTableColumns[] */
|
||||
#[SettingsParameter(ArrayType::class,
|
||||
label: new TM("settings.behavior.table.parts_default_columns"),
|
||||
|
|
@ -70,6 +69,37 @@ class TableSettings
|
|||
PartTableColumns::CATEGORY, PartTableColumns::FOOTPRINT, PartTableColumns::MANUFACTURER,
|
||||
PartTableColumns::LOCATION, PartTableColumns::AMOUNT];
|
||||
|
||||
/** @var AssemblyTableColumns[] */
|
||||
#[SettingsParameter(ArrayType::class,
|
||||
label: new TM("settings.behavior.table.assemblies_default_columns"),
|
||||
description: new TM("settings.behavior.table.assemblies_default_columns.help"),
|
||||
options: ['type' => EnumType::class, 'options' => ['class' => AssemblyTableColumns::class]],
|
||||
formType: \Symfony\Component\Form\Extension\Core\Type\EnumType::class,
|
||||
formOptions: ['class' => AssemblyTableColumns::class, 'multiple' => true, 'ordered' => true],
|
||||
envVar: "TABLE_ASSEMBLIES_DEFAULT_COLUMNS", envVarMode: EnvVarMode::OVERWRITE, envVarMapper: [self::class, 'mapAssembliesDefaultColumnsEnv']
|
||||
)]
|
||||
#[Assert\NotBlank()]
|
||||
#[Assert\Unique()]
|
||||
#[Assert\All([new Assert\Type(AssemblyTableColumns::class)])]
|
||||
public array $assembliesDefaultColumns = [AssemblyTableColumns::ID, AssemblyTableColumns::IPN, AssemblyTableColumns::NAME,
|
||||
AssemblyTableColumns::DESCRIPTION, AssemblyTableColumns::REFERENCED_ASSEMBLIES, AssemblyTableColumns::EDIT];
|
||||
|
||||
/** @var AssemblyBomTableColumns[] */
|
||||
#[SettingsParameter(ArrayType::class,
|
||||
label: new TM("settings.behavior.table.assemblies_bom_default_columns"),
|
||||
description: new TM("settings.behavior.table.assemblies_bom_default_columns.help"),
|
||||
options: ['type' => EnumType::class, 'options' => ['class' => AssemblyBomTableColumns::class]],
|
||||
formType: \Symfony\Component\Form\Extension\Core\Type\EnumType::class,
|
||||
formOptions: ['class' => AssemblyBomTableColumns::class, 'multiple' => true, 'ordered' => true],
|
||||
envVar: "TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS", envVarMode: EnvVarMode::OVERWRITE, envVarMapper: [self::class, 'mapAssemblyBomsDefaultColumnsEnv']
|
||||
)]
|
||||
#[Assert\NotBlank()]
|
||||
#[Assert\Unique()]
|
||||
#[Assert\All([new Assert\Type(AssemblyBomTableColumns::class)])]
|
||||
|
||||
public array $assembliesBomDefaultColumns = [AssemblyBomTableColumns::QUANTITY, AssemblyTableColumns::ID, AssemblyTableColumns::IPN,
|
||||
AssemblyTableColumns::NAME, AssemblyTableColumns::DESCRIPTION];
|
||||
|
||||
#[SettingsParameter(label: new TM("settings.behavior.table.preview_image_min_width"),
|
||||
formOptions: ['attr' => ['min' => 1, 'max' => 100]],
|
||||
envVar: "int:TABLE_IMAGE_PREVIEW_MIN_SIZE", envVarMode: EnvVarMode::OVERWRITE
|
||||
|
|
@ -101,4 +131,36 @@ class TableSettings
|
|||
return $ret;
|
||||
}
|
||||
|
||||
public static function mapAssembliesDefaultColumnsEnv(string $columns): array
|
||||
{
|
||||
$exploded = explode(',', $columns);
|
||||
$ret = [];
|
||||
foreach ($exploded as $column) {
|
||||
$enum = AssemblyTableColumns::tryFrom($column);
|
||||
if (!$enum) {
|
||||
throw new \InvalidArgumentException("Invalid column '$column' in TABLE_ASSEMBLIES_DEFAULT_COLUMNS");
|
||||
}
|
||||
|
||||
$ret[] = $enum;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function mapAssemblyBomsDefaultColumnsEnv(string $columns): array
|
||||
{
|
||||
$exploded = explode(',', $columns);
|
||||
$ret = [];
|
||||
foreach ($exploded as $column) {
|
||||
$enum = AssemblyBomTableColumns::tryFrom($column);
|
||||
if (!$enum) {
|
||||
throw new \InvalidArgumentException("Invalid column '$column' in TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS");
|
||||
}
|
||||
|
||||
$ret[] = $enum;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
45
src/Settings/MiscSettings/AssemblySettings.php
Normal file
45
src/Settings/MiscSettings/AssemblySettings.php
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||
*
|
||||
* Copyright (C) 2019 - 2024 Jan Böhmer (https://github.com/jbtronics)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published
|
||||
* by the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
|
||||
namespace App\Settings\MiscSettings;
|
||||
|
||||
use App\Settings\SettingsIcon;
|
||||
use Jbtronics\SettingsBundle\Metadata\EnvVarMode;
|
||||
use Jbtronics\SettingsBundle\Settings\Settings;
|
||||
use Jbtronics\SettingsBundle\Settings\SettingsParameter;
|
||||
use Jbtronics\SettingsBundle\Settings\SettingsTrait;
|
||||
use Symfony\Component\Translation\TranslatableMessage as TM;
|
||||
|
||||
#[Settings(label: new TM("settings.misc.assembly"))]
|
||||
#[SettingsIcon("fa-list")]
|
||||
class AssemblySettings
|
||||
{
|
||||
use SettingsTrait;
|
||||
|
||||
#[SettingsParameter(
|
||||
label: new TM("settings.misc.assembly.useIpnPlaceholderInName"),
|
||||
envVar: "bool:CREATE_ASSEMBLY_USE_IPN_PLACEHOLDER_IN_NAME", envVarMode: EnvVarMode::OVERWRITE,
|
||||
)]
|
||||
public bool $useIpnPlaceholderInName = true;
|
||||
}
|
||||
|
|
@ -34,4 +34,7 @@ class MiscSettings
|
|||
|
||||
#[EmbeddedSettings]
|
||||
public ?ExchangeRateSettings $exchangeRate = null;
|
||||
}
|
||||
|
||||
#[EmbeddedSettings]
|
||||
public ?AssemblySettings $assembly = null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13294,6 +13294,30 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Sloupce, které se mají ve výchozím nastavení zobrazovat v částečných tabulkách. Pořadí položek lze změnit pomocí funkce drag & drop.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7bki9T" name="settings.behavior.table.assemblies_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns</source>
|
||||
<target>Výchozí sloupce pro tabulky sestav</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="t4jhp3R" name="settings.behavior.table.assemblies_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns.help</source>
|
||||
<target>Sloupce, které by měly být zobrazeny ve výchozím nastavení v tabulkách sestav. Pořadí prvků lze změnit přetažením.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Uj8ie5E" name="settings.behavior.table.assemblies_bom_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns</source>
|
||||
<target>Výchozí sloupce pro kusovníky sestav</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uhb3diP" name="settings.behavior.table.assemblies_bom_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns.help</source>
|
||||
<target>Sloupce, které by měly být zobrazeny ve výchozím nastavení v kusovnících sestav. Pořadí prvků lze změnit přetažením.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hazr_g5" name="settings.ips.oemsecrets">
|
||||
<segment state="translated">
|
||||
<source>settings.ips.oemsecrets</source>
|
||||
|
|
@ -13504,6 +13528,18 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Pokud potřebujete směnné kurzy mezi měnami mimo eurozónu, můžete zde zadat API klíč z fixer.io.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="akjcu4G" name="settings.misc.assembly">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly</source>
|
||||
<target>Sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Jiwgf9K" name="settings.misc.assembly.useIpnPlaceholderInName">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly.useIpnPlaceholderInName</source>
|
||||
<target>Použít zástupný symbol %%ipn%% v názvu sestavy. Zástupný symbol bude při ukládání nahrazen vstupem IPN.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Ffr5xYM" name="settings.behavior.part_info">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.part_info</source>
|
||||
|
|
@ -13918,6 +13954,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Schématický editor BOM (CSV soubor)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -15656,6 +15698,12 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Popis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Referenceované sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -15686,6 +15734,36 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Neplatný regulární výraz (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Název</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Množství</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Popis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13091,6 +13091,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Skematisk editor BOM (CSV-fil)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13576,6 +13582,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Beskrivelse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Referencerede forsamlinger</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13606,6 +13618,36 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Ugyldigt regulært udtryk (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Navn</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Mængde</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Beskrivelse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13410,6 +13410,30 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Die Spalten, die standardmäßig in Bauteiltabellen angezeigt werden sollen. Die Reihenfolge der Elemente kann per Drag & Drop geändert werden.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7bki9T" name="settings.behavior.table.assemblies_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns</source>
|
||||
<target>Standardmäßige Spalten für Baugruppentabellen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="t4jhp3R" name="settings.behavior.table.assemblies_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns.help</source>
|
||||
<target>Die Spalten, die standardmäßig in Baugruppentabellen angezeigt werden sollen. Die Reihenfolge der Elemente kann per Drag & Drop geändert werden.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Uj8ie5E" name="settings.behavior.table.assemblies_bom_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns</source>
|
||||
<target>Standardmäßige Spalten für Baugruppen-Stücklisten</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uhb3diP" name="settings.behavior.table.assemblies_bom_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns.help</source>
|
||||
<target>Die Spalten, die standardmäßig in Baugruppen-Stücklisten angezeigt werden sollen. Die Reihenfolge der Elemente kann per Drag & Drop geändert werden.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hazr_g5" name="settings.ips.oemsecrets">
|
||||
<segment state="translated">
|
||||
<source>settings.ips.oemsecrets</source>
|
||||
|
|
@ -14482,6 +14506,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Schaltplaneditor BOM (CSV Datei)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -14997,6 +15027,18 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Wenn Sie Wechselkurse zwischen Nicht-Euro-Währungen benötigen, können Sie hier einen API-Schlüssel von fixer.io eingeben.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="akjcu4G" name="settings.misc.assembly">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly</source>
|
||||
<target>Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Jiwgf9K" name="settings.misc.assembly.useIpnPlaceholderInName">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly.useIpnPlaceholderInName</source>
|
||||
<target>Verwenden Sie einen %%ipn%%-Platzhalter im Namen einer Baugruppe. Der Platzhalter wird beim Speichern durch die eingegebene IPN ersetzt.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Ffr5xYM" name="settings.behavior.part_info">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.part_info</source>
|
||||
|
|
@ -16359,6 +16401,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Referenzierte Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -16389,6 +16437,36 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Ungültiger regulärer Ausdruck (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Stückzahl</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -3034,6 +3034,12 @@
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Σχηματικό BOM (CSV αρχείο)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -3519,6 +3525,12 @@
|
|||
<target>Περιγραφή</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Αναφερόμενες συναρμολογήσεις</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -3549,6 +3561,36 @@
|
|||
<target>Μη έγκυρη κανονική έκφραση (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Όνομα</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Ποσότητα</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Περιγραφή</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13381,6 +13381,30 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>The columns to show by default in part tables. Order of items can be changed via drag & drop.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7bki9T" name="settings.behavior.table.assemblies_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns</source>
|
||||
<target>Default columns for assembly tables</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="t4jhp3R" name="settings.behavior.table.assemblies_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_default_columns.help</source>
|
||||
<target>The columns to show by default in assembly tables. Order of items can be changed via drag & drop.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Uj8ie5E" name="settings.behavior.table.assemblies_bom_default_columns">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns</source>
|
||||
<target>Default columns for assembly BOM tables</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uhb3diP" name="settings.behavior.table.assemblies_bom_default_columns.help">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.table.assemblies_bom_default_columns.help</source>
|
||||
<target>The columns to show by default in assembly BOM tables. Order of items can be changed via drag & drop.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hazr_g5" name="settings.ips.oemsecrets">
|
||||
<segment state="translated">
|
||||
<source>settings.ips.oemsecrets</source>
|
||||
|
|
@ -13831,6 +13855,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Schematic BOM (CSV file)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -14346,6 +14376,18 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>If you need exchange rates between non-euro currencies, you can input an API key from fixer.io here.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="akjcu4G" name="settings.misc.assembly">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly</source>
|
||||
<target>Assemblies</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Jiwgf9K" name="settings.misc.assembly.useIpnPlaceholderInName">
|
||||
<segment state="translated">
|
||||
<source>settings.misc.assembly.useIpnPlaceholderInName</source>
|
||||
<target>Use an %%ipn%% placeholder in the name of an assembly. Placeholder is replaced with the ipn input while saving.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Ffr5xYM" name="settings.behavior.part_info">
|
||||
<segment state="translated">
|
||||
<source>settings.behavior.part_info</source>
|
||||
|
|
@ -15576,6 +15618,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Referenced assemblies</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -15606,6 +15654,36 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Invalid regular expression (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Quantity</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13257,6 +13257,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Editor Esquemático BOM (archivo CSV)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13874,6 +13880,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Descripción</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Ensambles referenciados</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13904,6 +13916,36 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Expresión regular no válida (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Nombre</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Cantidad</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Descripción</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -9637,6 +9637,12 @@ exemple de ville</target>
|
|||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Éditeur Schématique BOM (fichier CSV)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -10122,6 +10128,12 @@ exemple de ville</target>
|
|||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Ensembles référencés</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -10152,6 +10164,36 @@ exemple de ville</target>
|
|||
<target>Expression régulière invalide (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Nom</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Quantité</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13235,6 +13235,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>CSV (KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Editor Schematico BOM (file CSV)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13744,6 +13750,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Descrizione</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Assiemi referenziati</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13774,6 +13786,36 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Espressione regolare non valida (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Nome</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Quantità</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Descrizione</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -9350,6 +9350,12 @@ Exampletown</target>
|
|||
<target>CSV (KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD 回路図エディタ BOM (CSV ファイル)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -9835,6 +9841,12 @@ Exampletown</target>
|
|||
<target>説明</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>参照されているアセンブリ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -9865,6 +9877,36 @@ Exampletown</target>
|
|||
<target>無効な正規表現(regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>名前</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>数量</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>説明</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -1240,6 +1240,12 @@
|
|||
<target>CSV (KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Schematische editor BOM (CSV-bestand)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -1725,6 +1731,12 @@
|
|||
<target>Beschrijving</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Gerefereerde assemblages</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -1755,6 +1767,36 @@
|
|||
<target>Ongeldige reguliere expressie (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Naam</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Hoeveelheid</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Beschrijving</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13112,6 +13112,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>CSV (KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Schematyczny edytor BOM (plik CSV)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13597,6 +13603,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Opis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Zestawy referencyjne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13627,6 +13639,36 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Nieprawidłowe wyrażenie regularne (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Nazwa</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Ilość</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Opis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13212,6 +13212,12 @@
|
|||
<target>CSV (KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD Схематический редактор BOM (CSV файл)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13697,6 +13703,12 @@
|
|||
<target>Описание</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>Ссылочные сборки</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13727,6 +13739,36 @@
|
|||
<target>Неверное регулярное выражение (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>Название</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>Количество</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>Описание</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -13097,6 +13097,12 @@ Element 3</target>
|
|||
<target>CSV 文件(KiCAD Pcbnew)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oiuejI1" name="assembly.bom_import.type.kicad_schematic">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.kicad_schematic</source>
|
||||
<target>KiCAD 原理图编辑器 BOM(CSV 文件)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
|
|
@ -13582,6 +13588,12 @@ Element 3</target>
|
|||
<target>描述</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
<target>引用的组件</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
|
|
@ -13612,6 +13624,36 @@ Element 3</target>
|
|||
<target>无效的正则表达式(regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8uh6vTx" name="assembly.bom.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ijncxl3" name="assembly.bom.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.name</source>
|
||||
<target>名称</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Pe5Bkw1" name="assembly.bom.table.quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.quantity</source>
|
||||
<target>数量</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7hdpoc2" name="assembly.bom.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1nbwdk5" name="assembly.bom.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.description</source>
|
||||
<target>描述</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue