mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-03-24 16:18:00 +01:00
Compare commits
1 Commits
l10n_maste
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9ce215c8f9 |
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Connection;
|
||||||
|
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||||
|
use Doctrine\ORM\Query\AST\Node;
|
||||||
|
use Doctrine\ORM\Query\SqlWalker;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
abstract class AbstractDoctrineFunctionTestCase extends TestCase
|
||||||
|
{
|
||||||
|
protected function createSqlWalker(AbstractPlatform $platform, string $serverVersion = '11.0.0-MariaDB'): SqlWalker
|
||||||
|
{
|
||||||
|
$connection = $this->createMock(Connection::class);
|
||||||
|
$connection->method('getDatabasePlatform')->willReturn($platform);
|
||||||
|
$connection->method('getServerVersion')->willReturn($serverVersion);
|
||||||
|
|
||||||
|
$sqlWalker = $this->getMockBuilder(SqlWalker::class)
|
||||||
|
->disableOriginalConstructor()
|
||||||
|
->onlyMethods(['getConnection'])
|
||||||
|
->getMock();
|
||||||
|
|
||||||
|
$sqlWalker->method('getConnection')->willReturn($connection);
|
||||||
|
|
||||||
|
return $sqlWalker;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function createNode(string $sql): Node
|
||||||
|
{
|
||||||
|
$node = $this->createMock(Node::class);
|
||||||
|
$node->method('dispatch')->willReturn($sql);
|
||||||
|
|
||||||
|
return $node;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function setObjectProperty(object $object, string $property, mixed $value): void
|
||||||
|
{
|
||||||
|
$reflection = new \ReflectionProperty($object, $property);
|
||||||
|
$reflection->setValue($object, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function setStaticProperty(string $class, string $property, mixed $value): void
|
||||||
|
{
|
||||||
|
$reflection = new \ReflectionProperty($class, $property);
|
||||||
|
$reflection->setValue(null, $value);
|
||||||
|
}
|
||||||
|
}
|
||||||
42
tests/Doctrine/Functions/ArrayPositionTest.php
Normal file
42
tests/Doctrine/Functions/ArrayPositionTest.php
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use App\Doctrine\Functions\ArrayPosition;
|
||||||
|
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
|
||||||
|
|
||||||
|
final class ArrayPositionTest extends AbstractDoctrineFunctionTestCase
|
||||||
|
{
|
||||||
|
public function testArrayPositionBuildsSql(): void
|
||||||
|
{
|
||||||
|
$function = new ArrayPosition('ARRAY_POSITION');
|
||||||
|
$this->setObjectProperty($function, 'array', $this->createNode(':ids'));
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('p.id'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new PostgreSQLPlatform()));
|
||||||
|
|
||||||
|
$this->assertSame('ARRAY_POSITION(:ids, p.id)', $sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
45
tests/Doctrine/Functions/Field2Test.php
Normal file
45
tests/Doctrine/Functions/Field2Test.php
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use App\Doctrine\Functions\Field2;
|
||||||
|
use Doctrine\DBAL\Platforms\MySQLPlatform;
|
||||||
|
|
||||||
|
final class Field2Test extends AbstractDoctrineFunctionTestCase
|
||||||
|
{
|
||||||
|
public function testField2BuildsSql(): void
|
||||||
|
{
|
||||||
|
$function = new Field2('FIELD2');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('p.id'));
|
||||||
|
$this->setObjectProperty($function, 'values', [
|
||||||
|
$this->createNode('1'),
|
||||||
|
$this->createNode('2'),
|
||||||
|
$this->createNode('3'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new MySQLPlatform()));
|
||||||
|
|
||||||
|
$this->assertSame('FIELD2(p.id, 1, 2, 3)', $sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
66
tests/Doctrine/Functions/ILikeTest.php
Normal file
66
tests/Doctrine/Functions/ILikeTest.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use App\Doctrine\Functions\ILike;
|
||||||
|
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\MySQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\SQLitePlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\SQLServerPlatform;
|
||||||
|
use PHPUnit\Framework\Attributes\DataProvider;
|
||||||
|
|
||||||
|
final class ILikeTest extends AbstractDoctrineFunctionTestCase
|
||||||
|
{
|
||||||
|
public static function iLikePlatformProvider(): \Generator
|
||||||
|
{
|
||||||
|
yield 'mysql' => [new MySQLPlatform(), '(part_name LIKE :pattern)'];
|
||||||
|
yield 'postgres' => [new PostgreSQLPlatform(), '(part_name ILIKE :pattern)'];
|
||||||
|
yield 'sqlite' => [new SQLitePlatform(), "(part_name LIKE :pattern ESCAPE '\\')"];
|
||||||
|
}
|
||||||
|
|
||||||
|
#[DataProvider('iLikePlatformProvider')]
|
||||||
|
public function testILikeUsesExpectedOperator(AbstractPlatform $platform, string $expectedSql): void
|
||||||
|
{
|
||||||
|
$function = new ILike('ILIKE');
|
||||||
|
$function->value = $this->createNode('part_name');
|
||||||
|
$function->expr = $this->createNode(':pattern');
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker($platform));
|
||||||
|
|
||||||
|
$this->assertSame($expectedSql, $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testILikeThrowsOnUnsupportedPlatform(): void
|
||||||
|
{
|
||||||
|
$function = new ILike('ILIKE');
|
||||||
|
$function->value = $this->createNode('part_name');
|
||||||
|
$function->expr = $this->createNode(':pattern');
|
||||||
|
|
||||||
|
$this->expectException(\RuntimeException::class);
|
||||||
|
$this->expectExceptionMessage('does not support case insensitive like expressions');
|
||||||
|
|
||||||
|
$function->getSql($this->createSqlWalker(new SQLServerPlatform()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
95
tests/Doctrine/Functions/NatsortTest.php
Normal file
95
tests/Doctrine/Functions/NatsortTest.php
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use App\Doctrine\Functions\Natsort;
|
||||||
|
use Doctrine\DBAL\Platforms\MariaDBPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\MySQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\SQLitePlatform;
|
||||||
|
|
||||||
|
final class NatsortTest extends AbstractDoctrineFunctionTestCase
|
||||||
|
{
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
Natsort::allowSlowNaturalSort(false);
|
||||||
|
$this->setStaticProperty(Natsort::class, 'supportsNaturalSort', null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNatsortUsesPostgresCollation(): void
|
||||||
|
{
|
||||||
|
$function = new Natsort('NATSORT');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('part_name'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new PostgreSQLPlatform()));
|
||||||
|
|
||||||
|
$this->assertSame('part_name COLLATE numeric', $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNatsortUsesMariaDbNativeFunctionOnSupportedVersion(): void
|
||||||
|
{
|
||||||
|
$function = new Natsort('NATSORT');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('part_name'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new MariaDBPlatform(), '10.11.2-MariaDB'));
|
||||||
|
|
||||||
|
$this->assertSame('NATURAL_SORT_KEY(part_name)', $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNatsortFallsBackWithoutSlowSort(): void
|
||||||
|
{
|
||||||
|
$function = new Natsort('NATSORT');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('part_name'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new MariaDBPlatform(), '10.6.10-MariaDB'));
|
||||||
|
|
||||||
|
$this->assertSame('part_name', $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNatsortUsesSlowSortFunctionOnMySqlWhenEnabled(): void
|
||||||
|
{
|
||||||
|
Natsort::allowSlowNaturalSort();
|
||||||
|
|
||||||
|
$function = new Natsort('NATSORT');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('part_name'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new MySQLPlatform()));
|
||||||
|
|
||||||
|
$this->assertSame('NatSortKey(part_name, 0)', $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testNatsortUsesSlowSortCollationOnSqliteWhenEnabled(): void
|
||||||
|
{
|
||||||
|
Natsort::allowSlowNaturalSort();
|
||||||
|
|
||||||
|
$function = new Natsort('NATSORT');
|
||||||
|
$this->setObjectProperty($function, 'field', $this->createNode('part_name'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker(new SQLitePlatform()));
|
||||||
|
|
||||||
|
$this->assertSame('part_name COLLATE NATURAL_CMP', $sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
66
tests/Doctrine/Functions/RegexpTest.php
Normal file
66
tests/Doctrine/Functions/RegexpTest.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* This file is part of Part-DB (https://github.com/Part-DB/Part-DB-symfony).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2019 - 2026 Jan Böhmer (https://github.com/jbtronics)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published
|
||||||
|
* by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App\Tests\Doctrine\Functions;
|
||||||
|
|
||||||
|
use App\Doctrine\Functions\Regexp;
|
||||||
|
use Doctrine\DBAL\Platforms\AbstractPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\MySQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\SQLitePlatform;
|
||||||
|
use Doctrine\DBAL\Platforms\SQLServerPlatform;
|
||||||
|
use PHPUnit\Framework\Attributes\DataProvider;
|
||||||
|
|
||||||
|
final class RegexpTest extends AbstractDoctrineFunctionTestCase
|
||||||
|
{
|
||||||
|
public static function regexpPlatformProvider(): \Generator
|
||||||
|
{
|
||||||
|
yield 'mysql' => [new MySQLPlatform(), '(part_name REGEXP :regex)'];
|
||||||
|
yield 'sqlite' => [new SQLitePlatform(), '(part_name REGEXP :regex)'];
|
||||||
|
yield 'postgres' => [new PostgreSQLPlatform(), '(part_name ~* :regex)'];
|
||||||
|
}
|
||||||
|
|
||||||
|
#[DataProvider('regexpPlatformProvider')]
|
||||||
|
public function testRegexpUsesExpectedOperator(AbstractPlatform $platform, string $expectedSql): void
|
||||||
|
{
|
||||||
|
$function = new Regexp('REGEXP');
|
||||||
|
$this->setObjectProperty($function, 'value', $this->createNode('part_name'));
|
||||||
|
$this->setObjectProperty($function, 'regexp', $this->createNode(':regex'));
|
||||||
|
|
||||||
|
$sql = $function->getSql($this->createSqlWalker($platform));
|
||||||
|
|
||||||
|
$this->assertSame($expectedSql, $sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRegexpThrowsOnUnsupportedPlatform(): void
|
||||||
|
{
|
||||||
|
$function = new Regexp('REGEXP');
|
||||||
|
$this->setObjectProperty($function, 'value', $this->createNode('part_name'));
|
||||||
|
$this->setObjectProperty($function, 'regexp', $this->createNode(':regex'));
|
||||||
|
|
||||||
|
$this->expectException(\RuntimeException::class);
|
||||||
|
$this->expectExceptionMessage('does not support regular expressions');
|
||||||
|
|
||||||
|
$function->getSql($this->createSqlWalker(new SQLServerPlatform()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -642,12 +642,6 @@ Underelementer vil blive flyttet opad.</target>
|
|||||||
<target>Gruppe</target>
|
<target>Gruppe</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="8rz303Z" name="specifications.eda_visibility.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>specifications.eda_visibility.help</source>
|
|
||||||
<target>Eksporter denne parameter som et EDA felt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="XclPxI9" name="specification.create">
|
<unit id="XclPxI9" name="specification.create">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>specification.create</source>
|
<source>specification.create</source>
|
||||||
@@ -2929,42 +2923,6 @@ Bemærk også, at uden to-faktor-godkendelse er din konto ikke længere så godt
|
|||||||
<target>Bilag</target>
|
<target>Bilag</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="f3Dggp6" name="part.table.eda_status">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.table.eda_status</source>
|
|
||||||
<target>EDA</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Q_myBuD" name="eda.status.symbol_set">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>eda.status.symbol_set</source>
|
|
||||||
<target>KiCad symbolsæt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="QGLfvit" name="eda.status.footprint_set">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>eda.status.footprint_set</source>
|
|
||||||
<target>KiCad footprintsæt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="hkze9M." name="eda.status.reference_set">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>eda.status.reference_set</source>
|
|
||||||
<target>eda. status.reference_set</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="OTXbAfL" name="eda.status.complete">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>eda.status.complete</source>
|
|
||||||
<target>EDA felter udfyldt (symbol, footprint, reference)</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="z9E5RB." name="eda.status.partial">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>eda.status.partial</source>
|
|
||||||
<target>EDA felter delvist udfyldt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="bMkafCp" name="flash.login_successful">
|
<unit id="bMkafCp" name="flash.login_successful">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>flash.login_successful</source>
|
<source>flash.login_successful</source>
|
||||||
@@ -3307,12 +3265,6 @@ Bemærk også, at uden to-faktor-godkendelse er din konto ikke længere så godt
|
|||||||
<target>Ikke længere tilgængelig</target>
|
<target>Ikke længere tilgængelig</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="6H0WQWq" name="orderdetails.edit.eda_visibility">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>orderdetails.edit.eda_visibility</source>
|
|
||||||
<target>Synlige i EDA</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ZsO5AKM" name="orderdetails.edit.supplierpartnr.placeholder">
|
<unit id="ZsO5AKM" name="orderdetails.edit.supplierpartnr.placeholder">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>orderdetails.edit.supplierpartnr.placeholder</source>
|
<source>orderdetails.edit.supplierpartnr.placeholder</source>
|
||||||
@@ -9550,12 +9502,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||||||
<target>EIGP 114 stregkode (f.eks. Datamatrix-kode fra Digikey og Mouser dele)</target>
|
<target>EIGP 114 stregkode (f.eks. Datamatrix-kode fra Digikey og Mouser dele)</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="BnqcKWx" name="scan_dialog.mode.lcsc">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>scan_dialog.mode.lcsc</source>
|
|
||||||
<target>LCSC.com barcode</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="QSMS_Bd" name="scan_dialog.info_mode">
|
<unit id="QSMS_Bd" name="scan_dialog.info_mode">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>scan_dialog.info_mode</source>
|
<source>scan_dialog.info_mode</source>
|
||||||
@@ -9568,24 +9514,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||||||
<target>Afkodet information</target>
|
<target>Afkodet information</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="kQnodbA" name="label_scanner.target_found">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.target_found</source>
|
|
||||||
<target>Genstand fundet i database</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="7Arfw2q" name="label_scanner.scan_result.title">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.scan_result.title</source>
|
|
||||||
<target>Scan-resultat</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="PTh4EK_" name="label_scanner.no_locations">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.no_locations</source>
|
|
||||||
<target>Part er ikke gemt på nogen lokation.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="nmXQWcS" name="label_generator.edit_profiles">
|
<unit id="nmXQWcS" name="label_generator.edit_profiles">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>label_generator.edit_profiles</source>
|
<source>label_generator.edit_profiles</source>
|
||||||
@@ -10020,18 +9948,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||||||
<target>Denne værdi bestemmer dybden af kategoritræet, der er synligt i KiCad. 0 betyder, at kun kategorierne på øverste niveau er synlige. Indstil værdien til > 0 for at vise yderligere niveauer. Indstil værdien til -1 for at vise alle dele af deldatabasen inden for en enkelt kategori i KiCad.</target>
|
<target>Denne værdi bestemmer dybden af kategoritræet, der er synligt i KiCad. 0 betyder, at kun kategorierne på øverste niveau er synlige. Indstil værdien til > 0 for at vise yderligere niveauer. Indstil værdien til -1 for at vise alle dele af deldatabasen inden for en enkelt kategori i KiCad.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="X5.rQdO" name="settings.misc.kicad_eda.datasheet_link">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.datasheet_link</source>
|
|
||||||
<target>Databladsfelt linker til PDF</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Fm1QTCs" name="settings.misc.kicad_eda.datasheet_link.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.datasheet_link.help</source>
|
|
||||||
<target>Når det er aktiveret, vil dataarkfeltet i KiCad linke til den faktiske PDF-fil (hvis den findes). Når det er deaktiveret, vil det i stedet linke til Part-DB-siden. Linket til Part-DB-siden er altid tilgængeligt som et separat felt "Part-DB URL".</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="VwvmcWE" name="settings.behavior.sidebar">
|
<unit id="VwvmcWE" name="settings.behavior.sidebar">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>settings.behavior.sidebar</source>
|
<source>settings.behavior.sidebar</source>
|
||||||
@@ -10374,24 +10290,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||||||
<target>Vis billedoverlejringen med detaljer om vedhæftet fil, når du holder musen over billedgalleriet med dele.</target>
|
<target>Vis billedoverlejringen med detaljer om vedhæftet fil, når du holder musen over billedgalleriet med dele.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="0iYdzdk" name="settings.behavior.keybindings">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.behavior.keybindings</source>
|
|
||||||
<target>Tastaturgenveje</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="_x13bMa" name="settings.behavior.keybindings.enable_special_characters">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.behavior.keybindings.enable_special_characters</source>
|
|
||||||
<target>Aktivér tastaturgenveje for specialtegn</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Af8Zzqr" name="settings.behavior.keybindings.enable_special_characters.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.behavior.keybindings.enable_special_characters.help</source>
|
|
||||||
<target>Aktivér genvejstasten Alt+ for at indsætte specialtegn (græske bogstaver, matematiske symboler osv.) i tekstfelter. Deaktiver dette, hvis genvejene er i konflikt med dit tastaturlayout eller systemgenveje.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ALfPkeR" name="perm.config.change_system_settings">
|
<unit id="ALfPkeR" name="perm.config.change_system_settings">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>perm.config.change_system_settings</source>
|
<source>perm.config.change_system_settings</source>
|
||||||
@@ -11016,84 +10914,6 @@ Bemærk venligst, at du ikke kan kopiere fra deaktiveret bruger. Hvis du prøver
|
|||||||
<target>Masseimport af datakilder</target>
|
<target>Masseimport af datakilder</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="VtS1yT7" name="part_list.action.group.eda">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part_list.action.group.eda</source>
|
|
||||||
<target>EDA / KiCad</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="swU1Rp2" name="part_list.action.batch_edit_eda">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part_list.action.batch_edit_eda</source>
|
|
||||||
<target>Batchredigering af EDA-felter</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ZaS_Hg5" name="batch_eda.title">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.title</source>
|
|
||||||
<target>Batchredigering af EDA-felter</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="k2FDo7A" name="batch_eda.description">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.description</source>
|
|
||||||
<target>Rediger EDA/KiCad-felter for %count% valgte dele. Markér feltet "Anvend" ud for hvert felt, du vil ændre.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="WVHbic3" name="batch_eda.show_parts">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.show_parts</source>
|
|
||||||
<target>Vis valgte dele</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ubQd6G4" name="batch_eda.apply_hint">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.apply_hint</source>
|
|
||||||
<target>Kun felter, hvor afkrydsningsfeltet "Anvend" er markeret, ændres. Felter, der ikke er markeret, ændres ikke.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="w.5FGYL" name="batch_eda.apply">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.apply</source>
|
|
||||||
<target>Anvend</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="9EmHp5C" name="batch_eda.field">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.field</source>
|
|
||||||
<target>Felt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="xHaCnEQ" name="batch_eda.value">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.value</source>
|
|
||||||
<target>Værdi</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="PLqIBvC" name="batch_eda.submit">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.submit</source>
|
|
||||||
<target>Anvend på udvalgte dele</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="5nO7Fpq" name="batch_eda.cancel">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.cancel</source>
|
|
||||||
<target>Annullér</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="vhlPBNU" name="batch_eda.success">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.success</source>
|
|
||||||
<target>EDA felter er nu opdateret</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="2fMo760" name="batch_eda.no_parts_selected">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>batch_eda.no_parts_selected</source>
|
|
||||||
<target>Ingen dele blev valgt til batchredigering.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="yzpXFkB" name="info_providers.bulk_import.step1.spn_recommendation">
|
<unit id="yzpXFkB" name="info_providers.bulk_import.step1.spn_recommendation">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>info_providers.bulk_import.step1.spn_recommendation</source>
|
<source>info_providers.bulk_import.step1.spn_recommendation</source>
|
||||||
@@ -12407,7 +12227,7 @@ Buerklin API-godkendelsesserver: 10 anmodninger/minut pr. IP-adresse</target>
|
|||||||
<unit id="aSHDhOi" name="update_manager.progress.downgrade_title">
|
<unit id="aSHDhOi" name="update_manager.progress.downgrade_title">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>update_manager.progress.downgrade_title</source>
|
<source>update_manager.progress.downgrade_title</source>
|
||||||
<target>Downgrade fremskridtPart-DB er blevet nedgraderet! Du skal muligvis opdatere siden for at se den nye version.</target>
|
<target>Downgrade fremskridt</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="XYR1vvR" name="update_manager.progress.downgrade_completed">
|
<unit id="XYR1vvR" name="update_manager.progress.downgrade_completed">
|
||||||
@@ -12494,102 +12314,6 @@ Buerklin API-godkendelsesserver: 10 anmodninger/minut pr. IP-adresse</target>
|
|||||||
<target>Gendannelse af sikkerhedskopi er deaktiveret af serverkonfigurationen.</target>
|
<target>Gendannelse af sikkerhedskopi er deaktiveret af serverkonfigurationen.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="oAb35wU" name="update_manager.backup.create">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.create</source>
|
|
||||||
<target>Opret sikkerhedskopi</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ms26oI0" name="update_manager.backup.create.confirm">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.create.confirm</source>
|
|
||||||
<target>Vil du lave en fuld sikkerhedskopi nu? Det kan tage et stykke tid.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="H9y0eLa" name="update_manager.backup.created">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.created</source>
|
|
||||||
<target>Sikkerhedskopi er oprettet.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="bMhXPVB" name="update_manager.backup.delete.confirm">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.delete.confirm</source>
|
|
||||||
<target>Er du sikker på at du vil slette denne backup?</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="8tw67c_" name="update_manager.backup.deleted">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.deleted</source>
|
|
||||||
<target>Sikkerhedskopi er slettet.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="BzBBuqk" name="update_manager.backup.delete_error">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.delete_error</source>
|
|
||||||
<target>Sikkerhedskopi kunne ikke udføres.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="2olmcSs" name="update_manager.log.delete.confirm">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.log.delete.confirm</source>
|
|
||||||
<target>Er du sikker på at du vil slette denne log?</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id=".ZrVHpp" name="update_manager.log.deleted">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.log.deleted</source>
|
|
||||||
<target>Log slettet.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="P2JI5Yw" name="update_manager.log.delete_error">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.log.delete_error</source>
|
|
||||||
<target>Kunne ikke slette loggen.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Yos9FWk" name="update_manager.view_log">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.view_log</source>
|
|
||||||
<target>Vis log.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="B9uA2va" name="update_manager.delete">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.delete</source>
|
|
||||||
<target>Slet</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="ZtgvnXB" name="update_manager.backup.download">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.download</source>
|
|
||||||
<target>Download sikkerhedskopi</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="wxtmrnP" name="update_manager.backup.download.password_label">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.download.password_label</source>
|
|
||||||
<target>Bekræft password for at downloade</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="MIlTTgL" name="update_manager.backup.download.security_warning">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.download.security_warning</source>
|
|
||||||
<target>Sikkerhedskopier indeholder følsomme data, herunder password-hashes og hemmeligheder. Bekræft venligst dit password for at fortsætte med download.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="kZPHBRt" name="update_manager.backup.download.invalid_password">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.download.invalid_password</source>
|
|
||||||
<target>Ugyldigt password. Download af sikkerhedskopi er afvist.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="AZOjnE0" name="update_manager.backup.docker_warning">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup.docker_warning</source>
|
|
||||||
<target>Docker-installation registreret. Sikkerhedskopier gemmes i var/backups/, som ikke er en persistent enhed. Brug downloadknappen til at gemme sikkerhedskopier eksternt, eller montér var/backups/ som en enhed i din docker-compose.yml.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="kHKChQB" name="settings.ips.conrad">
|
<unit id="kHKChQB" name="settings.ips.conrad">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>settings.ips.conrad</source>
|
<source>settings.ips.conrad</source>
|
||||||
@@ -12680,281 +12404,5 @@ Buerklin API-godkendelsesserver: 10 anmodninger/minut pr. IP-adresse</target>
|
|||||||
<target>Opdatér til</target>
|
<target>Opdatér til</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="XPhnMxn" name="part.gtin">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.gtin</source>
|
|
||||||
<target>GTIN / EAN</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="TyykD7B" name="info_providers.capabilities.gtin">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>info_providers.capabilities.gtin</source>
|
|
||||||
<target>GTIN / EAN</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="JBGly8p" name="part.table.gtin">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.table.gtin</source>
|
|
||||||
<target>GTIN</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="0qHQof." name="scan_dialog.mode.gtin">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>scan_dialog.mode.gtin</source>
|
|
||||||
<target>GTIN / EAN barcode</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="cmchX59" name="attachment_type.edit.allowed_targets">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment_type.edit.allowed_targets</source>
|
|
||||||
<target>Anvend kun til</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="t5R8p1l" name="attachment_type.edit.allowed_targets.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment_type.edit.allowed_targets.help</source>
|
|
||||||
<target>Gør kun denne bilagstype tilgængelig for bestemte elementklasser. Lad feltet stå tomt for at vise denne bilagstype for alle elementklasser.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="LvlEUjC" name="orderdetails.edit.prices_includes_vat">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>orderdetails.edit.prices_includes_vat</source>
|
|
||||||
<target>Pris inklusiv moms.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="GUsVh5T" name="prices.incl_vat">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>prices.incl_vat</source>
|
|
||||||
<target>Inkl. moms</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="3ipwaVQ" name="prices.excl_vat">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>prices.excl_vat</source>
|
|
||||||
<target>Ekskl. moms</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="WDJ7EeF" name="settings.system.localization.prices_include_tax_by_default">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.system.localization.prices_include_tax_by_default</source>
|
|
||||||
<target>Priserne er som standard inklusive moms</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="01oGY_r" name="settings.system.localization.prices_include_tax_by_default.description">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.system.localization.prices_include_tax_by_default.description</source>
|
|
||||||
<target>Standardværdien for nyoprettede købsoplysninger, uanset om priserne inkluderer moms eller ej.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="heWSnAH" name="part_lot.edit.last_stocktake_at">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part_lot.edit.last_stocktake_at</source>
|
|
||||||
<target>Seneste optælling</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id=".LP93kG" name="perm.parts_stock.stocktake">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>perm.parts_stock.stocktake</source>
|
|
||||||
<target>Lageropgørelse</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Vnhrb5R" name="part.info.stocktake_modal.title">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.info.stocktake_modal.title</source>
|
|
||||||
<target>Lagerbeholdning</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="WqOG7RK" name="part.info.stocktake_modal.expected_amount">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.info.stocktake_modal.expected_amount</source>
|
|
||||||
<target>Forventet mængde</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="E7IbVN6" name="part.info.stocktake_modal.actual_amount">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.info.stocktake_modal.actual_amount</source>
|
|
||||||
<target>Aktuel mængde</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="4GwSma7" name="log.part_stock_changed.stock_take">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>log.part_stock_changed.stock_take</source>
|
|
||||||
<target>Lagerbeholdning</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="aRQPMW7" name="log.element_edited.changed_fields.last_stocktake_at">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>log.element_edited.changed_fields.last_stocktake_at</source>
|
|
||||||
<target>Sidste lagerbeholdning</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="GNWhoTW" name="part.table.eda_reference">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.table.eda_reference</source>
|
|
||||||
<target>EDA reference</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="tW4yCbf" name="part.table.eda_value">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.table.eda_value</source>
|
|
||||||
<target>EDA-værdi</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="s1pgReC" name="settings.misc.kicad_eda.default_parameter_visibility">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_parameter_visibility</source>
|
|
||||||
<target>Standard EDA-synlighed for parametre</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Z78QunV" name="settings.misc.kicad_eda.default_parameter_visibility.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_parameter_visibility.help</source>
|
|
||||||
<target>EDA-synlighed for alle [Part]-parametre, som ikke har en eksplicit synlighedsindstilling. Når den er aktiveret, vil alle parametre som standard være synlige i EDA-softwaren.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="J6pYnaC" name="settings.misc.kicad_eda.default_orderdetails_visibility">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_orderdetails_visibility</source>
|
|
||||||
<target>Standard EDA-synlighed for købsoplysninger</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Hiye4C." name="settings.misc.kicad_eda.default_orderdetails_visibility.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_orderdetails_visibility.help</source>
|
|
||||||
<target>EDA-synlighed for alle købsoplysninger, som ikke har en eksplicit synlighedsindstilling. Når den er aktiveret, vil alle købsoplysninger som standard være synlige i EDA-softwaren.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="aEgd0if" name="label_scanner.open">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.open</source>
|
|
||||||
<target>Vis detaljer</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="vw_0Qws" name="label_scanner.db_part_found">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.db_part_found</source>
|
|
||||||
<target>Database [part] fundet for barcode</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="zntajcd" name="label_scanner.part_can_be_created">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.part_can_be_created</source>
|
|
||||||
<target>[Part] kan oprettes</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="cLTbd9w" name="label_scanner.part_can_be_created.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.part_can_be_created.help</source>
|
|
||||||
<target>Der blev ikke fundet nogen matchende [part] i databasen, men du kan oprette en ny [part] baseret på denne stregkode.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="FfHA3Yf" name="label_scanner.part_create_btn">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>label_scanner.part_create_btn</source>
|
|
||||||
<target>Opret [part] fra barcode</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="xH258F." name="parts.create_from_scan.title">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>parts.create_from_scan.title</source>
|
|
||||||
<target>Opret [part] ud fra labelscanning</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="8WZYwRJ" name="scan_dialog.mode.amazon">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>scan_dialog.mode.amazon</source>
|
|
||||||
<target>Amazon barcode</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="BQWuR_G" name="settings.ips.canopy">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.ips.canopy</source>
|
|
||||||
<target>Canopy</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="44BfYzy" name="settings.ips.canopy.alwaysGetDetails">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.ips.canopy.alwaysGetDetails</source>
|
|
||||||
<target>Hent altid detaljer</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="so_ms3t" name="settings.ips.canopy.alwaysGetDetails.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.ips.canopy.alwaysGetDetails.help</source>
|
|
||||||
<target>Når dette er valgt, hentes flere detaljer fra canopy, når en del oprettes. Dette forårsager en yderligere API-anmodning, men giver produktpunkter og kategorioplysninger.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="D055xh8" name="attachment.sandbox.warning">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment.sandbox.warning</source>
|
|
||||||
<target>ADVARSEL: Du ser en brugeruploadet vedhæftet fil. Dette er indhold, der ikke er tillid til. Vær forsigtig.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="bRcdnJK" name="attachment.sandbox.back_to_partdb">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment.sandbox.back_to_partdb</source>
|
|
||||||
<target>Tilbage til Part-DB</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="MzyA7N8" name="settings.system.attachments.showHTMLAttachments">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.system.attachments.showHTMLAttachments</source>
|
|
||||||
<target>Vis uploadede HTML-filvedhæftninger (sandboxed)</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="V_LJkRy" name="settings.system.attachments.showHTMLAttachments.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.system.attachments.showHTMLAttachments.help</source>
|
|
||||||
<target>⚠️ Når det er aktiveret, kan brugeruploadede HTML-vedhæftninger ses direkte i browseren. Mange potentielt skadelige funktioner er begrænsede, men dette er stadig en potentiel sikkerhedsrisiko og bør kun aktiveres, hvis du har tillid til de brugere, der kan uploade filer.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="BQo2xWi" name="attachment.sandbox.title">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment.sandbox.title</source>
|
|
||||||
<target>HTML [Vedhæftning]</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="sJ6v9uJ" name="attachment.sandbox.as_plain_text">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>attachment.sandbox.as_plain_text</source>
|
|
||||||
<target>Vis som alm. tekst</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="Ehsj93c" name="modal.cancel">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>modal.cancel</source>
|
|
||||||
<target>Annuller</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="jdpoFf2" name="update_manager.web_updates_allowed">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.web_updates_allowed</source>
|
|
||||||
<target>Web-opdateringer tilladt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="bdWa7is" name="update_manager.backup_restore_allowed">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup_restore_allowed</source>
|
|
||||||
<target>Indlæsning af sikkerhedskopi (backup) tilladt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="kllGQEN" name="update_manager.backup_download_allowed">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>update_manager.backup_download_allowed</source>
|
|
||||||
<target>Download af sikkerhedskopi tilladt</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="b8JxfcX" name="part.create_from_info_provider.lot_filled_from_barcode">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>part.create_from_info_provider.lot_filled_from_barcode</source>
|
|
||||||
<target>[Part_lot] oprettet fra stregkode: Kontroller venligst, om dataene er korrekte og ønskede.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="F8pQuL9" name="project.bom_import.field_mapping.error.check_delimiter">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>project.bom_import.field_mapping.error.check_delimiter</source>
|
|
||||||
<target>Felttilknytningsfejl: Kontroller, om du har valgt den rigtige tegn-afgrænser!</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
@@ -4,31 +4,31 @@
|
|||||||
<unit id="cRbk.cm" name="part.master_attachment.must_be_picture">
|
<unit id="cRbk.cm" name="part.master_attachment.must_be_picture">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>part.master_attachment.must_be_picture</source>
|
<source>part.master_attachment.must_be_picture</source>
|
||||||
<target>Forhåndsvisningsvedhæftningen skal være et gyldigt billede!</target>
|
<target>Forhåndsvisnings-bilaget skal være et rigtigt billede!</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="v8HkcJB" name="structural.entity.unique_name">
|
<unit id="v8HkcJB" name="structural.entity.unique_name">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>structural.entity.unique_name</source>
|
<source>structural.entity.unique_name</source>
|
||||||
<target>Et element med dette navn findes allerede på dette niveau!</target>
|
<target>Der eksisterer allerede et element med dette navn på dette niveau!</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="dW7b2B_" name="parameters.validator.min_lesser_typical">
|
<unit id="dW7b2B_" name="parameters.validator.min_lesser_typical">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>parameters.validator.min_lesser_typical</source>
|
<source>parameters.validator.min_lesser_typical</source>
|
||||||
<target>Værdien skal være mindre end eller lig med den typiske værdi ({{ compared_value }}).</target>
|
<target>Værdi skal være mindre end eller lig med den typiske værdi ({{ compared_value }}).</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="Yfp2uC5" name="parameters.validator.min_lesser_max">
|
<unit id="Yfp2uC5" name="parameters.validator.min_lesser_max">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>parameters.validator.min_lesser_max</source>
|
<source>parameters.validator.min_lesser_max</source>
|
||||||
<target>Værdien skal være mindre end den maksimale værdi ({{ compared_value }}).</target>
|
<target>Værdi skal være mindre end maksumumværdien ({{ compared_value }}).</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="P6b.8Ou" name="parameters.validator.max_greater_typical">
|
<unit id="P6b.8Ou" name="parameters.validator.max_greater_typical">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>parameters.validator.max_greater_typical</source>
|
<source>parameters.validator.max_greater_typical</source>
|
||||||
<target>Værdien skal være større end eller lig med den typiske værdi ({{ compared_value }}).</target>
|
<target>Værdi skal være større eller lig med den typiske værdi ({{ compared_value }}).</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="P41193Y" name="validator.user.username_already_used">
|
<unit id="P41193Y" name="validator.user.username_already_used">
|
||||||
@@ -247,11 +247,5 @@
|
|||||||
<target>Der er allerede defineret en oversættelse for denne type og sprog!</target>
|
<target>Der er allerede defineret en oversættelse for denne type og sprog!</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="zT_j_oQ" name="validator.invalid_gtin">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>validator.invalid_gtin</source>
|
|
||||||
<target>Dette er ikke en gyldig GTIN / EAN!</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
Reference in New Issue
Block a user