mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-11 04:39:33 +00:00
Merge remote-tracking branch 'origin/feature/create-assemblies' into feature/all-features
# Conflicts: # .env # config/parameters.yaml # docs/configuration.md # migrations/Version20250304081039.php # migrations/Version20250304154507.php # src/Controller/AdminPages/BaseAdminController.php # src/Controller/ProjectController.php # src/Controller/TypeaheadController.php # src/DataTables/AssemblyBomEntriesDataTable.php # src/DataTables/PartsDataTable.php # src/Entity/AssemblySystem/AssemblyBOMEntry.php # src/Entity/Attachments/Attachment.php # src/Entity/Base/AbstractDBElement.php # src/Entity/LogSystem/CollectionElementDeleted.php # src/Entity/Parameters/AbstractParameter.php # src/Form/AssemblySystem/AssemblyBOMEntryType.php # src/Helpers/Assemblies/AssemblyPartAggregator.php # src/Security/Voter/AttachmentVoter.php # src/Services/AssemblySystem/AssemblyBuildHelper.php # src/Services/ImportExportSystem/BOMImporter.php # src/Services/ImportExportSystem/EntityExporter.php # src/Services/Trees/ToolsTreeBuilder.php # src/Services/Trees/TreeViewGenerator.php # src/Settings/BehaviorSettings/AssemblyBomTableColumns.php # src/Settings/BehaviorSettings/TableSettings.php # src/Validator/Constraints/AssemblySystem/AssemblyCycleValidator.php # templates/admin/assembly_admin.html.twig # templates/assemblies/build/_form.html.twig # templates/assemblies/import_bom.html.twig # templates/assemblies/info/_info_card.html.twig # templates/assemblies/info/info.html.twig # templates/components/tree_macros.html.twig # templates/form/collection_types_layout_assembly.html.twig # translations/messages.cs.xlf # translations/messages.da.xlf # translations/messages.de.xlf # translations/messages.el.xlf # translations/messages.en.xlf # translations/messages.es.xlf # translations/messages.fr.xlf # translations/messages.it.xlf # translations/messages.ja.xlf # translations/messages.nl.xlf # translations/messages.pl.xlf # translations/messages.ru.xlf # translations/messages.zh.xlf # translations/validators.cs.xlf # translations/validators.en.xlf
This commit is contained in:
commit
f7ec130010
42 changed files with 1272 additions and 2273 deletions
29
.env
29
.env
|
|
@ -50,8 +50,6 @@ EMAIL_SENDER_EMAIL=noreply@partdb.changeme
|
|||
EMAIL_SENDER_NAME="Part-DB Mailer"
|
||||
# Set this to 1 to allow reset of a password per email
|
||||
ALLOW_EMAIL_PW_RESET=0
|
||||
# Set this to 0 to allow to enter already available IPN. In this case a unique increment is appended to the user input.
|
||||
ENFORCE_UNIQUE_IPN=1
|
||||
|
||||
###################################################################################
|
||||
# Error pages settings
|
||||
|
|
@ -62,17 +60,6 @@ ERROR_PAGE_ADMIN_EMAIL=''
|
|||
# If this is set to true, solutions to common problems are shown on error pages. Disable this, if you do not want your users to see them...
|
||||
ERROR_PAGE_SHOW_HELP=1
|
||||
|
||||
##################################################################################
|
||||
# Part table settings
|
||||
##################################################################################
|
||||
|
||||
# Configure which columns will be visible by default in the specific table (and in which order).
|
||||
# This is a comma separated list of column names. See documentation for available values.
|
||||
TABLE_PARTS_DEFAULT_COLUMNS=name,description,category,footprint,manufacturer,storage_location,amount
|
||||
TABLE_ASSEMBLIES_DEFAULT_COLUMNS=id,ipn,name,description,referencedAssemblies,edit
|
||||
TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS=quantity,id,ipn,name,description
|
||||
|
||||
|
||||
###################################################################################
|
||||
# SAML Single sign on-settings
|
||||
###################################################################################
|
||||
|
|
@ -125,22 +112,6 @@ NO_URL_REWRITE_AVAILABLE=0
|
|||
# Set to 1, if Part-DB should redirect all HTTP requests to HTTPS. You dont need to configure this, if your webserver already does this.
|
||||
REDIRECT_TO_HTTPS=0
|
||||
|
||||
# If you want to use fixer.io for currency conversion, you have to set this to your API key
|
||||
FIXER_API_KEY=CHANGEME
|
||||
|
||||
# Override value if you want to show to show a given text on homepage.
|
||||
# When this is empty the content of config/banner.md is used as banner
|
||||
BANNER=""
|
||||
|
||||
# Enable the part image overlay which shows name and filename of the picture
|
||||
SHOW_PART_IMAGE_OVERLAY=1
|
||||
|
||||
# Define the number of digits used for the incremental numbering of parts in the IPN (Internal Part Number) autocomplete system.
|
||||
AUTOCOMPLETE_PART_DIGITS=4
|
||||
|
||||
APP_ENV=prod
|
||||
APP_SECRET=a03498528f5a5fc089273ec9ae5b2849
|
||||
|
||||
# Set this to zero, if you want to disable the year 2038 bug check on 32-bit systems (it will cause errors with current 32-bit PHP versions)
|
||||
DISABLE_YEAR2038_BUG_CHECK=0
|
||||
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ parameters:
|
|||
# This is used as workaround for places where we can not access the settings directly (like the 2FA application names)
|
||||
partdb.title: '%env(string:settings:customization:instanceName)%' # The title shown inside of Part-DB (e.g. in the navbar and on homepage)
|
||||
partdb.locale_menu: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl'] # The languages that are shown in user drop down menu
|
||||
partdb.enforce_change_comments_for: '%env(csv:ENFORCE_CHANGE_COMMENTS_FOR)%' # The actions for which a change comment is required (e.g. "part_edit", "part_create", etc.). If this is empty, change comments are not required at all.
|
||||
partdb.autocomplete_part_digits: '%env(trim:string:AUTOCOMPLETE_PART_DIGITS)%' # The number of digits used for the incremental numbering of parts in the IPN (Internal Part Number) autocomplete system.
|
||||
|
||||
partdb.default_uri: '%env(string:DEFAULT_URI)%' # The default URI to use for the Part-DB instance (e.g. https://part-db.example.com/). This is used for generating links in emails
|
||||
|
||||
|
|
@ -18,26 +16,11 @@ parameters:
|
|||
|
||||
partdb.create_assembly_use_ipn_placeholder_in_name: '%env(bool:CREATE_ASSEMBLY_USE_IPN_PLACEHOLDER_IN_NAME)%' # Use an %%ipn%% placeholder in the name of an assembly. Placeholder is replaced with the ipn input while saving.
|
||||
|
||||
partdb.data_sources.synonyms: # Define your own synonyms for the given data sources
|
||||
# Possible datasources: category, storagelocation, footprint, manufacturer, supplier, project, assembly
|
||||
# Possible locales like the ones in 'partdb.locale_menu': en, de, it, fr, ru, ja, cs, da, zh, pl
|
||||
#category:
|
||||
#de: 'Bauteil Kategorien'
|
||||
#en: 'Part categories'
|
||||
#project:
|
||||
#de: 'Geräte'
|
||||
#en: 'Devices'
|
||||
#assembly:
|
||||
#de: 'Zusammengestellte Baugruppe'
|
||||
#en: 'Combined assembly'
|
||||
|
||||
|
||||
######################################################################################################################
|
||||
# Users and Privacy
|
||||
######################################################################################################################
|
||||
partdb.gdpr_compliance: true # If this option is activated, IP addresses are anonymized to be GDPR compliant
|
||||
partdb.users.email_pw_reset: '%env(bool:ALLOW_EMAIL_PW_RESET)%' # Config if users are able, to reset their password by email. By default this enabled, when a mail server is configured.
|
||||
partdb.users.enforce_unique_ipn: '%env(bool:ENFORCE_UNIQUE_IPN)%' # Config if users are able, to enter an already available IPN. In this case a unique increment is appended to the user input.
|
||||
|
||||
######################################################################################################################
|
||||
# Mail settings
|
||||
|
|
@ -62,12 +45,6 @@ parameters:
|
|||
######################################################################################################################
|
||||
partdb.saml.enabled: '%env(bool:SAML_ENABLED)%' # If this is set to true, SAML authentication is enabled
|
||||
|
||||
######################################################################################################################
|
||||
# Table settings
|
||||
######################################################################################################################
|
||||
partdb.table.assemblies.default_columns: '%env(trim:string:TABLE_ASSEMBLIES_DEFAULT_COLUMNS)%' # The default columns in assembly tables and their order
|
||||
partdb.table.assemblies_bom.default_columns: '%env(trim:string:TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS)%' # The default columns in assembly bom tables and their order
|
||||
|
||||
######################################################################################################################
|
||||
# Miscellaneous
|
||||
######################################################################################################################
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ bundled with Part-DB. Set `DATABASE_MYSQL_SSL_VERIFY_CERT` if you want to accept
|
|||
are: `name`, `id`, `ipn`, `description`, `referencedAssemblies`, `edit`, `addedDate`, `lastModified`.
|
||||
* `TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS`: The columns in assemblies bom tables, which are visible by default (when loading table for first time).
|
||||
Also specify the default order of the columns. This is a comma separated list of column names. Available columns
|
||||
are: `quantity`, `name`, `id`, `ipn`, `description`, `addedDate`, `lastModified`.
|
||||
are: `quantity`, `name`, `id`, `ipn`, `description`, `category`, `footprint`, `manufacturer`, `designator`, `mountnames`, `storage_location`, `amount`, `addedDate`, `lastModified`.
|
||||
* `CREATE_ASSEMBLY_USE_IPN_PLACEHOLDER_IN_NAME`: Use an %%ipn%% placeholder in the name of a assembly. Placeholder is replaced with the ipn input while saving.
|
||||
|
||||
### History/Eventlog-related settings
|
||||
|
|
|
|||
|
|
@ -145,7 +145,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
id_assembly INTEGER DEFAULT NULL,
|
||||
id_part INTEGER DEFAULT NULL,
|
||||
id_project INTEGER DEFAULT NULL,
|
||||
id_referenced_assembly INTEGER DEFAULT NULL,
|
||||
price_currency_id INTEGER DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
|
|
@ -157,7 +156,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
CONSTRAINT FK_8C74887E4AD2039E FOREIGN KEY (id_assembly) REFERENCES assemblies (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887EC22F6CC4 FOREIGN KEY (id_part) REFERENCES "parts" (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887EF12E799E FOREIGN KEY (id_project) REFERENCES projects (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887E22522999 FOREIGN KEY (id_referenced_assembly) REFERENCES assemblies (id) ON UPDATE NO ACTION ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887E3FFDCD60 FOREIGN KEY (price_currency_id) REFERENCES currencies (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
)
|
||||
|
|
@ -168,9 +166,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887EC22F6CC4 ON assembly_bom_entries (id_part)
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887EF12E799E ON assembly_bom_entries (id_project)
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887E22522999 ON assembly_bom_entries (id_referenced_assembly)
|
||||
SQL);
|
||||
|
|
@ -220,7 +215,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
|
||||
id_assembly INT DEFAULT NULL,
|
||||
id_part INT DEFAULT NULL,
|
||||
id_project INT DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
mountnames TEXT NOT NULL,
|
||||
name VARCHAR(255) DEFAULT NULL,
|
||||
|
|
@ -238,9 +232,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887EC22F6CC4 ON assembly_bom_entries (id_part)
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887EF12E799E ON assembly_bom_entries (id_project)
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE INDEX IDX_8C74887E3FFDCD60 ON assembly_bom_entries (price_currency_id)
|
||||
SQL);
|
||||
|
|
@ -256,9 +247,6 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
$this->addSql(<<<'SQL'
|
||||
ALTER TABLE assembly_bom_entries ADD CONSTRAINT FK_8C74887EC22F6CC4 FOREIGN KEY (id_part) REFERENCES "parts" (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
ALTER TABLE assembly_bom_entries ADD CONSTRAINT FK_8C74887EF12E799E FOREIGN KEY (id_project) REFERENCES "projects" (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
ALTER TABLE assembly_bom_entries ADD CONSTRAINT FK_8C74887E3FFDCD60 FOREIGN KEY (price_currency_id) REFERENCES currencies (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
SQL);
|
||||
|
|
|
|||
26
migrations/Version20250929140755.php
Normal file
26
migrations/Version20250929140755.php
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
final class Version20250929140755 extends AbstractMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return 'Add designator to assembly_bom_entries for free identifier text';
|
||||
}
|
||||
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries ADD designator LONGTEXT NOT NULL AFTER mountnames');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries DROP designator');
|
||||
}
|
||||
}
|
||||
|
|
@ -23,6 +23,7 @@ declare(strict_types=1);
|
|||
namespace App\Controller;
|
||||
|
||||
use App\DataTables\LogDataTable;
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Entity\Attachments\AttachmentUpload;
|
||||
use App\Entity\Parts\Category;
|
||||
use App\Entity\Parts\Footprint;
|
||||
|
|
|
|||
|
|
@ -194,14 +194,14 @@ class ProjectController extends AbstractController
|
|||
|
||||
// For PCB imports, proceed directly
|
||||
$importerResult = $BOMImporter->importFileIntoProject($form->get('file')->getData(), $project, [
|
||||
'type' => $form->get('type')->getData(),
|
||||
'type' => $import_type,
|
||||
]);
|
||||
|
||||
// Validate the project entries
|
||||
$errors = $validator->validateProperty($project, 'bom_entries');
|
||||
|
||||
//If no validation errors occured, save the changes and redirect to edit page
|
||||
if (count ($errors) === 0 && $importerResult->getViolations()->count() === 0) {
|
||||
//If no validation errors occurred, save the changes and redirect to edit page
|
||||
if (count($errors) === 0 && $importerResult->getViolations()->count() === 0) {
|
||||
$entries = $importerResult->getBomEntries();
|
||||
|
||||
$this->addFlash('success', t('project.bom_import.flash.success', ['%count%' => count($entries)]));
|
||||
|
|
|
|||
|
|
@ -162,6 +162,12 @@ class AssemblyBomEntriesDataTable implements DataTableTypeInterface
|
|||
return $html;
|
||||
},
|
||||
])
|
||||
->add('designator', TextColumn::class, [
|
||||
'label' => 'assembly.bom.designator',
|
||||
'render' => function ($value, AssemblyBOMEntry $context) {
|
||||
return htmlspecialchars($context->getDesignator());
|
||||
},
|
||||
])
|
||||
->add('instockAmount', TextColumn::class, [
|
||||
'label' => 'assembly.bom.instockAmount',
|
||||
'visible' => false,
|
||||
|
|
@ -195,7 +201,7 @@ class AssemblyBomEntriesDataTable implements DataTableTypeInterface
|
|||
$this->csh->applyVisibilityAndConfigureColumns($dataTable, $this->tableSettings->assembliesBomDefaultColumns,
|
||||
"TABLE_ASSEMBLIES_BOM_DEFAULT_COLUMNS");
|
||||
|
||||
$dataTable->addOrderBy('name', DataTable::SORT_ASCENDING);
|
||||
$dataTable->addOrderBy('name');
|
||||
|
||||
$dataTable->createAdapter(ORMAdapter::class, [
|
||||
'entity' => Attachment::class,
|
||||
|
|
|
|||
|
|
@ -282,34 +282,6 @@ final class PartsDataTable implements DataTableTypeInterface
|
|||
]);
|
||||
}
|
||||
|
||||
//Add a assembly column to list where the part is used, when the user has the permission to see the assemblies
|
||||
if ($this->security->isGranted('read', Assembly::class)) {
|
||||
$this->csh->add('assemblies', TextColumn::class, [
|
||||
'label' => $this->translator->trans('assembly.labelp'),
|
||||
'render' => function ($value, Part $context): string {
|
||||
//Only show the first 5 assembly names
|
||||
$assemblies = $context->getAssemblies();
|
||||
$tmp = "";
|
||||
|
||||
$max = 5;
|
||||
|
||||
for ($i = 0; $i < min($max, count($assemblies)); $i++) {
|
||||
$url = $this->urlGenerator->infoURL($assemblies[$i]);
|
||||
$tmp .= sprintf('<a href="%s">%s</a>', $url, htmlspecialchars($assemblies[$i]->getName()));
|
||||
if ($i < count($assemblies) - 1) {
|
||||
$tmp .= ", ";
|
||||
}
|
||||
}
|
||||
|
||||
if (count($assemblies) > $max) {
|
||||
$tmp .= ", + ".(count($assemblies) - $max);
|
||||
}
|
||||
|
||||
return $tmp;
|
||||
}
|
||||
]);
|
||||
}
|
||||
|
||||
$this->csh
|
||||
->add('edit', IconLinkColumn::class, [
|
||||
'label' => $this->translator->trans('part.table.edit'),
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@ use ApiPlatform\OpenApi\Model\Operation;
|
|||
use ApiPlatform\Serializer\Filter\PropertyFilter;
|
||||
use App\ApiPlatform\Filter\LikeFilter;
|
||||
use App\Entity\Contracts\TimeStampableInterface;
|
||||
use App\Entity\ProjectSystem\Project;
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Repository\DBElementRepository;
|
||||
use App\Validator\Constraints\AssemblySystem\AssemblyCycle;
|
||||
use App\Validator\Constraints\AssemblySystem\AssemblyInvalidBomEntry;
|
||||
|
|
@ -86,7 +84,7 @@ use Symfony\Component\Validator\Context\ExecutionContextInterface;
|
|||
normalizationContext: ['groups' => ['bom_entry:read', 'api:basic:read'], 'openapi_definition_name' => 'Read']
|
||||
)]
|
||||
#[ApiFilter(PropertyFilter::class)]
|
||||
#[ApiFilter(LikeFilter::class, properties: ["name", "comment", 'mountnames'])]
|
||||
#[ApiFilter(LikeFilter::class, properties: ["name", 'mountnames', 'designator', "comment"])]
|
||||
#[ApiFilter(RangeFilter::class, properties: ['quantity'])]
|
||||
#[ApiFilter(OrderFilter::class, properties: ['name', 'id', 'addedDate', 'lastModified', 'quantity'])]
|
||||
class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInterface, TimeStampableInterface
|
||||
|
|
@ -105,6 +103,13 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
|
|||
#[Groups(['bom_entry:read', 'bom_entry:write', 'import', 'simple', 'extended', 'full'])]
|
||||
protected string $mountnames = '';
|
||||
|
||||
/**
|
||||
* @var string Reference mark on the circuit diagram/PCB
|
||||
*/
|
||||
#[ORM\Column(name: 'designator', type: Types::TEXT)]
|
||||
#[Groups(['bom_entry:read', 'bom_entry:write', 'import', 'simple', 'extended', 'full'])]
|
||||
protected string $designator = '';
|
||||
|
||||
/**
|
||||
* @var string|null An optional name describing this BOM entry (useful for non-part entries)
|
||||
*/
|
||||
|
|
@ -192,6 +197,16 @@ class AssemblyBOMEntry extends AbstractDBElement implements UniqueValidatableInt
|
|||
return $this;
|
||||
}
|
||||
|
||||
public function getDesignator(): string
|
||||
{
|
||||
return $this->designator;
|
||||
}
|
||||
|
||||
public function setDesignator(string $designator): void
|
||||
{
|
||||
$this->designator = $designator;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -61,9 +61,9 @@ use App\Entity\Attachments\UserAttachment;
|
|||
use App\Entity\Base\AbstractDBElement;
|
||||
use App\Entity\Contracts\LogWithEventUndoInterface;
|
||||
use App\Entity\Contracts\NamedElementInterface;
|
||||
use App\Entity\Parameters\AssemblyParameter;
|
||||
use App\Entity\Parameters\PartCustomStateParameter;
|
||||
use App\Entity\Parts\PartCustomState;
|
||||
use App\Entity\Parameters\AssemblyParameter;
|
||||
use App\Entity\ProjectSystem\Project;
|
||||
use App\Entity\Parameters\AbstractParameter;
|
||||
use App\Entity\Parameters\AttachmentTypeParameter;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ declare(strict_types=1);
|
|||
*/
|
||||
namespace App\Entity\LogSystem;
|
||||
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Entity\AssemblySystem\AssemblyBOMEntry;
|
||||
use App\Entity\Attachments\Attachment;
|
||||
use App\Entity\Attachments\AttachmentType;
|
||||
use App\Entity\InfoProviderSystem\BulkInfoProviderImportJob;
|
||||
|
|
@ -78,6 +80,9 @@ enum LogTargetType: int
|
|||
case ASSEMBLY_BOM_ENTRY = 24;
|
||||
case PART_CUSTOM_STATE = 25;
|
||||
|
||||
case ASSEMBLY = 23;
|
||||
case ASSEMBLY_BOM_ENTRY = 24;
|
||||
|
||||
/**
|
||||
* Returns the class name of the target type or null if the target type is NONE.
|
||||
* @return string|null
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Entity\Parts;
|
||||
|
||||
use App\Entity\Parts\PartTraits\AssemblyTrait;
|
||||
use ApiPlatform\Doctrine\Common\Filter\DateFilterInterface;
|
||||
use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;
|
||||
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;
|
||||
|
|
|
|||
|
|
@ -45,12 +45,17 @@ class AssemblyBOMEntryType extends AbstractType
|
|||
])
|
||||
->add('name', TextType::class, [
|
||||
'label' => 'assembly.bom.name',
|
||||
'help' => 'assembly.bom.name.help',
|
||||
'required' => false,
|
||||
])
|
||||
->add('designator', TextType::class, [
|
||||
'label' => 'assembly.bom.designator',
|
||||
'help' => 'assembly.bom.designator.help',
|
||||
'required' => false
|
||||
])
|
||||
->add('mountnames', TextType::class, [
|
||||
'required' => false,
|
||||
'label' => 'assembly.bom.mountnames',
|
||||
'empty_data' => '',
|
||||
'attr' => [
|
||||
'class' => 'tagsinput',
|
||||
'data-controller' => 'elements--tagsinput',
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ declare(strict_types=1);
|
|||
namespace App\Helpers\Assemblies;
|
||||
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Entity\AssemblySystem\AssemblyBOMEntry;
|
||||
use App\Entity\Parts\Part;
|
||||
use Dompdf\Dompdf;
|
||||
use Dompdf\Options;
|
||||
|
|
@ -61,6 +62,7 @@ class AssemblyPartAggregator
|
|||
*/
|
||||
private function processAssembly(Assembly $assembly, float $multiplier, array &$aggregatedParts): void
|
||||
{
|
||||
/** @var AssemblyBOMEntry $bomEntry */
|
||||
foreach ($assembly->getBomEntries() as $bomEntry) {
|
||||
// If the BOM entry refers to a part, add its quantity
|
||||
if ($bomEntry->getPart() instanceof Part) {
|
||||
|
|
@ -70,6 +72,8 @@ class AssemblyPartAggregator
|
|||
$aggregatedParts[$part->getId()] = [
|
||||
'part' => $part,
|
||||
'assembly' => $assembly,
|
||||
'name' => $bomEntry->getName(),
|
||||
'designator' => $bomEntry->getDesignator(),
|
||||
'quantity' => $bomEntry->getQuantity(),
|
||||
'multiplier' => $multiplier,
|
||||
];
|
||||
|
|
@ -81,6 +85,8 @@ class AssemblyPartAggregator
|
|||
$aggregatedParts[] = [
|
||||
'part' => null,
|
||||
'assembly' => $assembly,
|
||||
'name' => $bomEntry->getName(),
|
||||
'designator' => $bomEntry->getDesignator(),
|
||||
'quantity' => $bomEntry->getQuantity(),
|
||||
'multiplier' => $multiplier,
|
||||
];
|
||||
|
|
|
|||
|
|
@ -103,7 +103,6 @@ class AssemblyBuildHelper
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the assembly BOM entries for which parts are missing in the stock for the given number of builds
|
||||
* Returns the referenced assembly BOM entries for which parts are missing in the stock for the given number of builds
|
||||
* @param Assembly $assembly The assembly for which the BOM entries should be checked
|
||||
* @param int $number_of_builds How often should the assembly be build?
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ declare(strict_types=1);
|
|||
|
||||
namespace App\Services;
|
||||
|
||||
use App\Entity\AssemblySystem\Assembly;
|
||||
use App\Entity\AssemblySystem\AssemblyBOMEntry;
|
||||
use App\Entity\Attachments\Attachment;
|
||||
use App\Entity\Attachments\AttachmentContainingDBElement;
|
||||
use App\Entity\Attachments\AttachmentType;
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ 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';
|
||||
|
|
@ -64,29 +63,29 @@ class BOMImporter
|
|||
5 => 'Supplier and ref',
|
||||
];
|
||||
|
||||
private readonly PartRepository $partRepository;
|
||||
|
||||
private readonly ManufacturerRepository $manufacturerRepository;
|
||||
|
||||
private readonly CategoryRepository $categoryRepository;
|
||||
|
||||
private readonly DBElementRepository $projectBomEntryRepository;
|
||||
|
||||
private readonly DBElementRepository $assemblyBomEntryRepository;
|
||||
|
||||
private string $jsonRoot = '';
|
||||
|
||||
private PartRepository $partRepository;
|
||||
|
||||
private ManufacturerRepository $manufacturerRepository;
|
||||
|
||||
private CategoryRepository $categoryRepository;
|
||||
|
||||
private DBElementRepository $projectBomEntryRepository;
|
||||
|
||||
private DBElementRepository $assemblyBomEntryRepository;
|
||||
|
||||
public function __construct(
|
||||
private readonly EntityManagerInterface $entityManager,
|
||||
private readonly TranslatorInterface $translator,
|
||||
private readonly LoggerInterface $logger,
|
||||
private readonly BOMValidationService $validationService
|
||||
private readonly BOMValidationService $validationService,
|
||||
private readonly TranslatorInterface $translator
|
||||
) {
|
||||
$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->partRepository = $this->entityManager->getRepository(Part::class);
|
||||
$this->manufacturerRepository = $this->entityManager->getRepository(Manufacturer::class);
|
||||
$this->categoryRepository = $this->entityManager->getRepository(Category::class);
|
||||
$this->projectBomEntryRepository = $this->entityManager->getRepository(ProjectBOMEntry::class);
|
||||
$this->assemblyBomEntryRepository = $this->entityManager->getRepository(AssemblyBOMEntry::class);
|
||||
}
|
||||
|
||||
protected function configureOptions(OptionsResolver $resolver): OptionsResolver
|
||||
|
|
@ -167,22 +166,6 @@ class BOMImporter
|
|||
return $this->stringToBOMEntries($importObject, $file->getContent(), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate BOM data before importing
|
||||
* @return array Validation result with errors, warnings, and info
|
||||
*/
|
||||
public function validateBOMData(string $data, array $options): array
|
||||
{
|
||||
$resolver = new OptionsResolver();
|
||||
$resolver = $this->configureOptions($resolver);
|
||||
$options = $resolver->resolve($options);
|
||||
|
||||
return match ($options['type']) {
|
||||
'kicad_pcbnew' => $this->validateKiCADPCB($data),
|
||||
'kicad_schematic' => $this->validateKiCADSchematicData($data, $options),
|
||||
default => throw new InvalidArgumentException('Invalid import type!'),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the conversion of an uploaded file into an ImporterResult for a given project or assembly.
|
||||
|
|
@ -238,6 +221,23 @@ class BOMImporter
|
|||
return $this->stringToImporterResult($importObject, $file->getContent(), $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate BOM data before importing
|
||||
* @return array Validation result with errors, warnings, and info
|
||||
*/
|
||||
public function validateBOMData(string $data, array $options): array
|
||||
{
|
||||
$resolver = new OptionsResolver();
|
||||
$resolver = $this->configureOptions($resolver);
|
||||
$options = $resolver->resolve($options);
|
||||
|
||||
return match ($options['type']) {
|
||||
'kicad_pcbnew' => $this->validateKiCADPCB($data),
|
||||
'kicad_schematic' => $this->validateKiCADSchematicData($data, $options),
|
||||
default => throw new InvalidArgumentException('Invalid import type!'),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Import string data into an array of BOM entries, which are not yet assigned to a project.
|
||||
*
|
||||
|
|
@ -255,7 +255,7 @@ class BOMImporter
|
|||
|
||||
return match ($options['type']) {
|
||||
self::IMPORT_TYPE_KICAD_PCB => $this->parseKiCADPCB($data, $importObject)->getBomEntries(),
|
||||
self::IMPORT_TYPE_KICAD_SCHEMATIC => $this->parseKiCADPCB($data, $importObject)->getBomEntries(),
|
||||
self::IMPORT_TYPE_KICAD_SCHEMATIC => $this->parseKiCADSchematic($data, $options),
|
||||
default => throw new InvalidArgumentException($this->translator->trans('validator.bom_importer.invalid_import_type', [], 'validators')),
|
||||
};
|
||||
}
|
||||
|
|
@ -296,9 +296,8 @@ class BOMImporter
|
|||
* validates the required fields, and creates BOM entries for each record in the data.
|
||||
* The BOM entries are added to the provided Project or Assembly, depending on the context.
|
||||
*
|
||||
* @param string $data The semicolon- or comma-delimited CSV data to be parsed.
|
||||
* @param Project|Assembly $importObject The object determining the context of the BOM entry (either a Project or Assembly).
|
||||
* @param string $data The semicolon- or comma-delimited CSV data to be parsed
|
||||
*
|
||||
* @return ImporterResult The result of the import process, containing the created BOM entries.
|
||||
*
|
||||
* @throws UnexpectedValueException If required fields are missing in the provided data.
|
||||
|
|
@ -858,7 +857,7 @@ class BOMImporter
|
|||
if (isset($entry['name'])) {
|
||||
$givenName = trim($entry['name']) === '' ? null : trim ($entry['name']);
|
||||
|
||||
if ($givenName !== null && $part !== null && $part->getName() !== $givenName) {
|
||||
if ($givenName !== null && $bomEntry->getPart() !== null && $bomEntry->getPart()->getName() !== $givenName) {
|
||||
//Apply different names for parts list entry
|
||||
$bomEntry->setName(trim($entry['name']) === '' ? null : trim ($entry['name']));
|
||||
}
|
||||
|
|
@ -867,7 +866,11 @@ class BOMImporter
|
|||
}
|
||||
|
||||
if (isset($entry['designator'])) {
|
||||
$bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
|
||||
if ($bomEntry instanceof ProjectBOMEntry) {
|
||||
$bomEntry->setMountnames(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
|
||||
} elseif ($bomEntry instanceof AssemblyBOMEntry) {
|
||||
$bomEntry->setDesignator(trim($entry['designator']) === '' ? '' : trim($entry['designator']));
|
||||
}
|
||||
}
|
||||
|
||||
$bomEntry->setPart($part);
|
||||
|
|
@ -957,6 +960,7 @@ class BOMImporter
|
|||
return $out;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Builds a JSON-based constraint violation.
|
||||
*
|
||||
|
|
@ -964,25 +968,13 @@ class BOMImporter
|
|||
* 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).
|
||||
* @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(
|
||||
message: $this->translator->trans($message, $parameters, 'validators'),
|
||||
messageTemplate: $message,
|
||||
parameters: $parameters,
|
||||
root: $this->jsonRoot,
|
||||
propertyPath: $propertyPath,
|
||||
invalidValue: $invalidValue
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse KiCad schematic BOM with flexible field mapping
|
||||
*/
|
||||
|
|
@ -1460,4 +1452,30 @@ class BOMImporter
|
|||
|
||||
return array_values($headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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(
|
||||
message: $this->translator->trans($message, $parameters, 'validators'),
|
||||
messageTemplate: $message,
|
||||
parameters: $parameters,
|
||||
root: $this->jsonRoot,
|
||||
propertyPath: $propertyPath,
|
||||
invalidValue: $invalidValue
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ use App\Entity\Parts\StorageLocation;
|
|||
use App\Entity\Parts\Supplier;
|
||||
use App\Entity\PriceInformations\Currency;
|
||||
use App\Entity\ProjectSystem\Project;
|
||||
use App\Entity\ProjectSystem\ProjectBOMEntry;
|
||||
use App\Helpers\Assemblies\AssemblyPartAggregator;
|
||||
use App\Helpers\FilenameSanatizer;
|
||||
use App\Serializer\APIPlatform\SkippableItemNormalizer;
|
||||
|
|
@ -379,49 +380,62 @@ class EntityExporter
|
|||
],
|
||||
Project::class => [
|
||||
'header' => [
|
||||
'Id', 'ParentId', 'Type', 'ProjectNameHierarchical', 'ProjectName', 'ProjectFullName', 'BomQuantity',
|
||||
'BomPartId', 'BomPartIpn', 'BomPartMpnr', 'BomPartName', 'BomDesignator', 'BomPartDescription',
|
||||
'BomMountNames'
|
||||
'Id', 'ParentId', 'Type', 'ProjectNameHierarchical', 'ProjectName', 'ProjectFullName',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
|
||||
'Description', 'MountNames'
|
||||
],
|
||||
'processEntity' => fn($entity, $depth) => [
|
||||
'ProjectId' => $entity->getId(),
|
||||
'ParentProjectId' => $entity->getParent()?->getId() ?? '',
|
||||
'Id' => $entity->getId(),
|
||||
'ParentId' => $entity->getParent()?->getId() ?? '',
|
||||
'Type' => 'project',
|
||||
'ProjectNameHierarchical' => str_repeat('--', $depth) . ' ' . $entity->getName(),
|
||||
'ProjectName' => $entity->getName(),
|
||||
'ProjectFullName' => $this->getFullName($entity),
|
||||
'BomQuantity' => '-',
|
||||
'BomPartId' => '-',
|
||||
'BomPartIpn' => '-',
|
||||
'BomPartMpnr' => '-',
|
||||
'BomPartName' => '-',
|
||||
'BomDesignator' => '-',
|
||||
'BomPartDescription' => '-',
|
||||
'BomMountNames' => '-',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity' => '-',
|
||||
'PartId' => '-',
|
||||
'PartName' => '-',
|
||||
'Ipn' => '-',
|
||||
'Manufacturer' => '-',
|
||||
'Mpn' => '-',
|
||||
'Name' => '-',
|
||||
'Designator' => '-',
|
||||
'Description' => '-',
|
||||
'MountNames' => '-',
|
||||
],
|
||||
'processBomEntries' => fn($entity, $depth) => array_map(fn(AssemblyBOMEntry $bomEntry) => [
|
||||
'processBomEntries' => fn($entity, $depth) => array_map(fn(ProjectBOMEntry $bomEntry) => [
|
||||
'Id' => $entity->getId(),
|
||||
'ParentId' => '',
|
||||
'Type' => 'project_bom_entry',
|
||||
'ProjectNameHierarchical' => str_repeat('--', $depth) . '> ' . $entity->getName(),
|
||||
'ProjectName' => $entity->getName(),
|
||||
'ProjectFullName' => $this->getFullName($entity),
|
||||
'BomQuantity' => $bomEntry->getQuantity() ?? '',
|
||||
'BomPartId' => $bomEntry->getPart()?->getId() ?? '',
|
||||
'BomPartIpn' => $bomEntry->getPart()?->getIpn() ?? '',
|
||||
'BomPartMpnr' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '',
|
||||
'BomPartName' => $bomEntry->getPart()?->getName() ?? '',
|
||||
'BomDesignator' => $bomEntry->getName() ?? '',
|
||||
'BomPartDescription' => $bomEntry->getPart()?->getDescription() ?? '',
|
||||
'BomMountNames' => $bomEntry->getMountNames(),
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity' => $bomEntry->getQuantity() ?? '',
|
||||
'PartId' => $bomEntry->getPart()?->getId() ?? '',
|
||||
'PartName' => $bomEntry->getPart()?->getName() ?? '',
|
||||
'Ipn' => $bomEntry->getPart()?->getIpn() ?? '',
|
||||
'Manufacturer' => $bomEntry->getPart()?->getManufacturer()?->getName() ?? '',
|
||||
'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '',
|
||||
'Name' => $bomEntry->getPart()?->getName() ?? '',
|
||||
'Designator' => $bomEntry->getMountnames() ?? '',
|
||||
'Description' => $bomEntry->getPart()?->getDescription() ?? '',
|
||||
'MountNames' => $bomEntry->getMountNames(),
|
||||
], $entity->getBomEntries()->toArray()),
|
||||
],
|
||||
Assembly::class => [
|
||||
'header' => [
|
||||
'Id', 'ParentId', 'Type', 'AssemblyIpn', 'AssemblyNameHierarchical', 'AssemblyName',
|
||||
'AssemblyFullName', 'BomQuantity', 'BomMultiplier', 'BomPartId', 'BomPartIpn', 'BomPartMpnr',
|
||||
'BomPartName', 'BomDesignator', 'BomPartDescription', 'BomMountNames', 'BomReferencedAssemblyId',
|
||||
'BomReferencedAssemblyIpn', 'BomReferencedAssemblyFullName'
|
||||
'AssemblyFullName',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity', 'PartId', 'PartName', 'Ipn', 'Manufacturer', 'Mpn', 'Name', 'Designator',
|
||||
'Description', 'MountNames', 'ReferencedAssemblyId', 'ReferencedAssemblyIpn',
|
||||
'ReferencedAssemblyFullName'
|
||||
],
|
||||
'processEntity' => fn($entity, $depth) => [
|
||||
'Id' => $entity->getId(),
|
||||
|
|
@ -431,18 +445,21 @@ class EntityExporter
|
|||
'AssemblyNameHierarchical' => str_repeat('--', $depth) . ' ' . $entity->getName(),
|
||||
'AssemblyName' => $entity->getName(),
|
||||
'AssemblyFullName' => $this->getFullName($entity),
|
||||
'BomQuantity' => '-',
|
||||
'BomMultiplier' => '-',
|
||||
'BomPartId' => '-',
|
||||
'BomPartIpn' => '-',
|
||||
'BomPartMpnr' => '-',
|
||||
'BomPartName' => '-',
|
||||
'BomDesignator' => '-',
|
||||
'BomPartDescription' => '-',
|
||||
'BomMountNames' => '-',
|
||||
'BomReferencedAssemblyId' => '-',
|
||||
'BomReferencedAssemblyIpn' => '-',
|
||||
'BomReferencedAssemblyFullName' => '-',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity' => '-',
|
||||
'PartId' => '-',
|
||||
'PartName' => '-',
|
||||
'Ipn' => '-',
|
||||
'Manufacturer' => '-',
|
||||
'Mpn' => '-',
|
||||
'Name' => '-',
|
||||
'Designator' => '-',
|
||||
'Description' => '-',
|
||||
'MountNames' => '-',
|
||||
'ReferencedAssemblyId' => '-',
|
||||
'ReferencedAssemblyIpn' => '-',
|
||||
'ReferencedAssemblyFullName' => '-',
|
||||
],
|
||||
'processBomEntries' => fn($entity, $depth) => $this->processBomEntriesWithAggregatedParts($entity, $depth),
|
||||
],
|
||||
|
|
@ -555,6 +572,7 @@ class EntityExporter
|
|||
{
|
||||
$rows = [];
|
||||
|
||||
/** @var AssemblyBOMEntry $bomEntry */
|
||||
foreach ($assembly->getBomEntries() as $bomEntry) {
|
||||
// Add the BOM entry itself
|
||||
$rows[] = [
|
||||
|
|
@ -565,18 +583,21 @@ class EntityExporter
|
|||
'AssemblyNameHierarchical' => str_repeat('--', $depth) . '> ' . $assembly->getName(),
|
||||
'AssemblyName' => $assembly->getName(),
|
||||
'AssemblyFullName' => $this->getFullName($assembly),
|
||||
'BomQuantity' => $bomEntry->getQuantity() ?? '',
|
||||
'BomMultiplier' => '',
|
||||
'BomPartId' => $bomEntry->getPart()?->getId() ?? '-',
|
||||
'BomPartIpn' => $bomEntry->getPart()?->getIpn() ?? '-',
|
||||
'BomPartMpnr' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '-',
|
||||
'BomPartName' => $bomEntry->getPart()?->getName() ?? '-',
|
||||
'BomDesignator' => $bomEntry->getName() ?? '-',
|
||||
'BomPartDescription' => $bomEntry->getPart()?->getDescription() ?? '-',
|
||||
'BomMountNames' => $bomEntry->getMountNames(),
|
||||
'BomReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
|
||||
'BomReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
|
||||
'BomReferencedAssemblyFullName' => $this->getFullName($bomEntry->getReferencedAssembly() ?? null),
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity' => $bomEntry->getQuantity() ?? '',
|
||||
'PartId' => $bomEntry->getPart()?->getId() ?? '-',
|
||||
'PartName' => $bomEntry->getPart()?->getName() ?? '-',
|
||||
'Ipn' => $bomEntry->getPart()?->getIpn() ?? '-',
|
||||
'Manufacturer' => $bomEntry->getPart()?->getManufacturer()?->getName() ?? '-',
|
||||
'Mpn' => $bomEntry->getPart()?->getManufacturerProductNumber() ?? '-',
|
||||
'Name' => $bomEntry->getName() ?? '-',
|
||||
'Designator' => $bomEntry->getDesignator(),
|
||||
'MountNames' => $bomEntry->getMountNames(),
|
||||
'Description' => $bomEntry->getPart()?->getDescription() ?? '-',
|
||||
'ReferencedAssemblyId' => $bomEntry->getReferencedAssembly()?->getId() ?? '-',
|
||||
'ReferencedAssemblyIpn' => $bomEntry->getReferencedAssembly()?->getIpn() ?? '-',
|
||||
'ReferencedAssemblyFullName' => $this->getFullName($bomEntry->getReferencedAssembly() ?? null),
|
||||
];
|
||||
|
||||
// If a referenced assembly exists, add aggregated parts
|
||||
|
|
@ -597,18 +618,21 @@ class EntityExporter
|
|||
'AssemblyNameHierarchical' => '',
|
||||
'AssemblyName' => $partAssembly ? $partAssembly->getName() : '',
|
||||
'AssemblyFullName' => $this->getFullName($partAssembly),
|
||||
'BomQuantity' => $partData['quantity'],
|
||||
'BomMultiplier' => $partData['multiplier'],
|
||||
'BomPartId' => $partData['part']?->getId(),
|
||||
'BomPartIpn' => $partData['part']?->getIpn(),
|
||||
'BomPartMpnr' => $partData['part']?->getManufacturerProductNumber(),
|
||||
'BomPartName' => $partData['part']?->getName(),
|
||||
'BomDesignator' => $partData['part']?->getName(),
|
||||
'BomPartDescription' => $partData['part']?->getDescription(),
|
||||
'BomMountNames' => '-',
|
||||
'BomReferencedAssemblyId' => '-',
|
||||
'BomReferencedAssemblyIpn' => '-',
|
||||
'BomReferencedAssemblyFullName' => '-',
|
||||
|
||||
//BOM relevant attributes
|
||||
'Quantity' => $partData['quantity'],
|
||||
'PartId' => $partData['part']?->getId(),
|
||||
'PartName' => $partData['part']?->getName(),
|
||||
'Ipn' => $partData['part']?->getIpn(),
|
||||
'Manufacturer' => $partData['part']?->getManufacturer()?->getName(),
|
||||
'Mpn' => $partData['part']?->getManufacturerProductNumber(),
|
||||
'Name' => $partData['name'] ?? '',
|
||||
'Designator' => $partData['designator'],
|
||||
'Description' => $partData['part']?->getDescription(),
|
||||
'MountNames' => '-',
|
||||
'ReferencedAssemblyId' => '-',
|
||||
'ReferencedAssemblyIpn' => '-',
|
||||
'ReferencedAssemblyFullName' => '-',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,15 +51,8 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
|||
*/
|
||||
class ToolsTreeBuilder
|
||||
{
|
||||
public function __construct(
|
||||
protected TranslatorInterface $translator,
|
||||
protected UrlGeneratorInterface $urlGenerator,
|
||||
protected TagAwareCacheInterface $cache,
|
||||
protected UserCacheKeyGenerator $keyGenerator,
|
||||
protected Security $security,
|
||||
protected ?array $dataSourceSynonyms = [],
|
||||
) {
|
||||
$this->dataSourceSynonyms = $dataSourceSynonyms ?? [];
|
||||
public function __construct(protected TranslatorInterface $translator, protected UrlGeneratorInterface $urlGenerator, protected TagAwareCacheInterface $cache, protected UserCacheKeyGenerator $keyGenerator, protected Security $security)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -174,43 +167,43 @@ class ToolsTreeBuilder
|
|||
}
|
||||
if ($this->security->isGranted('read', new Category())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('category', 'tree.tools.edit.categories', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.categories'),
|
||||
$this->urlGenerator->generate('category_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-tags');
|
||||
}
|
||||
if ($this->security->isGranted('read', new Project())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('project', 'tree.tools.edit.projects', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.projects'),
|
||||
$this->urlGenerator->generate('project_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-archive');
|
||||
}
|
||||
if ($this->security->isGranted('read', new Assembly())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('assembly', 'tree.tools.edit.assemblies', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.assemblies'),
|
||||
$this->urlGenerator->generate('assembly_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-list');
|
||||
}
|
||||
if ($this->security->isGranted('read', new Supplier())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('supplier', 'tree.tools.edit.suppliers', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.suppliers'),
|
||||
$this->urlGenerator->generate('supplier_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-truck');
|
||||
}
|
||||
if ($this->security->isGranted('read', new Manufacturer())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('manufacturer', 'tree.tools.edit.manufacturer', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.manufacturer'),
|
||||
$this->urlGenerator->generate('manufacturer_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-industry');
|
||||
}
|
||||
if ($this->security->isGranted('read', new StorageLocation())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('storagelocation', 'tree.tools.edit.storelocation', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.storelocation'),
|
||||
$this->urlGenerator->generate('store_location_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-cube');
|
||||
}
|
||||
if ($this->security->isGranted('read', new Footprint())) {
|
||||
$nodes[] = (new TreeViewNode(
|
||||
$this->getTranslatedDataSourceOrSynonym('footprint', 'tree.tools.edit.footprint', $this->translator->getLocale()),
|
||||
$this->translator->trans('tree.tools.edit.footprint'),
|
||||
$this->urlGenerator->generate('footprint_new')
|
||||
))->setIcon('fa-fw fa-treeview fa-solid fa-microchip');
|
||||
}
|
||||
|
|
@ -324,22 +317,4 @@ class ToolsTreeBuilder
|
|||
|
||||
return $nodes;
|
||||
}
|
||||
|
||||
protected function getTranslatedDataSourceOrSynonym(string $dataSource, string $translationKey, string $locale): string
|
||||
{
|
||||
$currentTranslation = $this->translator->trans($translationKey);
|
||||
|
||||
// Call alternatives from DataSourcesynonyms (if available)
|
||||
if (!empty($this->dataSourceSynonyms[$dataSource][$locale])) {
|
||||
$alternativeTranslation = $this->dataSourceSynonyms[$dataSource][$locale];
|
||||
|
||||
// Use alternative translation when it deviates from the standard translation
|
||||
if ($alternativeTranslation !== $currentTranslation) {
|
||||
return $alternativeTranslation;
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise return the standard translation
|
||||
return $currentTranslation;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,11 +68,9 @@ class TreeViewGenerator
|
|||
protected TranslatorInterface $translator,
|
||||
private readonly UrlGeneratorInterface $router,
|
||||
private readonly SidebarSettings $sidebarSettings,
|
||||
protected ?array $dataSourceSynonyms = [],
|
||||
) {
|
||||
$this->rootNodeEnabled = $this->sidebarSettings->rootNodeEnabled;
|
||||
$this->rootNodeExpandedByDefault = $this->sidebarSettings->rootNodeExpanded;
|
||||
$this->dataSourceSynonyms = $dataSourceSynonyms ?? [];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -228,16 +226,14 @@ class TreeViewGenerator
|
|||
|
||||
protected function entityClassToRootNodeString(string $class): string
|
||||
{
|
||||
$locale = $this->translator->getLocale();
|
||||
|
||||
return match ($class) {
|
||||
Category::class => $this->getTranslatedOrSynonym('category', $locale),
|
||||
StorageLocation::class => $this->getTranslatedOrSynonym('storelocation', $locale),
|
||||
Footprint::class => $this->getTranslatedOrSynonym('footprint', $locale),
|
||||
Manufacturer::class => $this->getTranslatedOrSynonym('manufacturer', $locale),
|
||||
Supplier::class => $this->getTranslatedOrSynonym('supplier', $locale),
|
||||
Project::class => $this->getTranslatedOrSynonym('project', $locale),
|
||||
Assembly::class => $this->getTranslatedOrSynonym('assembly', $locale),
|
||||
Category::class => $this->translator->trans('category.labelp'),
|
||||
StorageLocation::class => $this->translator->trans('storelocation.labelp'),
|
||||
Footprint::class => $this->translator->trans('footprint.labelp'),
|
||||
Manufacturer::class => $this->translator->trans('manufacturer.labelp'),
|
||||
Supplier::class => $this->translator->trans('supplier.labelp'),
|
||||
Project::class => $this->translator->trans('project.labelp'),
|
||||
Assembly::class => $this->translator->trans('assembly.labelp'),
|
||||
default => $this->translator->trans('tree.root_node.text'),
|
||||
};
|
||||
}
|
||||
|
|
@ -294,22 +290,4 @@ class TreeViewGenerator
|
|||
return $repo->getGenericNodeTree($parent); //@phpstan-ignore-line
|
||||
});
|
||||
}
|
||||
|
||||
protected function getTranslatedOrSynonym(string $key, string $locale): string
|
||||
{
|
||||
$currentTranslation = $this->translator->trans($key . '.labelp');
|
||||
|
||||
// Call alternatives from DataSourcesynonyms (if available)
|
||||
if (!empty($this->dataSourceSynonyms[$key][$locale])) {
|
||||
$alternativeTranslation = $this->dataSourceSynonyms[$key][$locale];
|
||||
|
||||
// Use alternative translation when it deviates from the standard translation
|
||||
if ($alternativeTranslation !== $currentTranslation) {
|
||||
return $alternativeTranslation;
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise return the standard translation
|
||||
return $currentTranslation;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,12 +28,20 @@ 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";
|
||||
case CATEGORY = "category";
|
||||
case MANUFACTURER = "manufacturer";
|
||||
case DESIGNATOR = "designator";
|
||||
case MOUNTNAMES = "mountnames";
|
||||
case STORAGE_LOCATION = "storage_location";
|
||||
case AMOUNT = "amount";
|
||||
case ADDED_DATE = "addedDate";
|
||||
case LAST_MODIFIED = "lastModified";
|
||||
case EDIT = "edit";
|
||||
|
||||
public function trans(TranslatorInterface $translator, ?string $locale = null): string
|
||||
{
|
||||
|
|
|
|||
|
|
@ -97,8 +97,8 @@ class TableSettings
|
|||
#[Assert\Unique()]
|
||||
#[Assert\All([new Assert\Type(AssemblyBomTableColumns::class)])]
|
||||
|
||||
public array $assembliesBomDefaultColumns = [AssemblyBomTableColumns::QUANTITY, AssemblyTableColumns::ID, AssemblyTableColumns::IPN,
|
||||
AssemblyTableColumns::NAME, AssemblyTableColumns::DESCRIPTION];
|
||||
public array $assembliesBomDefaultColumns = [AssemblyBomTableColumns::QUANTITY, AssemblyBomTableColumns::ID,
|
||||
AssemblyBomTableColumns::IPN, AssemblyBomTableColumns::NAME, AssemblyBomTableColumns::DESCRIPTION];
|
||||
|
||||
#[SettingsParameter(label: new TM("settings.behavior.table.preview_image_min_width"),
|
||||
formOptions: ['attr' => ['min' => 1, 'max' => 100]],
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@
|
|||
{# @var entity App\Entity\AssemblySystem\Assembly #}
|
||||
|
||||
{% block card_title %}
|
||||
{% set dataSourceName = get_data_source_name('assembly', 'assembly.caption') %}
|
||||
{% set translatedSource = 'assembly.caption'|trans %}
|
||||
<i class="fas fa-archive fa-fw"></i> {% if dataSourceName != translatedSource %}{{ 'datasource.synonym'|trans({'%name%': translatedSource, '%synonym%': dataSourceName}) }}{% else %}{{ translatedSource }}{% endif %}
|
||||
<i class="fas fa-archive fa-fw"></i> {% trans %}assembly.caption{% endtrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% block edit_title %}
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@
|
|||
</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="bom-tab" data-bs-toggle="tab" data-bs-target="#part-tab-pane"
|
||||
<button class="nav-link" id="part-tab" data-bs-toggle="tab" data-bs-target="#part-tab-pane"
|
||||
type="button" role="tab" aria-controls="part-tab-pane" aria-selected="false">
|
||||
<i class="fa-solid fa-list-check fa-fw"></i>
|
||||
{% trans %}assembly_bom_entry.label{% endtrans %}
|
||||
|
|
@ -106,8 +106,6 @@
|
|||
</div>
|
||||
<div class="tab-pane fade" id="part-tab-pane" role="tabpanel" aria-labelledby="part-tab" tabindex="0">
|
||||
{% include "assemblies/info/_part.html.twig" %}
|
||||
<div class="tab-pane fade" id="bom-tab-pane" role="tabpanel" aria-labelledby="bom-tab" tabindex="0">
|
||||
{% include "assemblies/info/_part.html.twig" %}
|
||||
</div>
|
||||
<div class="tab-pane fade" id="attachments-tab-pane" role="tabpanel" aria-labelledby="attachments-tab" tabindex="0">
|
||||
{% include "assemblies/info/_attachments_info.html.twig" with {"assembly": assembly} %}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,14 @@
|
|||
{% macro sidebar_dropdown() %}
|
||||
{% set currentLocale = app.request.locale %}
|
||||
|
||||
{# Format is [mode, route, label, show_condition] #}
|
||||
{% set data_sources = [
|
||||
['categories', path('tree_category_root'), 'category.labelp', is_granted('@categories.read') and is_granted('@parts.read'), 'category'],
|
||||
['locations', path('tree_location_root'), 'storelocation.labelp', is_granted('@storelocations.read') and is_granted('@parts.read'), 'storagelocation'],
|
||||
['footprints', path('tree_footprint_root'), 'footprint.labelp', is_granted('@footprints.read') and is_granted('@parts.read'), 'footprint'],
|
||||
['manufacturers', path('tree_manufacturer_root'), 'manufacturer.labelp', is_granted('@manufacturers.read') and is_granted('@parts.read'), 'manufacturer'],
|
||||
['suppliers', path('tree_supplier_root'), 'supplier.labelp', is_granted('@suppliers.read') and is_granted('@parts.read'), 'supplier'],
|
||||
['projects', path('tree_device_root'), 'project.labelp', is_granted('@projects.read'), 'project'],
|
||||
['assembly', path('tree_assembly_root'), 'assembly.labelp', is_granted('@assemblies.read'), 'assembly'],
|
||||
['tools', path('tree_tools'), 'tools.label', true, 'tool'],
|
||||
['categories', path('tree_category_root'), 'category.labelp', is_granted('@categories.read') and is_granted('@parts.read')],
|
||||
['locations', path('tree_location_root'), 'storelocation.labelp', is_granted('@storelocations.read') and is_granted('@parts.read')],
|
||||
['footprints', path('tree_footprint_root'), 'footprint.labelp', is_granted('@footprints.read') and is_granted('@parts.read')],
|
||||
['manufacturers', path('tree_manufacturer_root'), 'manufacturer.labelp', is_granted('@manufacturers.read') and is_granted('@parts.read')],
|
||||
['suppliers', path('tree_supplier_root'), 'supplier.labelp', is_granted('@suppliers.read') and is_granted('@parts.read')],
|
||||
['projects', path('tree_device_root'), 'project.labelp', is_granted('@projects.read')],
|
||||
['assembly', path('tree_assembly_root'), 'assembly.labelp', is_granted('@assemblies.read')],
|
||||
['tools', path('tree_tools'), 'tools.label', true],
|
||||
] %}
|
||||
|
||||
<li class="dropdown-header">{% trans %}actions{% endtrans %}</li>
|
||||
|
|
@ -21,9 +19,9 @@
|
|||
|
||||
{% for source in data_sources %}
|
||||
{% if source[3] %} {# show_condition #}
|
||||
<li><button class="tree-btns dropdown-item" data-mode="{{ source[0] }}" data-url="{{ source[1] }}" data-text="{{ get_data_source_name(source[4], source[2]) }}"
|
||||
<li><button class="tree-btns dropdown-item" data-mode="{{ source[0] }}" data-url="{{ source[1] }}" data-text="{{ source[2] | trans }}"
|
||||
{{ stimulus_action('elements/sidebar_tree', 'changeDataSource') }}
|
||||
>{{ get_data_source_name(source[4], source[2]) }}</button></li>
|
||||
>{{ source[2] | trans }}</button></li>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endmacro %}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<th></th> {# expand button #}
|
||||
<th>{% trans %}assembly.bom.quantity{% endtrans %}</th>
|
||||
<th>{% trans %}assembly.bom.partOrAssembly{% endtrans %}</th>
|
||||
<th>{% trans %}assembly.bom.name{% endtrans %}</th>
|
||||
<th>{% trans %}assembly.bom.identifiers{% endtrans %}</th>
|
||||
<th></th> {# Remove button #}
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -41,16 +41,19 @@
|
|||
{{ form_widget(form.quantity) }}
|
||||
{{ form_errors(form.quantity) }}
|
||||
</td>
|
||||
<td style="min-width: 300px;">
|
||||
<td style="min-width: 450px;">
|
||||
{{ form_row(form.part) }}
|
||||
{{ form_errors(form.part) }}
|
||||
<div class="text-center mb-2" style="line-height: 1">∨</div>
|
||||
{{ form_widget(form.referencedAssembly) }}
|
||||
{{ form_errors(form.referencedAssembly) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ form_widget(form.name) }}
|
||||
<td style="min-width: 450px;">
|
||||
{{ form_row(form.name) }}
|
||||
{{ form_errors(form.name) }}
|
||||
<div class="text-center mb-2" style="line-height: 1"></div>
|
||||
{{ form_row(form.designator) }}
|
||||
{{ form_errors(form.designator) }}
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="btn btn-danger lot_btn_delete position-relative" {{ collection.delete_btn() }}>
|
||||
|
|
|
|||
|
|
@ -4825,19 +4825,7 @@ Pokud jste to provedli nesprávně nebo pokud počítač již není důvěryhodn
|
|||
<target>Název</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="KJuXVR5" name="project.bom.assembly">
|
||||
<segment state="translated">
|
||||
<source>project.bom.assembly</source>
|
||||
<target>Sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LKvYWS6" name="project.bom.partOrAssembly">
|
||||
<segment state="translated">
|
||||
<source>project.bom.partOrAssembly</source>
|
||||
<target>Výběr</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rW_SFJE." name="part.table.id">
|
||||
<unit id="eshqdG." name="part.table.id">
|
||||
<notes>
|
||||
<note category="file-source" priority="1">Part-DB1\src\DataTables\PartsDataTable.php:178</note>
|
||||
<note priority="1">Part-DB1\src\DataTables\PartsDataTable.php:126</note>
|
||||
|
|
@ -10314,12 +10302,6 @@ Element 3</target>
|
|||
<target>k dispozici</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gHU1vgc" name="project.builds.no_stock">
|
||||
<segment state="translated">
|
||||
<source>project.builds.no_stock</source>
|
||||
<target>není uveden žádný sklad</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="s5DQlqF" name="project.builds.needed">
|
||||
<segment state="translated">
|
||||
<source>project.builds.needed</source>
|
||||
|
|
@ -10392,13 +10374,7 @@ Element 3</target>
|
|||
<target>Cílový inventář</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="OsmK1Iv" name="project.build.builds_part_lot_label">
|
||||
<segment state="translated">
|
||||
<source>project.build.builds_part_lot_label</source>
|
||||
<target>%name% (%quantity% požadováno)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5DTAvWG" name="project.builds.number_of_builds">
|
||||
<unit id="pyv0k6b" name="project.builds.number_of_builds">
|
||||
<segment state="translated">
|
||||
<source>project.builds.number_of_builds</source>
|
||||
<target>Množství sestavy</target>
|
||||
|
|
@ -13618,12 +13594,18 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>%value% (Součást)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GW8ZOX7" name="part.table.name.value.for_assembly">
|
||||
<unit id="o4zUJc5" name="part.table.name.value.for_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_assembly</source>
|
||||
<target>%value% (Sestava)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GW8ZOX7" name="part.table.name.value.for_project">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_project</source>
|
||||
<target>%value% (Projekt)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G2sXzh7" name="assembly.label">
|
||||
<segment>
|
||||
<source>assembly.label</source>
|
||||
|
|
@ -13750,6 +13732,18 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Názvy osazení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Referenční označení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Volná referenční označení (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13864,18 +13858,48 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>potřebné</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hO7vWmc" name="assembly.bom.delete.confirm">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.delete.confirm</source>
|
||||
<target>Opravdu chcete tuto položku smazat?</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="tgs_7u9" name="assembly.add_parts_to_assembly">
|
||||
<segment>
|
||||
<source>assembly.add_parts_to_assembly</source>
|
||||
<target>Přidat součásti do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7iO1dE" name="part.info.add_part_to_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.info.add_part_to_assembly</source>
|
||||
<target>Přidat tuto součástku do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1zsGacg3" name="assembly.bom.project">
|
||||
<segment>
|
||||
<source>assembly.bom.project</source>
|
||||
<target>Projekt</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="od1xTi3" name="assembly.bom.referencedAssembly">
|
||||
<segment>
|
||||
<source>assembly.bom.referencedAssembly</source>
|
||||
<target>Sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="PPsM0Dg" name="assembly.bom.name">
|
||||
<segment>
|
||||
<source>assembly.bom.name</source>
|
||||
<target>Název</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Člověkem čitelný název položky kusovníku</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13906,10 +13930,16 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Importovat součásti do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WTasGao" name="assembly.bom.part">
|
||||
<unit id="WTasGao" name="assembly.bom.partOrAssembly">
|
||||
<segment>
|
||||
<source>assembly.bom.part</source>
|
||||
<target>Součást</target>
|
||||
<source>assembly.bom.partOrAssembly</source>
|
||||
<target>Součást nebo sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identifikátory</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
|
|
@ -14841,779 +14871,6 @@ Vezměte prosím na vědomí, že se nemůžete vydávat za uživatele se zakáz
|
|||
<target>Minimální šířka náhledu (px)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="FV7YOW6" name="part.table.name.value.for_part">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_part</source>
|
||||
<target>%value% (Součást)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="o4zUJc5" name="part.table.name.value.for_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_assembly</source>
|
||||
<target>%value% (Sestava)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GW8ZOX7" name="part.table.name.value.for_project">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_project</source>
|
||||
<target>%value% (Projekt)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G2sXzh7" name="assembly.label">
|
||||
<segment>
|
||||
<source>assembly.label</source>
|
||||
<target>Sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dL51AVa" name="assembly.caption">
|
||||
<segment>
|
||||
<source>assembly.caption</source>
|
||||
<target>Sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G_rlE3w" name="perm.assemblies">
|
||||
<segment>
|
||||
<source>perm.assemblies</source>
|
||||
<target>Sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dipIGt4" name="assembly_bom_entry.label">
|
||||
<segment>
|
||||
<source>assembly_bom_entry.label</source>
|
||||
<target>Součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="TvHlYfl" name="assembly.labelp">
|
||||
<segment>
|
||||
<source>assembly.labelp</source>
|
||||
<target>Sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Tab5Ou1" name="assembly.referencedAssembly.labelp">
|
||||
<segment>
|
||||
<source>assembly.referencedAssembly.labelp</source>
|
||||
<target>Odkazované sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gyRGdfv" name="assembly.edit">
|
||||
<segment>
|
||||
<source>assembly.edit</source>
|
||||
<target>Upravit sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4Tdtoj_" name="assembly.new">
|
||||
<segment>
|
||||
<source>assembly.new</source>
|
||||
<target>Nová sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="M51YUE." name="assembly.edit.associated_build_part">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build_part</source>
|
||||
<target>Přidružená součást</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nH9R9f." name="assembly.edit.associated_build_part.add">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build_part.add</source>
|
||||
<target>Přidat součást</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oVfOk.i" name="assembly.edit.associated_build.hint">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build.hint</source>
|
||||
<target>Tato součást představuje vyrobené instance sestavy. Zadejte, pokud jsou vyrobené instance potřeba. Pokud ne, počet součástí bude použit až při sestavení daného projektu.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="_wZ_JZY" name="assembly.edit.bom.import_bom">
|
||||
<segment>
|
||||
<source>assembly.edit.bom.import_bom</source>
|
||||
<target>Importovat součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vsmgKMw" name="log.database_updated.failed">
|
||||
<segment>
|
||||
<source>log.database_updated.failed</source>
|
||||
<target>__log.database_updated.failed</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GcQrTTE" name="log.database_updated.old_version">
|
||||
<segment>
|
||||
<source>log.database_updated.old_version</source>
|
||||
<target>__log.database_updated.old_version</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JJF47vK" name="log.database_updated.new_version">
|
||||
<segment>
|
||||
<source>log.database_updated.new_version</source>
|
||||
<target>__log.database_updated.new_version</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iVHS_sh" name="tree.tools.edit.assemblies">
|
||||
<segment>
|
||||
<source>tree.tools.edit.assemblies</source>
|
||||
<target>Sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="naAMjcH" name="assembly.bom_import.flash.success">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.success</source>
|
||||
<target>%count% součástí úspěšně importováno do sestavy.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ScQhV.o" name="assembly.bom_import.flash.invalid_entries">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.invalid_entries</source>
|
||||
<target>Chyba ověření! Zkontrolujte svůj importovaný soubor!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="luj_uCZ" name="assembly.bom_import.flash.invalid_file">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.invalid_file</source>
|
||||
<target>Soubor nelze importovat. Zkontrolujte, zda jste vybrali správný typ souboru. Chybová zpráva: %message%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7SYWcB" name="assembly.bom.quantity">
|
||||
<segment>
|
||||
<source>assembly.bom.quantity</source>
|
||||
<target>Množství</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="D7dPvPL" name="assembly.bom.mountnames">
|
||||
<segment>
|
||||
<source>assembly.bom.mountnames</source>
|
||||
<target>Názvy osazení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
<target>Stav na skladě</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oNutri3" name="assembly.info.title">
|
||||
<segment>
|
||||
<source>assembly.info.title</source>
|
||||
<target>Info o sestavě</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aO1rzVQ" name="assembly.info.info.label">
|
||||
<segment>
|
||||
<source>assembly.info.info.label</source>
|
||||
<target>Informace</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9dOByT_" name="assembly.info.sub_assemblies.label">
|
||||
<segment>
|
||||
<source>assembly.info.sub_assemblies.label</source>
|
||||
<target>Podskupina</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Hmf0EwN" name="assembly.info.builds.label">
|
||||
<segment>
|
||||
<source>assembly.info.builds.label</source>
|
||||
<target>Sestavení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="z3F4Rcu" name="assembly.info.bom_add_parts">
|
||||
<segment>
|
||||
<source>assembly.info.bom_add_parts</source>
|
||||
<target>Přidat součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ZbDTUTS" name="assembly.builds.check_assembly_status">
|
||||
<segment>
|
||||
<source>assembly.builds.check_assembly_status</source>
|
||||
<target><![CDATA[Aktuální stav sestavy je <b>"%assembly_status%"</b>. Měli byste zkontrolovat, zda opravdu chcete sestavu postavit s tímto stavem!]]></target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xq1Soad" name="assembly.builds.build_not_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.build_not_possible</source>
|
||||
<target>Sestavení není možné: Nedostatek součástí</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="njRyDHQ" name="assembly.builds.following_bom_entries_miss_instock">
|
||||
<segment>
|
||||
<source>assembly.builds.following_bom_entries_miss_instock</source>
|
||||
<target>Není dostatek součástí na skladě pro postavení tohoto projektu %number_of_builds% krát. Následující součásti nejsou skladem v dostatečném množství.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="sp7Z0MS" name="assembly.builds.build_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.build_possible</source>
|
||||
<target>Sestavení je možné</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1uZzdEl" name="assembly.builds.number_of_builds_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.number_of_builds_possible</source>
|
||||
<target><![CDATA[Máte dostatek součástí na skladě k vytvoření <b>%max_builds%</b> kusů této sestavy.]]></target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="pW6QLXf" name="assembly.builds.number_of_builds">
|
||||
<segment>
|
||||
<source>assembly.builds.number_of_builds</source>
|
||||
<target>Počet sestavení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mtJqT_a" name="assembly.build.btn_build">
|
||||
<segment>
|
||||
<source>assembly.build.btn_build</source>
|
||||
<target>Sestavit</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1bCA1zb" name="assembly.build.form.referencedAssembly">
|
||||
<segment>
|
||||
<source>assembly.build.form.referencedAssembly</source>
|
||||
<target>Sestava "%name%"</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LFSVVcP" name="assembly.builds.no_stocked_builds">
|
||||
<segment>
|
||||
<source>assembly.builds.no_stocked_builds</source>
|
||||
<target>Počet skladovaných vyrobených instancí</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dGFHutJ" name="assembly.info.bom_entries_count">
|
||||
<segment>
|
||||
<source>assembly.info.bom_entries_count</source>
|
||||
<target>Součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xJ7oBM4" name="assembly.info.sub_assemblies_count">
|
||||
<segment>
|
||||
<source>assembly.info.sub_assemblies_count</source>
|
||||
<target>Podskupiny</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="HZYhTlb" name="assembly.builds.stocked">
|
||||
<segment>
|
||||
<source>assembly.builds.stocked</source>
|
||||
<target>skladem</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9EG0PLW" name="assembly.builds.needed">
|
||||
<segment>
|
||||
<source>assembly.builds.needed</source>
|
||||
<target>potřebné</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hO7vWmc" name="assembly.bom.delete.confirm">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.delete.confirm</source>
|
||||
<target>Opravdu chcete tuto položku smazat?</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="tgs_7u9" name="assembly.add_parts_to_assembly">
|
||||
<segment>
|
||||
<source>assembly.add_parts_to_assembly</source>
|
||||
<target>Přidat součásti do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7iO1dE" name="part.info.add_part_to_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.info.add_part_to_assembly</source>
|
||||
<target>Přidat tuto součástku do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1zsGacg3" name="assembly.bom.project">
|
||||
<segment>
|
||||
<source>assembly.bom.project</source>
|
||||
<target>Projekt</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="od1xTi3" name="assembly.bom.referencedAssembly">
|
||||
<segment>
|
||||
<source>assembly.bom.referencedAssembly</source>
|
||||
<target>Sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="PPsM0Dg" name="assembly.bom.name">
|
||||
<segment>
|
||||
<source>assembly.bom.name</source>
|
||||
<target>Název</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
<target>Poznámky</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="87YpQ_u" name="assembly.builds.following_bom_entries_miss_instock_n">
|
||||
<segment>
|
||||
<source>assembly.builds.following_bom_entries_miss_instock_n</source>
|
||||
<target>Není dostatek součástí na skladě pro sestavení této sestavy %number_of_builds% krát. Následující součásti nejsou skladem:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JlQhDdS" name="assembly.build.help">
|
||||
<segment>
|
||||
<source>assembly.build.help</source>
|
||||
<target>Vyberte, ze kterých zásob se mají brát potřebné součásti pro sestavení (a v jakém množství). Zaškrtněte políčko u každého dílu, pokud jste jej odebrali, nebo použijte horní políčko k výběru všech naráz.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iP5_QVj" name="assembly.build.required_qty">
|
||||
<segment>
|
||||
<source>assembly.build.required_qty</source>
|
||||
<target>Požadované množství</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UJpD7n6" name="assembly.import_bom">
|
||||
<segment>
|
||||
<source>assembly.import_bom</source>
|
||||
<target>Importovat součásti do sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WTasGao" name="assembly.bom.partOrAssembly">
|
||||
<segment>
|
||||
<source>assembly.bom.partOrAssembly</source>
|
||||
<target>Součást nebo sestava</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
<target>Přidat položku</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="RsZ77df" name="assembly.bom.price">
|
||||
<segment>
|
||||
<source>assembly.bom.price</source>
|
||||
<target>Cena</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="63adIrC" name="assembly.build.dont_check_quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.dont_check_quantity</source>
|
||||
<target>Neověřovat množství</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="O0DP6tK" name="assembly.build.dont_check_quantity.help">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.dont_check_quantity.help</source>
|
||||
<target>Pokud je tato volba vybrána, budou vybraná množství odstraněna ze skladu bez ohledu na to, zda je méně nebo více součástí, než je skutečně potřeba pro sestavení sestavy.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9bc0nzK" name="assembly.build.add_builds_to_builds_part">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.add_builds_to_builds_part</source>
|
||||
<target>Přidat vyrobené instance do součásti sestavy</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nl.jtSx" name="assembly.bom_import.type">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type</source>
|
||||
<target>Typ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LtbSLHx" name="assembly.bom_import.type.json">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.json</source>
|
||||
<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>
|
||||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
<target>Smazat existující položky před importem</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="S4QY6pA" name="assembly.bom_import.clear_existing_bom.help">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom.help</source>
|
||||
<target>Pokud je tato možnost vybrána, budou všechny již existující součásti sestavy smazány a nahrazeny importovanými daty součástí.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="RVNWPsh" name="assembly.import_bom.template.header.json">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.json</source>
|
||||
<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>
|
||||
<target>Šablona importu CSV (KiCAD Pcbnew BOM) pro sestavu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aLomVVS" name="assembly.bom_import.template.entry.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.name</source>
|
||||
<target>Název součásti v sestavě</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="o4ZcLfV" name="assembly.bom_import.template.entry.part.mpnr">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.mpnr</source>
|
||||
<target>Unikátní číslo produktu u výrobce</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="n3YbKeU" name="assembly.bom_import.template.entry.part.ipn">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.ipn</source>
|
||||
<target>Unikátní IPN součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="l2SYJP5" name="assembly.bom_import.template.entry.part.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.name</source>
|
||||
<target>Unikátní název součásti</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="VgXQ1xW" name="assembly.bom_import.template.entry.part.manufacturer.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.manufacturer.name</source>
|
||||
<target>Unikátní jméno výrobce</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="MpB.o_L" name="assembly.bom_import.template.entry.part.category.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.category.name</source>
|
||||
<target>Unikátní název kategorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.json.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.json.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Pole</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>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 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>
|
||||
</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>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</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 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 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>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>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>manufacturer.name</td>
|
||||
<td>Volitelné</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 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>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>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>category.name</td>
|
||||
<td>Volitelné</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>
|
||||
]]>
|
||||
</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>
|
||||
<target>Očekávané sloupce:</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>Poznámka:</strong> Neprobíhá přiřazení ke konkrétním součástem ze správy kategorií.</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>Podmínka</th>
|
||||
<th>Datový typ</th>
|
||||
<th>Popis</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Celé číslo</td>
|
||||
<td>Volné pole. Unikátní identifikační číslo pro každou součástku.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Volné pole. Unikátní referenční označení součástky na PCB, např. „R1“ pro rezistor 1.<br>Používá se pro název umístění v rámci součástkové skupiny.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Volné pole. Pouzdro nebo formát součástky, např. „0805“ pro SMD rezistory.<br>Není použito pro záznam součástky v rámci sestavy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Povinné pole</td>
|
||||
<td>Celé číslo</td>
|
||||
<td>Počet identických součástek potřebných k vytvoření jedné instance sestavy.<br>Použito jako počet záznamu součástky v rámci sestavy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Povinné pole</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Popis nebo funkce součástky, např. hodnota rezistoru „10kΩ“ nebo hodnota kondenzátoru „100nF“.<br>Použito jako název záznamu součástky v rámci sestavy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Volitelné</td>
|
||||
<td>Řetězec</td>
|
||||
<td>Volné pole. Může obsahovat např. specifické informace o distributorovi.<br>Používá se jako poznámka k záznamu součástky v rámci sestavy.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uT5zcT1" name="assembly_list.all.title">
|
||||
<segment state="translated">
|
||||
<source>assembly_list.all.title</source>
|
||||
|
|
@ -15776,10 +15033,58 @@ 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="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Váš synonymum: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Kategorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Výrobce</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Referenční označení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Názvy osazení</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Skladové umístění</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Množství</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Vytvořeno</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Naposledy změněno</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Upravit</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -12857,6 +12857,18 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Monteringsnavne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Referencebetegnelse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Frie referencebetegnelser (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13007,6 +13019,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Navn</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Menneskelæselig titel på styklisteposten</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13043,6 +13061,12 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Del eller samling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identifikatorer</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13091,12 +13115,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>CSV til 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>
|
||||
|
|
@ -13660,10 +13678,58 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||
<target>Beskrivelse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Dit synonym: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Kategori</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Producent</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Referencebetegnelse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Monteringsnavne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Lagerplacering</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Mængde</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Oprettet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Sidst ændret</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Rediger</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -10118,48 +10118,6 @@ Element 1 -> Element 1.2</target>
|
|||
<target>Archiviert</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hIIFtI1" name="assembly.edit.status">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.status</source>
|
||||
<target>Status</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9uJEwv1" name="assembly.edit.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.ipn</source>
|
||||
<target>Internal Part Number (IPN)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="zRd.psv" name="assembly.status.draft">
|
||||
<segment state="translated">
|
||||
<source>assembly.status.draft</source>
|
||||
<target>Entwurf</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="_U8bb1t" name="assembly.status.planning">
|
||||
<segment state="translated">
|
||||
<source>assembly.status.planning</source>
|
||||
<target>In Planung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GgUh7RT" name="assembly.status.in_production">
|
||||
<segment state="translated">
|
||||
<source>assembly.status.in_production</source>
|
||||
<target>In Produktion</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="IluD8iU" name="assembly.status.finished">
|
||||
<segment state="translated">
|
||||
<source>assembly.status.finished</source>
|
||||
<target>Abgeschlossen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Mybkd1s" name="assembly.status.archived">
|
||||
<segment state="translated">
|
||||
<source>assembly.status.archived</source>
|
||||
<target>Archiviert</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9GtmqC1" name="part.new_build_part.error.build_part_already_exists">
|
||||
<segment state="translated">
|
||||
<source>part.new_build_part.error.build_part_already_exists</source>
|
||||
|
|
@ -13560,628 +13518,6 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gyRGdfv" name="assembly.edit">
|
||||
<segment>
|
||||
<source>assembly.edit</source>
|
||||
<target>Bearbeite Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4Tdtoj_" name="assembly.new">
|
||||
<segment>
|
||||
<source>assembly.new</source>
|
||||
<target>Neue Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="M51YUE." name="assembly.edit.associated_build_part">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build_part</source>
|
||||
<target>Verknüpftes Bauteil</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nH9R9f." name="assembly.edit.associated_build_part.add">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build_part.add</source>
|
||||
<target>Bauteil hinzufügen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oVfOk.i" name="assembly.edit.associated_build.hint">
|
||||
<segment>
|
||||
<source>assembly.edit.associated_build.hint</source>
|
||||
<target>Dieses Bauteil repräsentiert die gebauten Instanzen der Baugruppe. Anzugeben, sofern gebaute Instanzen benötigt werden. Wenn nein, werden die Stückzahlen bzgl. der Baugruppe erst beim Build des jeweiligen Projektes herangezogen.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="_wZ_JZY" name="assembly.edit.bom.import_bom">
|
||||
<segment>
|
||||
<source>assembly.edit.bom.import_bom</source>
|
||||
<target>Bauteile importieren</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vsmgKMw" name="log.database_updated.failed">
|
||||
<segment>
|
||||
<source>log.database_updated.failed</source>
|
||||
<target>__log.database_updated.failed</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GcQrTTE" name="log.database_updated.old_version">
|
||||
<segment>
|
||||
<source>log.database_updated.old_version</source>
|
||||
<target>__log.database_updated.old_version</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JJF47vK" name="log.database_updated.new_version">
|
||||
<segment>
|
||||
<source>log.database_updated.new_version</source>
|
||||
<target>__log.database_updated.new_version</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iVHS_sh" name="tree.tools.edit.assemblies">
|
||||
<segment>
|
||||
<source>tree.tools.edit.assemblies</source>
|
||||
<target>Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="naAMjcH" name="assembly.bom_import.flash.success">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.success</source>
|
||||
<target>%count% Part Einträge erfolgreich in Baugruppe importiert.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ScQhV.o" name="assembly.bom_import.flash.invalid_entries">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.invalid_entries</source>
|
||||
<target>Validierungsfehler! Bitte überprüfen Sie die importierte Datei!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="luj_uCZ" name="assembly.bom_import.flash.invalid_file">
|
||||
<segment>
|
||||
<source>assembly.bom_import.flash.invalid_file</source>
|
||||
<target>Datei konnte nicht importiert werden. Überprüfen Sie, dass Sie den richtigen Dateityp gewählt haben. Fehlermeldung: %message%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="u7SYWcB" name="assembly.bom.quantity">
|
||||
<segment>
|
||||
<source>assembly.bom.quantity</source>
|
||||
<target>Menge</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="D7dPvPL" name="assembly.bom.mountnames">
|
||||
<segment>
|
||||
<source>assembly.bom.mountnames</source>
|
||||
<target>Bestückungsnamen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
<target>Bestand im Lager</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="oNutri3" name="assembly.info.title">
|
||||
<segment>
|
||||
<source>assembly.info.title</source>
|
||||
<target>Baugruppen-Info</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aO1rzVQ" name="assembly.info.info.label">
|
||||
<segment>
|
||||
<source>assembly.info.info.label</source>
|
||||
<target>Info</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9dOByT_" name="assembly.info.sub_assemblies.label">
|
||||
<segment>
|
||||
<source>assembly.info.sub_assemblies.label</source>
|
||||
<target>Untergruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Hmf0EwN" name="assembly.info.builds.label">
|
||||
<segment>
|
||||
<source>assembly.info.builds.label</source>
|
||||
<target>Bau</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="z3F4Rcu" name="assembly.info.bom_add_parts">
|
||||
<segment>
|
||||
<source>assembly.info.bom_add_parts</source>
|
||||
<target>Bauteile hinzufügen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ZbDTUTS" name="assembly.builds.check_assembly_status">
|
||||
<segment>
|
||||
<source>assembly.builds.check_assembly_status</source>
|
||||
<target><![CDATA[Der aktuelle Baugruppen-Status ist <b>"%assembly_status%"</b>. Sie sollten überprüfen, ob sie die Baugruppe mit diesem Status wirklich bauen wollen!]]></target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xq1Soad" name="assembly.builds.build_not_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.build_not_possible</source>
|
||||
<target>Bau nicht möglich: Nicht genügend Bauteile vorhanden</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="njRyDHQ" name="assembly.builds.following_bom_entries_miss_instock">
|
||||
<segment>
|
||||
<source>assembly.builds.following_bom_entries_miss_instock</source>
|
||||
<target>Es sind nicht genügend Bauteile auf Lager, um dieses Projekt %number_of_builds% mal zu bauen. Von folgenden Bauteilen ist nicht genügend auf Lager.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="sp7Z0MS" name="assembly.builds.build_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.build_possible</source>
|
||||
<target>Bau möglich</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1uZzdEl" name="assembly.builds.number_of_builds_possible">
|
||||
<segment>
|
||||
<source>assembly.builds.number_of_builds_possible</source>
|
||||
<target><![CDATA[Sie haben genug Bauteile auf Lager, um <b>%max_builds%</b> Exemplare dieser Baugruppe zu bauen.]]></target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="pW6QLXf" name="assembly.builds.number_of_builds">
|
||||
<segment>
|
||||
<source>assembly.builds.number_of_builds</source>
|
||||
<target>Zu bauende Anzahl</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mtJqT_a" name="assembly.build.btn_build">
|
||||
<segment>
|
||||
<source>assembly.build.btn_build</source>
|
||||
<target>Bauen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LFSVVcP" name="assembly.builds.no_stocked_builds">
|
||||
<segment>
|
||||
<source>assembly.builds.no_stocked_builds</source>
|
||||
<target>Anzahl gelagerter gebauter Instanzen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dGFHutJ" name="assembly.info.bom_entries_count">
|
||||
<segment>
|
||||
<source>assembly.info.bom_entries_count</source>
|
||||
<target>Bauteile</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xJ7oBM4" name="assembly.info.sub_assemblies_count">
|
||||
<segment>
|
||||
<source>assembly.info.sub_assemblies_count</source>
|
||||
<target>Untergruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="HZYhTlb" name="assembly.builds.stocked">
|
||||
<segment>
|
||||
<source>assembly.builds.stocked</source>
|
||||
<target>vorhanden</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9EG0PLW" name="assembly.builds.needed">
|
||||
<segment>
|
||||
<source>assembly.builds.needed</source>
|
||||
<target>benötigt</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="hO7vWmc" name="assembly.bom.delete.confirm">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.delete.confirm</source>
|
||||
<target>Wollen sie diesen Eintrag wirklich löschen?</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="tgs_7u9" name="assembly.add_parts_to_assembly">
|
||||
<segment>
|
||||
<source>assembly.add_parts_to_assembly</source>
|
||||
<target>Bauteile zur Baugruppe hinzufügen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="PPsM0Dg" name="assembly.bom.name">
|
||||
<segment>
|
||||
<source>assembly.bom.name</source>
|
||||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
<target>Notizen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="87YpQ_u" name="assembly.builds.following_bom_entries_miss_instock_n">
|
||||
<segment>
|
||||
<source>assembly.builds.following_bom_entries_miss_instock_n</source>
|
||||
<target>Es sind nicht genügend Bauteile auf Lager, um diese Baugruppe %number_of_builds% mal zu bauen. Von folgenden Bauteilen ist nicht genügend auf Lager:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JlQhDdS" name="assembly.build.help">
|
||||
<segment>
|
||||
<source>assembly.build.help</source>
|
||||
<target>Wählen Sie aus, aus welchen Beständen die zum Bau notwendigen Bauteile genommen werden sollen (und in welcher Anzahl). Setzen Sie den Haken für jeden Part Eintrag, wenn sie die Bauteile entnommen haben, oder nutzen Sie die oberste Checkbox, um alle Haken auf einmal zu setzen.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iP5_QVj" name="assembly.build.required_qty">
|
||||
<segment>
|
||||
<source>assembly.build.required_qty</source>
|
||||
<target>Benötigte Anzahl</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UJpD7n6" name="assembly.import_bom">
|
||||
<segment>
|
||||
<source>assembly.import_bom</source>
|
||||
<target>Importiere Parts für Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WTasGao" name="assembly.bom.part">
|
||||
<segment>
|
||||
<source>assembly.bom.part</source>
|
||||
<target>Bauteil</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
<target>Eintrag hinzufügen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="RsZ77df" name="assembly.bom.price">
|
||||
<segment>
|
||||
<source>assembly.bom.price</source>
|
||||
<target>Preis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="63adIrC" name="assembly.build.dont_check_quantity">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.dont_check_quantity</source>
|
||||
<target>Mengen nicht überprüfen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="O0DP6tK" name="assembly.build.dont_check_quantity.help">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.dont_check_quantity.help</source>
|
||||
<target>Wenn diese Option gewählt wird, werden die gewählten Mengen aus dem Lager entfernt, egal ob mehr oder weniger Bauteile sind, als für den Bau der Baugruppe eigentlich benötigt werden.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9bc0nzK" name="assembly.build.add_builds_to_builds_part">
|
||||
<segment state="translated">
|
||||
<source>assembly.build.add_builds_to_builds_part</source>
|
||||
<target>Gebaute Instanzen zum Bauteil der Baugruppe hinzufügen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nl.jtSx" name="assembly.bom_import.type">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type</source>
|
||||
<target>Typ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LtbSLHx" name="assembly.bom_import.type.json">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.type.json</source>
|
||||
<target>JSON 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>
|
||||
<target>CSV (KiCAD Pcbnew BOM)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0IekETE" name="assembly.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom</source>
|
||||
<target>Lösche existierende Bauteil-Einträge vor dem Import</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="S4QY6pA" name="assembly.bom_import.clear_existing_bom.help">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom_import.clear_existing_bom.help</source>
|
||||
<target>Wenn diese Option ausgewählt ist, werden alle bereits in der Baugruppe existierenden Bauteile gelöscht und mit den importierten Bauteildaten überschrieben.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="RVNWPsh" name="assembly.import_bom.template.header.json">
|
||||
<segment>
|
||||
<source>assembly.import_bom.template.header.json</source>
|
||||
<target>Import-Vorlage JSON 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>
|
||||
<target>Import-Vorlage CSV (KiCAD Pcbnew BOM) für eine Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="aLomVVS" name="assembly.bom_import.template.entry.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.name</source>
|
||||
<target>Name des Bauteils in der Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="o4ZcLfV" name="assembly.bom_import.template.entry.part.mpnr">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.mpnr</source>
|
||||
<target>Eindeutige Produktnummer innerhalb des Herstellers</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="n3YbKeU" name="assembly.bom_import.template.entry.part.ipn">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.ipn</source>
|
||||
<target>Eideutige IPN des Bauteils</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="l2SYJP5" name="assembly.bom_import.template.entry.part.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.name</source>
|
||||
<target>Eindeutiger Name des Bauteils</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="VgXQ1xW" name="assembly.bom_import.template.entry.part.manufacturer.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.manufacturer.name</source>
|
||||
<target>Eindeutiger Name des Herstellers</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="MpB.o_L" name="assembly.bom_import.template.entry.part.category.name">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.entry.part.category.name</source>
|
||||
<target>Eindeutiger Name der Kategorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NIcfgj84" name="assembly.bom_import.template.json.table">
|
||||
<segment>
|
||||
<source>assembly.bom_import.template.json.table</source>
|
||||
<target>
|
||||
<![CDATA[
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead class="thead-dark">
|
||||
<tr>
|
||||
<th>Feld</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>Falls vorhanden, muss es ein nicht-leerer String sein.</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:
|
||||
<ul>
|
||||
<li>part.id</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.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>
|
||||
</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>
|
||||
</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>
|
||||
</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:
|
||||
<ul>
|
||||
<li>manufacturer.id</li>
|
||||
<li>manufacturer.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>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>manufacturer.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine manufacturer.id-Angabe gegeben ist.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>part.category</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:
|
||||
<ul>
|
||||
<li>category.id</li>
|
||||
<li>category.name</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>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>category.name</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Nicht-leerer String, falls keine category.id-Angabe 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>
|
||||
<target>Erwartete Spalten:</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>Hinweis:</strong> Es findet keine Zuordnung zu konkreten Bauteilen aus der Kategorie-Verwaltung statt.</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>Feld</th>
|
||||
<th>Bedingung</th>
|
||||
<th>Datentyp</th>
|
||||
<th>Beschreibung</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Id</td>
|
||||
<td>Optional</td>
|
||||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Offene Angabe. Eine eindeutige Identifikationsnummer für jedes Bauteil.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designator</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Offene Angabe. Ein eindeutiger Referenzbezeichner des Bauteils auf der Leiterplatte, z.B. „R1“ für Widerstand 1.<br>Wird in den Bestückungsnamen des Bauteil-Eintrags in der Baugruppe übernommen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Package</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Offene Angabe. Das Gehäuse oder die Bauform des Bauteils, z.B. „0805“ für SMD-Widerstände.<br>Wird für ein Bauteil-Eintrag innerhalb der Baugruppe nicht übernommen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Quantity</td>
|
||||
<td>Pflichtfeld</td>
|
||||
<td>Ganzzahl (Integer)</td>
|
||||
<td>Anzahl der identischen Bauteile, die benötigt werden, um eine Instanz der Baugruppe zu erstellen.<br>Wird als Anzahl des Bauteil-Eintrags innerhalb der Baugruppe übernommen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Designation</td>
|
||||
<td>Pflichtfeld</td>
|
||||
<td>String</td>
|
||||
<td>Beschreibung oder Funktion des Bauteils, z.B. Widerstandswert „10kΩ“ oder Kondensatorwert „100nF“.<br>Wird in den Namen des Bauteil-Eintrags innerhalb der Baugruppe übernommen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Supplier and ref</td>
|
||||
<td>Optional</td>
|
||||
<td>String</td>
|
||||
<td>Offene Angabe. Kann z.B. Distributor spezifischen Wert enthalten.<br>Wird als Notiz zum Bauteil-Eintrag innerhalb der Baugruppe übernommen.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
]]>
|
||||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="QiZM3zY" name="typeahead.parts.part.name">
|
||||
<segment>
|
||||
<source>typeahead.parts.part.name</source>
|
||||
<target>%name% (Bauteil)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WhYL2yX" name="typeahead.parts.assembly.name">
|
||||
<segment>
|
||||
<source>typeahead.parts.assembly.name</source>
|
||||
<target>%name% (Baugruppe)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4cgba2c" name="projects.build.form.part">
|
||||
<segment>
|
||||
<source>projects.build.form.part</source>
|
||||
<target>Bauteil "%name%"</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="1bCA1zb" name="projects.build.form.assembly">
|
||||
<segment>
|
||||
<source>projects.build.form.assembly</source>
|
||||
<target>Baugruppe "%name%"</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="2cDB2ac" name="projects.build.form.assembly.bom.entry">
|
||||
<segment>
|
||||
<source>projects.build.form.assembly.bom.entry</source>
|
||||
<target>%name% (%quantity% benötigt)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="3dEC3bd" name="projects.build.form.assembly.bom.entry.no.stock">
|
||||
<segment>
|
||||
<source>projects.build.form.assembly.bom.entry.no.stock</source>
|
||||
<target>nicht auf Lager</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G2sXzh7" name="assembly.label">
|
||||
<segment>
|
||||
<source>assembly.label</source>
|
||||
<target>Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dL51AVa" name="assembly.caption">
|
||||
<segment>
|
||||
<source>assembly.caption</source>
|
||||
<target>Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G_rlE3w" name="perm.assemblies">
|
||||
<segment>
|
||||
<source>perm.assemblies</source>
|
||||
<target>Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dipIGt4" name="assembly_bom_entry.label">
|
||||
<segment>
|
||||
<source>assembly_bom_entry.label</source>
|
||||
<target>Bauteile</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="TvHlYfl" name="assembly.labelp">
|
||||
<segment>
|
||||
<source>assembly.labelp</source>
|
||||
<target>Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Tab5Ou1" name="assembly.referencedAssembly.labelp">
|
||||
<segment>
|
||||
<source>assembly.referencedAssembly.labelp</source>
|
||||
|
|
@ -14278,6 +13614,18 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Bestückungsnamen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Referenzbezeichner (Designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Freie Bezeichnungskennungen (Designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -14428,6 +13776,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Menschenlesbarer Titel des Stücklisteneintrags</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -14464,6 +13818,12 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Bauteil oder Baugruppe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Kennungen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -16281,138 +15641,6 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
<target>Hinzugefügt</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="au8IEcW" name="assembly.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.lastModified</source>
|
||||
<target>Zuletzt bearbeitet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9dERbn1" name="assembly.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit</source>
|
||||
<target>Ändern</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5gTze41" name="assembly.table.edit.title">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit.title</source>
|
||||
<target>Baugruppe ändern</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="juTbw2C" name="assembly.table.invalid_regex">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.invalid_regex</source>
|
||||
<target>Ungültiger regulärer Ausdruck (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Ihr Synonym: %synonym%)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uT5zcT1" name="assembly_list.all.title">
|
||||
<segment state="translated">
|
||||
<source>assembly_list.all.title</source>
|
||||
<target>Alle Baugruppen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8Ijh3db" name="assembly.edit.tab.common">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.common</source>
|
||||
<target>Allgemein</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jTnEypG" name="assembly.edit.tab.advanced">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.advanced</source>
|
||||
<target>Erweiterte Optionen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7uhe3gC" name="assembly.edit.tab.attachments">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.attachments</source>
|
||||
<target>Dateianhänge</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jEr4cP1" name="assembly.filter.dbId">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.dbId</source>
|
||||
<target>Datenbank ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="leRwbN3" name="assembly.filter.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.ipn</source>
|
||||
<target>Internal Part Number (IPN)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jR5Cxy1" name="assembly.filter.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.name</source>
|
||||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LiW5CM3" name="assembly.filter.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.description</source>
|
||||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kix5dMf" name="assembly.filter.comment">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.comment</source>
|
||||
<target>Notizen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ux2Ws9p" name="assembly.filter.attachments_count">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachments_count</source>
|
||||
<target>Anzahl der Anhänge</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="su8izLb" name="assembly.filter.attachmentName">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachmentName</source>
|
||||
<target>Name des Anhangs</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5cDe9Ta" name="assemblies.create.btn">
|
||||
<segment state="translated">
|
||||
<source>assemblies.create.btn</source>
|
||||
<target>Neue Baugruppe anlegen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="acEe1Tb" name="assembly.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7Ui1WzP" name="assembly.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.name</source>
|
||||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ieVaFEu" name="assembly.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7un9oeW" name="assembly.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.description</source>
|
||||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ahzol5T" name="assembly.table.referencedAssemblies">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.referencedAssemblies</source>
|
||||
|
|
@ -16479,10 +15707,58 @@ Bitte beachten Sie, dass Sie sich nicht als deaktivierter Benutzer ausgeben kön
|
|||
<target>Beschreibung</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Ihr Synonym: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Kategorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Hersteller</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Referenzbezeichner (Designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Bestückungsnamen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Lagerort</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Menge</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Erstellt am</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Zuletzt bearbeitet</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Bearbeiten</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -3603,6 +3603,60 @@
|
|||
<target>Περιγραφή</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Κατηγορία</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Κατασκευαστής</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Αναγνωριστικό αναφοράς</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Ονόματα τοποθέτησης</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Θέση αποθήκευσης</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Ποσότητα</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Δημιουργήθηκε</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Τελευταία τροποποίηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Επεξεργασία</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
|
|
|
|||
|
|
@ -4843,18 +4843,6 @@ If you have done this incorrectly or if a computer is no longer trusted, you can
|
|||
<target>%value% (Project)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="FV7YOW6" name="part.table.name.value.for_part">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_part</source>
|
||||
<target>%value% (Part)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GW8ZOX7" name="part.table.name.value.for_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_assembly</source>
|
||||
<target>%value% (Assembly)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rW_SFJE" name="part.table.id">
|
||||
<notes>
|
||||
<note category="file-source" priority="1">Part-DB1\src\DataTables\PartsDataTable.php:178</note>
|
||||
|
|
@ -13627,6 +13615,18 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Mount names</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Free identifiers (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Free identifiers (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13777,6 +13777,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Name</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Human-readable title of the BOM entry</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13813,6 +13819,12 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Part or assembly</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identifiers</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -15696,10 +15708,58 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Your synonym: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Category</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Manufacturer</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Free identifiers (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Mount names</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Storage location</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Amount</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Created at</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Last modified</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Edit</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -12879,30 +12879,6 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Ver versión externa</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="X9HUFrv" name="part.table.actions.error">
|
||||
<segment state="translated">
|
||||
<source>part.table.actions.error</source>
|
||||
<target>Han ocurrido %count% errores mientras se ejecutaba la acción:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id=".ppbsNn" name="part.table.actions.error_detail">
|
||||
<segment state="translated">
|
||||
<source>part.table.actions.error_detail</source>
|
||||
<target>%part_name% (ID: %part_id%): %message%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4wpp6h." name="part_list.action.action.change_location">
|
||||
<segment state="translated">
|
||||
<source>part_list.action.action.change_location</source>
|
||||
<target>Cambiar de ubicación (solo para componentes con un único lote)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9_9I.m4" name="parts.table.action_handler.error.part_lots_multiple">
|
||||
<segment state="translated">
|
||||
<source>parts.table.action_handler.error.part_lots_multiple</source>
|
||||
<target>Este componente contiene más de un stock. Cambie la ubicación manualmente para seleccionar el stock deseado.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G2sXzh7" name="assembly.label">
|
||||
<segment>
|
||||
<source>assembly.label</source>
|
||||
|
|
@ -13029,6 +13005,18 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Nombres de montaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Designador de referencia</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Identificadores de referencia libres (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13179,6 +13167,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Nombre</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Título legible por humanos de la entrada de la lista de materiales</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13215,6 +13209,12 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Parte o conjunto</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identificadores</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13664,136 +13664,28 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uT5zcT1" name="assembly_list.all.title">
|
||||
<unit id="X9HUFrv" name="part.table.actions.error">
|
||||
<segment state="translated">
|
||||
<source>assembly_list.all.title</source>
|
||||
<target>Todas las ensamblajes</target>
|
||||
<source>part.table.actions.error</source>
|
||||
<target>Han ocurrido %count% errores mientras se ejecutaba la acción:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8Ijh3db" name="assembly.edit.tab.common">
|
||||
<unit id=".ppbsNn" name="part.table.actions.error_detail">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.common</source>
|
||||
<target>General</target>
|
||||
<source>part.table.actions.error_detail</source>
|
||||
<target>%part_name% (ID: %part_id%): %message%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jTnEypG" name="assembly.edit.tab.advanced">
|
||||
<unit id="4wpp6h." name="part_list.action.action.change_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.advanced</source>
|
||||
<target>Opciones avanzadas</target>
|
||||
<source>part_list.action.action.change_location</source>
|
||||
<target>Cambiar de ubicación (solo para componentes con un único lote)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7uhe3gC" name="assembly.edit.tab.attachments">
|
||||
<unit id="9_9I.m4" name="parts.table.action_handler.error.part_lots_multiple">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.attachments</source>
|
||||
<target>Archivos adjuntos</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jEr4cP1" name="assembly.filter.dbId">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.dbId</source>
|
||||
<target>ID de la base de datos</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="leRwbN3" name="assembly.filter.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.ipn</source>
|
||||
<target>Número interno de pieza (IPN)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jR5Cxy1" name="assembly.filter.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.name</source>
|
||||
<target>Nombre</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LiW5CM3" name="assembly.filter.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.description</source>
|
||||
<target>Descripción</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kix5dMf" name="assembly.filter.comment">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.comment</source>
|
||||
<target>Comentarios</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ux2Ws9p" name="assembly.filter.attachments_count">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachments_count</source>
|
||||
<target>Cantidad de adjuntos</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="su8izLb" name="assembly.filter.attachmentName">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachmentName</source>
|
||||
<target>Nombre del adjunto</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5cDe9Ta" name="assemblies.create.btn">
|
||||
<segment state="translated">
|
||||
<source>assemblies.create.btn</source>
|
||||
<target>Crear una nueva ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="acEe1Tb" name="assembly.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7Ui1WzP" name="assembly.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.name</source>
|
||||
<target>Nombre</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ieVaFEu" name="assembly.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7un9oeW" name="assembly.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.description</source>
|
||||
<target>Descripción</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
<target>Añadido</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="au8IEcW" name="assembly.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.lastModified</source>
|
||||
<target>Última modificación</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9dERbn1" name="assembly.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit</source>
|
||||
<target>Editar</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5gTze41" name="assembly.table.edit.title">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit.title</source>
|
||||
<target>Editar ensamblaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="juTbw2C" name="assembly.table.invalid_regex">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.invalid_regex</source>
|
||||
<target>Expresión regular no válida (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Tu sinónimo: %synonym%)</target>
|
||||
<source>parts.table.action_handler.error.part_lots_multiple</source>
|
||||
<target>Este componente contiene más de un stock. Cambie la ubicación manualmente para seleccionar el stock deseado.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uT5zcT1" name="assembly_list.all.title">
|
||||
|
|
@ -13958,10 +13850,58 @@ Por favor ten en cuenta que no puedes personificar a un usuario deshabilitado. S
|
|||
<target>Descripción</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Tu sinónimo: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Categoría</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Fabricante</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Designador de referencia</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Nombres de montaje</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Ubicación de almacenamiento</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Cantidad</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Creado el</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Última modificación</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Editar</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -9397,6 +9397,18 @@ exemple de ville</target>
|
|||
<target>Noms de montage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Désignateur</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Identifiants de référence libres (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -9547,6 +9559,12 @@ exemple de ville</target>
|
|||
<target>Nom</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Titre lisible par l’humain de l’entrée de nomenclature</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -9583,6 +9601,12 @@ exemple de ville</target>
|
|||
<target>Pièce ou assemblage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identifiants</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -10206,10 +10230,58 @@ exemple de ville</target>
|
|||
<target>Description</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Votre synonyme : %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Catégorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Fabricant</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Désignateur de référence</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Noms de montage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Emplacement de stockage</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Quantité</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Créé le</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Dernière modification</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Modifier</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="OXeGz1A" name="category.edit.part_ipn_prefix.placeholder">
|
||||
|
|
|
|||
|
|
@ -13007,6 +13007,18 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Nomi di montaggio</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Designatore di riferimento</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Identificatori di riferimento liberi (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13157,6 +13169,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Nome</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Titolo leggibile dall'utente della voce della distinta base</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13193,6 +13211,12 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Parte o assieme</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identificatori</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13828,10 +13852,58 @@ Notare che non è possibile impersonare un utente disattivato. Quando si prova a
|
|||
<target>Descrizione</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Il tuo sinonimo: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Categoria</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Produttore</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Designatore di riferimento</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Nomi di montaggio</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Ubicazione di magazzino</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Quantità</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Creato il</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Ultima modifica</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Modifica</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -9134,6 +9134,18 @@ Exampletown</target>
|
|||
<target>取り付け名</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>参照記号</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>自由な参照記号(デジグネータ)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -9284,6 +9296,12 @@ Exampletown</target>
|
|||
<target>名前</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>BOM エントリの人間が読めるタイトル</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -9308,6 +9326,24 @@ Exampletown</target>
|
|||
<target>必要な数量</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UJpD7n6" name="assembly.import_bom">
|
||||
<segment>
|
||||
<source>assembly.import_bom</source>
|
||||
<target>アセンブリの部品表をインポート</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WTasGao" name="assembly.bom.partOrAssembly">
|
||||
<segment>
|
||||
<source>assembly.bom.partOrAssembly</source>
|
||||
<target>部品またはアセンブリ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>識別子</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yes_button" name="assembly.build.yes_button">
|
||||
<segment>
|
||||
<source>assembly.build.yes_button</source>
|
||||
|
|
@ -9919,10 +9955,58 @@ Exampletown</target>
|
|||
<target>説明</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (あなたの同義語: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>カテゴリ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>メーカー</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>参照記号</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>実装名</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>保管場所</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>数量</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>作成日</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>最終更新</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>編集</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="OXeGz1A" name="category.edit.part_ipn_prefix.placeholder">
|
||||
|
|
|
|||
|
|
@ -790,12 +790,6 @@
|
|||
<target>Aangepaste staat van het onderdeel</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="G1hmQdb" name="part.table.partCustomState">
|
||||
<segment state="translated">
|
||||
<source>part.table.partCustomState</source>
|
||||
<target>Aangepaste status van onderdeel</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="FV7YOW6" name="part.table.name.value.for_part">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_part</source>
|
||||
|
|
@ -805,7 +799,7 @@
|
|||
<unit id="o4zUJc5" name="part.table.name.value.for_assembly">
|
||||
<segment state="translated">
|
||||
<source>part.table.name.value.for_assembly</source>
|
||||
<target>%value% (Assemblage)</target>
|
||||
<target>%value% (fAssemblage)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GW8ZOX7" name="part.table.name.value.for_project">
|
||||
|
|
@ -976,6 +970,18 @@
|
|||
<target>Montagenamen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Referentieaanduiding</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Vrije referentieaanduidingen (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -1126,6 +1132,12 @@
|
|||
<target>Naam</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Menselijk leesbare titel van de stuklijstinvoer</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -1162,6 +1174,12 @@
|
|||
<target>Onderdeel of samenstelling</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identificatoren</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -1809,10 +1827,58 @@
|
|||
<target>Beschrijving</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Uw synoniem: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Categorie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Fabrikant</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Referentieaanduiding</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Montagenamen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Opslaglocatie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Aantal</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Aangemaakt op</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Laatst gewijzigd</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Bewerken</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dsG4xTQ" name="category.edit.part_ipn_prefix">
|
||||
|
|
|
|||
|
|
@ -12884,6 +12884,18 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Nazwy montażu</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Oznaczenie referencyjne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Dowolne oznaczenia referencyjne (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13034,6 +13046,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Nazwa</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Czytelny dla człowieka tytuł pozycji listy materiałowej</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13070,6 +13088,12 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Część lub zespół</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Identyfikatory</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13681,10 +13705,58 @@ Należy pamiętać, że nie możesz udawać nieaktywnych użytkowników. Jeśli
|
|||
<target>Opis</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Twój synonim: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Kategoria</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Producent</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Oznaczenie referencyjne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Nazwy montażowe</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Miejsce przechowywania</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Ilość</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Data utworzenia</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Ostatnia modyfikacja</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Edytuj</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -12984,6 +12984,18 @@
|
|||
<target>Названия монтажей</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>Позиционное обозначение</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>Свободные позиционные обозначения (designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13134,6 +13146,12 @@
|
|||
<target>Название</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>Человекочитаемый заголовок записи BOM</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13170,6 +13188,12 @@
|
|||
<target>Часть или сборка</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>Идентификаторы</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13781,137 +13805,59 @@
|
|||
<target>Описание</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (Ваш синоним: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>Категория</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uT5zcT1" name="assembly_list.all.title">
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly_list.all.title</source>
|
||||
<target>Все сборки</target>
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>Производитель</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8Ijh3db" name="assembly.edit.tab.common">
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.common</source>
|
||||
<target>Общие</target>
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>Позиционное обозначение</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jTnEypG" name="assembly.edit.tab.advanced">
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.advanced</source>
|
||||
<target>Дополнительные параметры</target>
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>Названия монтажа</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7uhe3gC" name="assembly.edit.tab.attachments">
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.edit.tab.attachments</source>
|
||||
<target>Вложения</target>
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>Место хранения</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jEr4cP1" name="assembly.filter.dbId">
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.dbId</source>
|
||||
<target>ID базы данных</target>
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>Количество</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="leRwbN3" name="assembly.filter.ipn">
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.ipn</source>
|
||||
<target>Внутренний номер детали (IPN)</target>
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>Дата создания</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jR5Cxy1" name="assembly.filter.name">
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.name</source>
|
||||
<target>Название</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="LiW5CM3" name="assembly.filter.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.description</source>
|
||||
<target>Описание</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kix5dMf" name="assembly.filter.comment">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.comment</source>
|
||||
<target>Комментарии</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ux2Ws9p" name="assembly.filter.attachments_count">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachments_count</source>
|
||||
<target>Количество вложений</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="su8izLb" name="assembly.filter.attachmentName">
|
||||
<segment state="translated">
|
||||
<source>assembly.filter.attachmentName</source>
|
||||
<target>Имя вложения</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5cDe9Ta" name="assemblies.create.btn">
|
||||
<segment state="translated">
|
||||
<source>assemblies.create.btn</source>
|
||||
<target>Создать новую сборку</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="acEe1Tb" name="assembly.table.id">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.id</source>
|
||||
<target>ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7Ui1WzP" name="assembly.table.name">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.name</source>
|
||||
<target>Название</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ieVaFEu" name="assembly.table.ipn">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.ipn</source>
|
||||
<target>IPN</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7un9oeW" name="assembly.table.description">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.description</source>
|
||||
<target>Описание</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="igaT4kQ" name="assembly.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.addedDate</source>
|
||||
<target>Добавлено</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="au8IEcW" name="assembly.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.lastModified</source>
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>Последнее изменение</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9dERbn1" name="assembly.table.edit">
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit</source>
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>Редактировать</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5gTze41" name="assembly.table.edit.title">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.edit.title</source>
|
||||
<target>Редактировать сборку</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="juTbw2C" name="assembly.table.invalid_regex">
|
||||
<segment state="translated">
|
||||
<source>assembly.table.invalid_regex</source>
|
||||
<target>Неверное регулярное выражение (regex)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -11253,7 +11253,7 @@ Element 3</target>
|
|||
</segment>
|
||||
</unit>
|
||||
<unit id="iTVcfIk" name="project.bom_import.clear_existing_bom">
|
||||
<segment state="translated">
|
||||
<segment state="ftranslated">
|
||||
<source>project.bom_import.clear_existing_bom</source>
|
||||
<target>导入前删除现有BOM条目</target>
|
||||
</segment>
|
||||
|
|
@ -12869,6 +12869,18 @@ Element 3</target>
|
|||
<target>安装名称</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kd8Db5T" name="assembly.bom.designator">
|
||||
<segment>
|
||||
<source>assembly.bom.designator</source>
|
||||
<target>位号</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.designator.help">
|
||||
<segment>
|
||||
<source>assembly.bom.designator.help</source>
|
||||
<target>自由参考位号(Designator)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="rswC4eS" name="assembly.bom.instockAmount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.instockAmount</source>
|
||||
|
|
@ -13019,6 +13031,12 @@ Element 3</target>
|
|||
<target>名称</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7dh6G" name="assembly.bom.name.help">
|
||||
<segment>
|
||||
<source>assembly.bom.name.help</source>
|
||||
<target>BOM 条目的可读标题</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="nUEs.ld" name="assembly.bom.comment">
|
||||
<segment>
|
||||
<source>assembly.bom.comment</source>
|
||||
|
|
@ -13055,6 +13073,12 @@ Element 3</target>
|
|||
<target>部件或组件</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jd7fn8K" name="assembly.bom.identifiers">
|
||||
<segment>
|
||||
<source>assembly.bom.identifiers</source>
|
||||
<target>标识符</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jHKh8Zp" name="assembly.bom.add_entry">
|
||||
<segment>
|
||||
<source>assembly.bom.add_entry</source>
|
||||
|
|
@ -13666,10 +13690,58 @@ Element 3</target>
|
|||
<target>描述</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a7uOieC" name="datasource.synonym">
|
||||
<unit id="jd7fhvc" name="assembly.bom.table.category">
|
||||
<segment state="translated">
|
||||
<source>datasource.synonym</source>
|
||||
<target>%name% (您的同义词: %synonym%)</target>
|
||||
<source>assembly.bom.table.category</source>
|
||||
<target>类别</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ab12cd" name="assembly.bom.table.manufacturer">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.manufacturer</source>
|
||||
<target>制造商</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="7dk4gTa" name="assembly.bom.table.designator">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.designator</source>
|
||||
<target>位号</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ef34gh" name="assembly.bom.table.mountnames">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.mountnames</source>
|
||||
<target>装配名称</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ij56kl" name="assembly.bom.table.storage_location">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.storage_location</source>
|
||||
<target>存储位置</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="mn78op" name="assembly.bom.table.amount">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.amount</source>
|
||||
<target>数量</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uv12wx" name="assembly.bom.table.addedDate">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.addedDate</source>
|
||||
<target>创建时间</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yz34aa" name="assembly.bom.table.lastModified">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.lastModified</source>
|
||||
<target>最后修改</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bb56cc" name="assembly.bom.table.edit">
|
||||
<segment state="translated">
|
||||
<source>assembly.bom.table.edit</source>
|
||||
<target>编辑</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -251,13 +251,7 @@
|
|||
<target>Musíte vybrat díl pro položku BOM dílu nebo nastavit název pro položku BOM bez dílu.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Q42Zh.e" name="validator.project.bom_entry.only_part_or_assembly_allowed">
|
||||
<segment state="translated">
|
||||
<source>validator.project.bom_entry.only_part_or_assembly_allowed</source>
|
||||
<target>Je povoleno vybrat pouze jednu součástku nebo sestavu. Upravit prosím svůj výběr!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5CEup_N" name="project.bom_entry.name_already_in_bom">
|
||||
<unit id="WF_v4ih" name="project.bom_entry.name_already_in_bom">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.name_already_in_bom</source>
|
||||
<target>Již existuje položka BOM s tímto názvem!</target>
|
||||
|
|
|
|||
|
|
@ -479,59 +479,5 @@
|
|||
<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>
|
||||
<unit id="a1dKro7" name="validator.bom_importer.json_csv.quantity.required">
|
||||
<segment>
|
||||
<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_csv.quantity.float">
|
||||
<segment>
|
||||
<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_csv.parameter.string.notEmpty">
|
||||
<segment>
|
||||
<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_csv.parameter.string.notEmpty.null">
|
||||
<segment>
|
||||
<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_csv.parameter.array">
|
||||
<segment>
|
||||
<source>validator.bom_importer.json_csv.parameter.array</source>
|
||||
<target>expectd as array</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="adLRxnA" name="validator.bom_importer.json_csv.parameter.subproperties">
|
||||
<segment>
|
||||
<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_csv.parameter.notFoundFor">
|
||||
<segment>
|
||||
<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_csv.parameter.noExactMatch">
|
||||
<segment>
|
||||
<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_csv.parameter.manufacturerOrCategoryWithSubProperties">
|
||||
<segment>
|
||||
<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>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue