diff --git a/.env b/.env index 557ed6e8..8cd39f31 100644 --- a/.env +++ b/.env @@ -5,14 +5,6 @@ # Share that value with nobody and keep it secret APP_SECRET=a03498528f5a5fc089273ec9ae5b2849 -# Change this and uncomment the following line to set the trusted hosts for your Part-DB installation, aka under which -# domain names it is reachable. This is makes things more secure, because it can prevent certain header attacks. -# You have to escape dots in the domain name with a backslash -#TRUSTED_HOSTS='^(your-domain\.invalid)$' - -# You can also allow multiple domain names, e.g. for testing or development purposes, with an | between the domain names. -#TRUSTED_HOSTS='^(localhost|your-domain\.invalid)$' - ################################################################################### # Database settings ################################################################################### diff --git a/composer.json b/composer.json index 43d2987a..4b70eea8 100644 --- a/composer.json +++ b/composer.json @@ -57,10 +57,10 @@ "scheb/2fa-trusted-device": "^v7.11.0", "shivas/versioning-bundle": "^4.0", "spatie/db-dumper": "^3.3.1", - "symfony/ai-bundle": "^0.11.0", - "symfony/ai-lm-studio-platform": "^v0.11.0", - "symfony/ai-ollama-platform": "^0.11.0", - "symfony/ai-open-router-platform": "^0.11.0", + "symfony/ai-bundle": "^0.10.0", + "symfony/ai-lm-studio-platform": "^v0.10.0", + "symfony/ai-ollama-platform": "^0.10.0", + "symfony/ai-open-router-platform": "^0.10.0", "symfony/apache-pack": "^1.0", "symfony/asset": "7.4.*", "symfony/console": "7.4.*", diff --git a/composer.lock b/composer.lock index 421b1459..ca245cb8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "71f989737d92309c38cbbf0e4e6e0e6e", + "content-hash": "1b475df042448d8143469da476afbd8f", "packages": [ { "name": "amphp/amp", @@ -2512,16 +2512,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.13", + "version": "1.5.12", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "c008272789979f709f7fcb32c2ecf1d2db5e84e5" + "reference": "00a2f4201641d5c53f7fc0195e6c8d9fcc321a78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/c008272789979f709f7fcb32c2ecf1d2db5e84e5", - "reference": "c008272789979f709f7fcb32c2ecf1d2db5e84e5", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/00a2f4201641d5c53f7fc0195e6c8d9fcc321a78", + "reference": "00a2f4201641d5c53f7fc0195e6c8d9fcc321a78", "shasum": "" }, "require": { @@ -2568,7 +2568,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.13" + "source": "https://github.com/composer/ca-bundle/tree/1.5.12" }, "funding": [ { @@ -2580,7 +2580,7 @@ "type": "github" } ], - "time": "2026-07-18T12:35:13+00:00" + "time": "2026-05-19T11:26:22+00:00" }, { "name": "composer/package-versions-deprecated", @@ -4638,22 +4638,22 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.15.1", + "version": "7.14.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "61443dfb33c62f308ee8add20f45b4d6e4bf8d2f" + "reference": "fa88c57803501ad0770f5cddb1e60525d49da9a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/61443dfb33c62f308ee8add20f45b4d6e4bf8d2f", - "reference": "61443dfb33c62f308ee8add20f45b4d6e4bf8d2f", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fa88c57803501ad0770f5cddb1e60525d49da9a1", + "reference": "fa88c57803501ad0770f5cddb1e60525d49da9a1", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^2.5.1", - "guzzlehttp/psr7": "^2.13", + "guzzlehttp/psr7": "^2.12.5", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.5 || ^3.0", @@ -4666,7 +4666,7 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.3", - "guzzlehttp/test-server": "^0.7", + "guzzlehttp/test-server": "^0.6", "php-http/message-factory": "^1.1", "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" @@ -4746,7 +4746,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.15.1" + "source": "https://github.com/guzzle/guzzle/tree/7.14.2" }, "funding": [ { @@ -4762,7 +4762,7 @@ "type": "tidelift" } ], - "time": "2026-07-18T11:23:11+00:00" + "time": "2026-07-14T18:15:01+00:00" }, { "name": "guzzlehttp/promises", @@ -4850,16 +4850,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.13.0", + "version": "2.12.5", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "dad89620b7a6edb60c15858442eb2e408b45d8f4" + "reference": "9365d578a9fd1552ad6ca9c3cb530708526feb09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dad89620b7a6edb60c15858442eb2e408b45d8f4", - "reference": "dad89620b7a6edb60c15858442eb2e408b45d8f4", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/9365d578a9fd1552ad6ca9c3cb530708526feb09", + "reference": "9365d578a9fd1552ad6ca9c3cb530708526feb09", "shasum": "" }, "require": { @@ -4949,7 +4949,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.13.0" + "source": "https://github.com/guzzle/psr7/tree/2.12.5" }, "funding": [ { @@ -4965,7 +4965,7 @@ "type": "tidelift" } ], - "time": "2026-07-16T22:23:49+00:00" + "time": "2026-07-13T01:27:20+00:00" }, { "name": "hshn/base64-encoded-file", @@ -7748,16 +7748,16 @@ }, { "name": "nette/utils", - "version": "v4.1.5", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0" + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/b043439dbdf954e6c28b5ea7e34b0100f83165e0", - "reference": "b043439dbdf954e6c28b5ea7e34b0100f83165e0", + "url": "https://api.github.com/repos/nette/utils/zipball/7da6c396d7ebe142bc857c20479d5e70a5e1aac7", + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7", "shasum": "" }, "require": { @@ -7777,7 +7777,7 @@ }, "suggest": { "ext-gd": "to use Image", - "ext-iconv": "to use Strings::chr(), ord() and reverse()", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", @@ -7833,9 +7833,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.5" + "source": "https://github.com/nette/utils/tree/v4.1.4" }, - "time": "2026-07-17T23:02:45+00:00" + "time": "2026-05-11T20:49:54+00:00" }, { "name": "nikolaposa/version", @@ -10735,21 +10735,21 @@ }, { "name": "symfony/ai-bundle", - "version": "v0.11.1", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-bundle.git", - "reference": "a66502ab5ff676be4f318a273eab17ab934c661a" + "reference": "5f6d218ca26a4ac3c2b743e4bfae769c41c556c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-bundle/zipball/a66502ab5ff676be4f318a273eab17ab934c661a", - "reference": "a66502ab5ff676be4f318a273eab17ab934c661a", + "url": "https://api.github.com/repos/symfony/ai-bundle/zipball/5f6d218ca26a4ac3c2b743e4bfae769c41c556c0", + "reference": "5f6d218ca26a4ac3c2b743e4bfae769c41c556c0", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/ai-platform": "^0.11", + "symfony/ai-platform": "^0.10", "symfony/clock": "^7.3|^8.0", "symfony/config": "^7.3|^8.0", "symfony/console": "^7.3|^8.0", @@ -10764,76 +10764,74 @@ "phpstan/phpstan-phpunit": "^2.0", "phpstan/phpstan-strict-rules": "^2.0", "phpunit/phpunit": "^11.5.53", - "symfony/ai-agent": "^0.11", - "symfony/ai-ai-ml-api-platform": "^0.11", - "symfony/ai-albert-platform": "^0.11", - "symfony/ai-amazee-ai-platform": "^0.11", - "symfony/ai-anthropic-platform": "^0.11", - "symfony/ai-azure-platform": "^0.11", - "symfony/ai-azure-search-store": "^0.11", - "symfony/ai-bedrock-platform": "^0.11", - "symfony/ai-cache-message-store": "^0.11", - "symfony/ai-cache-platform": "^0.11", - "symfony/ai-cache-store": "^0.11", - "symfony/ai-cartesia-platform": "^0.11", - "symfony/ai-cerebras-platform": "^0.11", - "symfony/ai-chat": "^0.11", - "symfony/ai-chroma-db-store": "^0.11", - "symfony/ai-click-house-store": "^0.11", - "symfony/ai-cloudflare-message-store": "^0.11", - "symfony/ai-cloudflare-store": "^0.11", - "symfony/ai-cohere-platform": "^0.11", - "symfony/ai-decart-platform": "^0.11", - "symfony/ai-deep-seek-platform": "^0.11", - "symfony/ai-deepgram-platform": "^0.11", - "symfony/ai-docker-model-runner-platform": "^0.11", - "symfony/ai-doctrine-message-store": "^0.11", - "symfony/ai-elasticsearch-store": "^0.11", - "symfony/ai-eleven-labs-platform": "^0.11", - "symfony/ai-failover-platform": "^0.11", - "symfony/ai-gemini-platform": "^0.11", - "symfony/ai-generic-platform": "^0.11", - "symfony/ai-hugging-face-platform": "^0.11", - "symfony/ai-lm-studio-platform": "^0.11", - "symfony/ai-manticore-search-store": "^0.11", - "symfony/ai-maria-db-store": "^0.11", - "symfony/ai-meilisearch-message-store": "^0.11", - "symfony/ai-meilisearch-store": "^0.11", - "symfony/ai-meta-platform": "^0.11", - "symfony/ai-milvus-store": "^0.11", - "symfony/ai-mini-max-platform": "^0.11", - "symfony/ai-mistral-platform": "^0.11", - "symfony/ai-mongo-db-message-store": "^0.11", - "symfony/ai-mongo-db-store": "^0.11", - "symfony/ai-neo4j-store": "^0.11", - "symfony/ai-ollama-platform": "^0.11", - "symfony/ai-open-ai-platform": "^0.11", - "symfony/ai-open-responses-platform": "^0.11", - "symfony/ai-open-router-platform": "^0.11", - "symfony/ai-open-search-store": "^0.11", - "symfony/ai-ovh-platform": "^0.11", - "symfony/ai-perplexity-platform": "^0.11", - "symfony/ai-pinecone-store": "^0.11", - "symfony/ai-pogocache-message-store": "^0.11", - "symfony/ai-postgres-store": "^0.11", - "symfony/ai-qdrant-store": "^0.11", - "symfony/ai-redis-message-store": "^0.11", - "symfony/ai-redis-store": "^0.11", - "symfony/ai-replicate-platform": "^0.11", - "symfony/ai-s3vectors-store": "^0.11", - "symfony/ai-scaleway-platform": "^0.11", - "symfony/ai-session-message-store": "^0.11", - "symfony/ai-sqlite-store": "^0.11", - "symfony/ai-store": "^0.11", - "symfony/ai-supabase-store": "^0.11", - "symfony/ai-surreal-db-message-store": "^0.11", - "symfony/ai-surreal-db-store": "^0.11", - "symfony/ai-transformers-php-platform": "^0.11", - "symfony/ai-typesense-store": "^0.11", - "symfony/ai-vektor-store": "^0.11", - "symfony/ai-vertex-ai-platform": "^0.11", - "symfony/ai-voyage-platform": "^0.11", - "symfony/ai-weaviate-store": "^0.11", + "symfony/ai-agent": "^0.10", + "symfony/ai-ai-ml-api-platform": "^0.10", + "symfony/ai-albert-platform": "^0.10", + "symfony/ai-amazee-ai-platform": "^0.10", + "symfony/ai-anthropic-platform": "^0.10", + "symfony/ai-azure-platform": "^0.10", + "symfony/ai-azure-search-store": "^0.10", + "symfony/ai-bedrock-platform": "^0.10", + "symfony/ai-cache-message-store": "^0.10", + "symfony/ai-cache-platform": "^0.10", + "symfony/ai-cache-store": "^0.10", + "symfony/ai-cartesia-platform": "^0.10", + "symfony/ai-cerebras-platform": "^0.10", + "symfony/ai-chat": "^0.10", + "symfony/ai-chroma-db-store": "^0.10", + "symfony/ai-click-house-store": "^0.10", + "symfony/ai-cloudflare-message-store": "^0.10", + "symfony/ai-cloudflare-store": "^0.10", + "symfony/ai-cohere-platform": "^0.10", + "symfony/ai-decart-platform": "^0.10", + "symfony/ai-deep-seek-platform": "^0.10", + "symfony/ai-docker-model-runner-platform": "^0.10", + "symfony/ai-doctrine-message-store": "^0.10", + "symfony/ai-elasticsearch-store": "^0.10", + "symfony/ai-eleven-labs-platform": "^0.10", + "symfony/ai-failover-platform": "^0.10", + "symfony/ai-gemini-platform": "^0.10", + "symfony/ai-generic-platform": "^0.10", + "symfony/ai-hugging-face-platform": "^0.10", + "symfony/ai-lm-studio-platform": "^0.10", + "symfony/ai-manticore-search-store": "^0.10", + "symfony/ai-maria-db-store": "^0.10", + "symfony/ai-meilisearch-message-store": "^0.10", + "symfony/ai-meilisearch-store": "^0.10", + "symfony/ai-meta-platform": "^0.10", + "symfony/ai-milvus-store": "^0.10", + "symfony/ai-mistral-platform": "^0.10", + "symfony/ai-mongo-db-message-store": "^0.10", + "symfony/ai-mongo-db-store": "^0.10", + "symfony/ai-neo4j-store": "^0.10", + "symfony/ai-ollama-platform": "^0.10", + "symfony/ai-open-ai-platform": "^0.10", + "symfony/ai-open-responses-platform": "^0.10", + "symfony/ai-open-router-platform": "^0.10", + "symfony/ai-open-search-store": "^0.10", + "symfony/ai-ovh-platform": "^0.10", + "symfony/ai-perplexity-platform": "^0.10", + "symfony/ai-pinecone-store": "^0.10", + "symfony/ai-pogocache-message-store": "^0.10", + "symfony/ai-postgres-store": "^0.10", + "symfony/ai-qdrant-store": "^0.10", + "symfony/ai-redis-message-store": "^0.10", + "symfony/ai-redis-store": "^0.10", + "symfony/ai-replicate-platform": "^0.10", + "symfony/ai-s3vectors-store": "^0.10", + "symfony/ai-scaleway-platform": "^0.10", + "symfony/ai-session-message-store": "^0.10", + "symfony/ai-sqlite-store": "^0.10", + "symfony/ai-store": "^0.10", + "symfony/ai-supabase-store": "^0.10", + "symfony/ai-surreal-db-message-store": "^0.10", + "symfony/ai-surreal-db-store": "^0.10", + "symfony/ai-transformers-php-platform": "^0.10", + "symfony/ai-typesense-store": "^0.10", + "symfony/ai-vektor-store": "^0.10", + "symfony/ai-vertex-ai-platform": "^0.10", + "symfony/ai-voyage-platform": "^0.10", + "symfony/ai-weaviate-store": "^0.10", "symfony/expression-language": "^7.3|^8.0", "symfony/security-core": "^7.3|^8.0", "symfony/translation": "^7.3|^8.0", @@ -10871,7 +10869,7 @@ ], "description": "Integration bundle for Symfony AI components", "support": { - "source": "https://github.com/symfony/ai-bundle/tree/v0.11.1" + "source": "https://github.com/symfony/ai-bundle/tree/v0.10.0" }, "funding": [ { @@ -10891,25 +10889,25 @@ "type": "tidelift" } ], - "time": "2026-07-16T11:42:34+00:00" + "time": "2026-06-16T07:10:08+00:00" }, { "name": "symfony/ai-generic-platform", - "version": "v0.11.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-generic-platform.git", - "reference": "b56ea991a4232ea16204960ab8dc8a1da44cb320" + "reference": "a099d8a35ea9f7254a159b9c17bc7a4927f9ebb2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-generic-platform/zipball/b56ea991a4232ea16204960ab8dc8a1da44cb320", - "reference": "b56ea991a4232ea16204960ab8dc8a1da44cb320", + "url": "https://api.github.com/repos/symfony/ai-generic-platform/zipball/a099d8a35ea9f7254a159b9c17bc7a4927f9ebb2", + "reference": "a099d8a35ea9f7254a159b9c17bc7a4927f9ebb2", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/ai-platform": "^0.11", + "symfony/ai-platform": "^0.10", "symfony/http-client": "^7.3|^8.0" }, "require-dev": { @@ -10956,7 +10954,7 @@ "platform" ], "support": { - "source": "https://github.com/symfony/ai-generic-platform/tree/v0.11.0" + "source": "https://github.com/symfony/ai-generic-platform/tree/v0.10.0" }, "funding": [ { @@ -10976,26 +10974,26 @@ "type": "tidelift" } ], - "time": "2026-07-15T00:58:20+00:00" + "time": "2026-06-16T07:10:08+00:00" }, { "name": "symfony/ai-lm-studio-platform", - "version": "v0.11.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-lm-studio-platform.git", - "reference": "b9725715569184ed80ebecb01a17893660cc550b" + "reference": "b6c4a3a5bedf2fd613953447602945c104e75a30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-lm-studio-platform/zipball/b9725715569184ed80ebecb01a17893660cc550b", - "reference": "b9725715569184ed80ebecb01a17893660cc550b", + "url": "https://api.github.com/repos/symfony/ai-lm-studio-platform/zipball/b6c4a3a5bedf2fd613953447602945c104e75a30", + "reference": "b6c4a3a5bedf2fd613953447602945c104e75a30", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/ai-generic-platform": "^0.11", - "symfony/ai-platform": "^0.11", + "symfony/ai-generic-platform": "^0.10", + "symfony/ai-platform": "^0.10", "symfony/http-client": "^7.3|^8.0" }, "require-dev": { @@ -11043,7 +11041,7 @@ "platform" ], "support": { - "source": "https://github.com/symfony/ai-lm-studio-platform/tree/v0.11.0" + "source": "https://github.com/symfony/ai-lm-studio-platform/tree/v0.10.0" }, "funding": [ { @@ -11063,25 +11061,25 @@ "type": "tidelift" } ], - "time": "2026-07-15T00:58:20+00:00" + "time": "2026-06-15T22:48:31+00:00" }, { "name": "symfony/ai-ollama-platform", - "version": "v0.11.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-ollama-platform.git", - "reference": "b42c359a7f414053d1b30f70e6508528853a8704" + "reference": "1542f19b78362cafc034c219f5bc9a5a239a0ffb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-ollama-platform/zipball/b42c359a7f414053d1b30f70e6508528853a8704", - "reference": "b42c359a7f414053d1b30f70e6508528853a8704", + "url": "https://api.github.com/repos/symfony/ai-ollama-platform/zipball/1542f19b78362cafc034c219f5bc9a5a239a0ffb", + "reference": "1542f19b78362cafc034c219f5bc9a5a239a0ffb", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/ai-platform": "^0.11", + "symfony/ai-platform": "^0.10", "symfony/http-client": "^7.3|^8.0" }, "require-dev": { @@ -11129,7 +11127,7 @@ "platform" ], "support": { - "source": "https://github.com/symfony/ai-ollama-platform/tree/v0.11.0" + "source": "https://github.com/symfony/ai-ollama-platform/tree/v0.10.0" }, "funding": [ { @@ -11149,26 +11147,26 @@ "type": "tidelift" } ], - "time": "2026-07-15T00:58:20+00:00" + "time": "2026-06-15T22:48:31+00:00" }, { "name": "symfony/ai-open-router-platform", - "version": "v0.11.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-open-router-platform.git", - "reference": "5ad625058227bf628ca0f504ba035599a1e8c91d" + "reference": "cfadb7858fca98b28b968b032b1bbeb5c9cc985b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-open-router-platform/zipball/5ad625058227bf628ca0f504ba035599a1e8c91d", - "reference": "5ad625058227bf628ca0f504ba035599a1e8c91d", + "url": "https://api.github.com/repos/symfony/ai-open-router-platform/zipball/cfadb7858fca98b28b968b032b1bbeb5c9cc985b", + "reference": "cfadb7858fca98b28b968b032b1bbeb5c9cc985b", "shasum": "" }, "require": { "php": ">=8.2", - "symfony/ai-generic-platform": "^0.11", - "symfony/ai-platform": "^0.11", + "symfony/ai-generic-platform": "^0.10", + "symfony/ai-platform": "^0.10", "symfony/http-client": "^7.3|^8.0" }, "require-dev": { @@ -11216,7 +11214,7 @@ "platform" ], "support": { - "source": "https://github.com/symfony/ai-open-router-platform/tree/v0.11.0" + "source": "https://github.com/symfony/ai-open-router-platform/tree/v0.10.0" }, "funding": [ { @@ -11236,20 +11234,20 @@ "type": "tidelift" } ], - "time": "2026-07-15T00:58:20+00:00" + "time": "2026-06-16T08:09:36+00:00" }, { "name": "symfony/ai-platform", - "version": "v0.11.0", + "version": "v0.10.0", "source": { "type": "git", "url": "https://github.com/symfony/ai-platform.git", - "reference": "dce4285eaf891cbdcb9526e576e3df6f8220fd1d" + "reference": "8100507aa9c46f3ad56d0272e8e46b558f451052" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ai-platform/zipball/dce4285eaf891cbdcb9526e576e3df6f8220fd1d", - "reference": "dce4285eaf891cbdcb9526e576e3df6f8220fd1d", + "url": "https://api.github.com/repos/symfony/ai-platform/zipball/8100507aa9c46f3ad56d0272e8e46b558f451052", + "reference": "8100507aa9c46f3ad56d0272e8e46b558f451052", "shasum": "" }, "require": { @@ -11348,7 +11346,7 @@ "voyage" ], "support": { - "source": "https://github.com/symfony/ai-platform/tree/v0.11.0" + "source": "https://github.com/symfony/ai-platform/tree/v0.10.0" }, "funding": [ { @@ -11368,7 +11366,7 @@ "type": "tidelift" } ], - "time": "2026-07-15T01:10:14+00:00" + "time": "2026-06-16T06:39:24+00:00" }, { "name": "symfony/apache-pack", @@ -17563,16 +17561,16 @@ }, { "name": "symplify/easy-coding-standard", - "version": "13.2.9", + "version": "13.2.7", "source": { "type": "git", "url": "https://github.com/ecsphp/ecs.git", - "reference": "f4730d9fde79bf27993e31d9fd7f9df00da0d1aa" + "reference": "735c742244ae3b3b067d5aae3d1dd4b7a48759f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ecsphp/ecs/zipball/f4730d9fde79bf27993e31d9fd7f9df00da0d1aa", - "reference": "f4730d9fde79bf27993e31d9fd7f9df00da0d1aa", + "url": "https://api.github.com/repos/ecsphp/ecs/zipball/735c742244ae3b3b067d5aae3d1dd4b7a48759f7", + "reference": "735c742244ae3b3b067d5aae3d1dd4b7a48759f7", "shasum": "" }, "require": { @@ -17607,29 +17605,29 @@ "static analysis" ], "support": { - "source": "https://github.com/ecsphp/ecs/tree/13.2.9" + "source": "https://github.com/ecsphp/ecs/tree/13.2.7" }, - "time": "2026-07-17T15:05:23+00:00" + "time": "2026-07-11T07:53:39+00:00" }, { "name": "tecnickcom/tc-lib-barcode", - "version": "2.12.0", + "version": "2.11.4", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-barcode.git", - "reference": "0614e905c903600c2491d3a90174a9a87a2fab9b" + "reference": "8e8486a84b12ae55f8b233588a1ae64f08bf1b6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/0614e905c903600c2491d3a90174a9a87a2fab9b", - "reference": "0614e905c903600c2491d3a90174a9a87a2fab9b", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/8e8486a84b12ae55f8b233588a1ae64f08bf1b6d", + "reference": "8e8486a84b12ae55f8b233588a1ae64f08bf1b6d", "shasum": "" }, "require": { "ext-bcmath": "*", "ext-gd": "*", "php": ">=8.2", - "tecnickcom/tc-lib-color": "^2.13" + "tecnickcom/tc-lib-color": "^2.12" }, "require-dev": { "pdepend/pdepend": "^2.16", @@ -17705,20 +17703,20 @@ "type": "github" } ], - "time": "2026-07-17T19:05:47+00:00" + "time": "2026-07-13T08:24:02+00:00" }, { "name": "tecnickcom/tc-lib-color", - "version": "2.13.1", + "version": "2.12.5", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-color.git", - "reference": "38303066464928bbcfe8e54d006c828b02e4c62f" + "reference": "71b30de968ca51832b64728a2727210adb3a1708" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/38303066464928bbcfe8e54d006c828b02e4c62f", - "reference": "38303066464928bbcfe8e54d006c828b02e4c62f", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/71b30de968ca51832b64728a2727210adb3a1708", + "reference": "71b30de968ca51832b64728a2727210adb3a1708", "shasum": "" }, "require": { @@ -17771,7 +17769,7 @@ "type": "github" } ], - "time": "2026-07-17T19:02:53+00:00" + "time": "2026-07-13T08:22:14+00:00" }, { "name": "thecodingmachine/safe", @@ -19727,28 +19725,27 @@ }, { "name": "phpstan/phpstan-strict-rules", - "version": "2.0.12", + "version": "2.0.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "2bc5ae19ae965663b62ac907ee6342c3903ec93b" + "reference": "9b000a578b85b32945b358b172c7b20e91189024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/2bc5ae19ae965663b62ac907ee6342c3903ec93b", - "reference": "2bc5ae19ae965663b62ac907ee6342c3903ec93b", + "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/9b000a578b85b32945b358b172c7b20e91189024", + "reference": "9b000a578b85b32945b358b172c7b20e91189024", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^2.1.52" + "phpstan/phpstan": "^2.1.39" }, "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/phpstan-deprecation-rules": "^2.0", "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^9.6", - "shipmonk/name-collision-detector": "^2.1" + "phpunit/phpunit": "^9.6" }, "type": "phpstan-extension", "extra": { @@ -19773,9 +19770,9 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.12" + "source": "https://github.com/phpstan/phpstan-strict-rules/tree/2.0.11" }, - "time": "2026-07-19T07:24:06+00:00" + "time": "2026-05-02T06:54:10+00:00" }, { "name": "phpstan/phpstan-symfony", @@ -20358,12 +20355,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "4fac0729c45b6dba8d6171a94eccb1d5d9514bf9" + "reference": "526c3e9555f6912cb025c1357e66956b1a1621c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/4fac0729c45b6dba8d6171a94eccb1d5d9514bf9", - "reference": "4fac0729c45b6dba8d6171a94eccb1d5d9514bf9", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/526c3e9555f6912cb025c1357e66956b1a1621c9", + "reference": "526c3e9555f6912cb025c1357e66956b1a1621c9", "shasum": "" }, "conflict": { @@ -21257,7 +21254,7 @@ "tecnickcom/tcpdf": "<6.8", "terminal42/contao-tablelookupwizard": "<3.3.5", "thelia/backoffice-default-template": ">=2.1,<2.1.2", - "thelia/thelia": ">=2.0.0.0-beta1,<2.1.3", + "thelia/thelia": ">=2.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", "thinkcmf/thinkcmf": "<6.0.8", "thorsten/phpmyfaq": "<4.1.4", @@ -21324,7 +21321,7 @@ "uvdesk/core-framework": "<=1.1.1", "vanilla/safecurl": "<0.9.2", "verbb/comments": "<1.5.5", - "verbb/formie": "<3.1.28", + "verbb/formie": "<3.1.27", "verbb/image-resizer": "<2.0.9", "verbb/knock-knock": "<1.2.8", "verot/class.upload.php": "<=2.1.6", @@ -21472,7 +21469,7 @@ "type": "tidelift" } ], - "time": "2026-07-17T19:07:03+00:00" + "time": "2026-07-16T20:57:14+00:00" }, { "name": "sebastian/cli-parser", diff --git a/config/parameters.yaml b/config/parameters.yaml index 64c791c1..e654a9b5 100644 --- a/config/parameters.yaml +++ b/config/parameters.yaml @@ -8,7 +8,7 @@ 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', 'hu', 'ko'] # The languages that are shown in user drop down menu + partdb.locale_menu: ['en', 'de', 'it', 'fr', 'ru', 'ja', 'cs', 'da', 'zh', 'pl', 'hu'] # The languages that are shown in user drop down menu partdb.default_uri: '%env(addSlash: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 diff --git a/config/reference.php b/config/reference.php index 4d32f74b..461a3578 100644 --- a/config/reference.php +++ b/config/reference.php @@ -2770,11 +2770,6 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * host?: string|Param, // Default: "https://api.decart.ai/v1" * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" * }, - * deepgram?: array{ - * api_key?: string|Param, - * endpoint?: string|Param, // Deepgram REST API endpoint // Default: "https://api.deepgram.com/v1/" - * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" - * }, * deepseek?: array{ * api_key?: string|Param, * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" @@ -2815,11 +2810,6 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * host_url?: string|Param, // Default: "http://127.0.0.1:1234" * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" * }, - * minimax?: array{ - * endpoint?: string|Param, // Default: "https://api.minimax.io/v1" - * api_key?: string|Param, - * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" - * }, * mistral?: array{ * api_key?: string|Param, * http_client?: string|Param, // Service ID of the HTTP client to use // Default: "http_client" @@ -2941,7 +2931,6 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * account_id?: string|Param, * api_key?: string|Param, * index_name?: string|Param, - * http_client?: string|Param, // Default: "http_client" * dimensions?: int|Param, // Default: 1536 * metric?: string|Param, // Default: "cosine" * endpoint?: string|Param, @@ -3098,7 +3087,6 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * namespace?: string|Param, * database?: string|Param, * table?: string|Param, - * http_client?: string|Param, // Default: "http_client" * vector_field?: string|Param, // Default: "_vectors" * strategy?: string|Param, // Default: "cosine" * dimensions?: int|Param, // Default: 1536 @@ -3108,7 +3096,6 @@ use Symfony\Component\Config\Loader\ParamConfigurator as Param; * endpoint?: string|Param, * api_key?: string|Param, * collection?: string|Param, - * http_client?: string|Param, // Default: "http_client" * vector_field?: string|Param, // Default: "_vectors" * dimensions?: int|Param, // Default: 1536 * }>, diff --git a/src/Controller/HomepageController.php b/src/Controller/HomepageController.php index bd7f7593..f64f281f 100644 --- a/src/Controller/HomepageController.php +++ b/src/Controller/HomepageController.php @@ -27,7 +27,6 @@ use App\Entity\Parts\Part; use App\Services\System\AppSecretChecker; use App\Services\System\BannerHelper; use App\Services\System\GitVersionInfoProvider; -use App\Services\System\TrustedHostsChecker; use App\Services\System\UpdateAvailableFacade; use Doctrine\ORM\EntityManagerInterface; use Omines\DataTablesBundle\DataTableFactory; @@ -42,7 +41,6 @@ class HomepageController extends AbstractController private readonly DataTableFactory $dataTable, private readonly BannerHelper $bannerHelper, private readonly AppSecretChecker $appSecretChecker, - private readonly TrustedHostsChecker $trustedHostsChecker, ) { } @@ -92,7 +90,6 @@ class HomepageController extends AbstractController 'new_version_url' => $updateAvailableManager->getLatestVersionUrl(), 'insecure_app_secret' => $this->appSecretChecker->isInsecureSecret(), 'suggested_app_secret' => $this->appSecretChecker->isInsecureSecret() ? $this->appSecretChecker->generateSecret() : null, - 'trusted_hosts_unconfigured' => $this->trustedHostsChecker->isTrustedHostsUnconfigured(), ]); } } diff --git a/src/Services/LabelSystem/Barcodes/BarcodeHelper.php b/src/Services/LabelSystem/Barcodes/BarcodeHelper.php index 53e52662..c9fe64f3 100644 --- a/src/Services/LabelSystem/Barcodes/BarcodeHelper.php +++ b/src/Services/LabelSystem/Barcodes/BarcodeHelper.php @@ -67,8 +67,8 @@ class BarcodeHelper { $svg = $this->barcodeAsSVG($content, $type); $base64 = $this->dataUri($svg, 'image/svg+xml'); - $alt_text ??= htmlspecialchars($content); - + $alt_text ??= $content; + return ''.$alt_text.''; } @@ -94,4 +94,4 @@ class BarcodeHelper return $repr; } -} +} \ No newline at end of file diff --git a/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php index 0059a3fc..081b3e91 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/AbstractDBElementProvider.php @@ -44,9 +44,9 @@ namespace App\Services\LabelSystem\PlaceholderProviders; use App\Entity\Base\AbstractDBElement; use App\Services\ElementTypeNameGenerator; -final readonly class AbstractDBElementProvider implements PlaceholderProviderInterface +final class AbstractDBElementProvider implements PlaceholderProviderInterface { - public function __construct(private ElementTypeNameGenerator $elementTypeNameGenerator) + public function __construct(private readonly ElementTypeNameGenerator $elementTypeNameGenerator) { } @@ -54,7 +54,7 @@ final readonly class AbstractDBElementProvider implements PlaceholderProviderInt { if ($label_target instanceof AbstractDBElement) { if ('[[TYPE]]' === $placeholder) { - return $this->elementTypeNameGenerator->typeLabel($label_target); + return $this->elementTypeNameGenerator->getLocalizedTypeLabel($label_target); } if ('[[ID]]' === $placeholder) { diff --git a/src/Services/LabelSystem/PlaceholderProviders/BarcodeProvider.php b/src/Services/LabelSystem/PlaceholderProviders/BarcodeProvider.php index 745a8227..9719917a 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/BarcodeProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/BarcodeProvider.php @@ -31,11 +31,11 @@ use App\Services\LabelSystem\LabelBarcodeGenerator; use App\Services\LabelSystem\Barcodes\BarcodeContentGenerator; use Com\Tecnick\Barcode\Exception; -final readonly class BarcodeProvider implements PlaceholderProviderInterface +final class BarcodeProvider implements PlaceholderProviderInterface { - public function __construct(private LabelBarcodeGenerator $barcodeGenerator, - private BarcodeContentGenerator $barcodeContentGenerator, - private BarcodeHelper $barcodeHelper) + public function __construct(private readonly LabelBarcodeGenerator $barcodeGenerator, + private readonly BarcodeContentGenerator $barcodeContentGenerator, + private readonly BarcodeHelper $barcodeHelper) { } diff --git a/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php b/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php index 38b59bb4..f14a5863 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php +++ b/src/Services/LabelSystem/PlaceholderProviders/GlobalProviders.php @@ -53,11 +53,11 @@ use Symfony\Component\Routing\Generator\UrlGeneratorInterface; * Provides Placeholders for infos about global infos like Installation name or datetimes. * @see \App\Tests\Services\LabelSystem\PlaceholderProviders\GlobalProvidersTest */ -final readonly class GlobalProviders implements PlaceholderProviderInterface +final class GlobalProviders implements PlaceholderProviderInterface { public function __construct( - private Security $security, - private UrlGeneratorInterface $url_generator, + private readonly Security $security, + private readonly UrlGeneratorInterface $url_generator, private CustomizationSettings $customizationSettings, ) { @@ -66,13 +66,13 @@ final readonly class GlobalProviders implements PlaceholderProviderInterface public function replace(string $placeholder, object $label_target, array $options = []): ?string { if ('[[INSTALL_NAME]]' === $placeholder) { - return htmlspecialchars($this->customizationSettings->instanceName); + return $this->customizationSettings->instanceName; } $user = $this->security->getUser(); if ('[[USERNAME]]' === $placeholder) { if ($user instanceof User) { - return htmlspecialchars($user->getName()); + return $user->getName(); } return 'anonymous'; @@ -80,7 +80,7 @@ final readonly class GlobalProviders implements PlaceholderProviderInterface if ('[[USERNAME_FULL]]' === $placeholder) { if ($user instanceof User) { - return htmlspecialchars($user->getFullName(true)); + return $user->getFullName(true); } return 'anonymous'; diff --git a/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php index 519f5081..d8d38120 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/NamedElementProvider.php @@ -51,7 +51,7 @@ final class NamedElementProvider implements PlaceholderProviderInterface public function replace(string $placeholder, object $label_target, array $options = []): ?string { if ($label_target instanceof NamedElementInterface && '[[NAME]]' === $placeholder) { - return htmlspecialchars($label_target->getName()); + return $label_target->getName(); } return null; diff --git a/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php b/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php index 7dee615b..946b4892 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/PartLotProvider.php @@ -52,9 +52,9 @@ use Locale; /** * @see \App\Tests\Services\LabelSystem\PlaceholderProviders\PartLotProviderTest */ -final readonly class PartLotProvider implements PlaceholderProviderInterface +final class PartLotProvider implements PlaceholderProviderInterface { - public function __construct(private LabelTextReplacer $labelTextReplacer, private AmountFormatter $amountFormatter) + public function __construct(private readonly LabelTextReplacer $labelTextReplacer, private readonly AmountFormatter $amountFormatter) { } @@ -66,11 +66,11 @@ final readonly class PartLotProvider implements PlaceholderProviderInterface } if ('[[LOT_NAME]]' === $placeholder) { - return htmlspecialchars($label_target->getName()); + return $label_target->getName(); } if ('[[LOT_COMMENT]]' === $placeholder) { - return htmlspecialchars($label_target->getComment()); + return $label_target->getComment(); } if ('[[EXPIRATION_DATE]]' === $placeholder) { @@ -95,19 +95,19 @@ final readonly class PartLotProvider implements PlaceholderProviderInterface } if ('[[LOCATION]]' === $placeholder) { - return $label_target->getStorageLocation() instanceof StorageLocation ? htmlspecialchars($label_target->getStorageLocation()->getName()) : ''; + return $label_target->getStorageLocation() instanceof StorageLocation ? $label_target->getStorageLocation()->getName() : ''; } if ('[[LOCATION_FULL]]' === $placeholder) { - return $label_target->getStorageLocation() instanceof StorageLocation ? htmlspecialchars($label_target->getStorageLocation()->getFullPath()) : ''; + return $label_target->getStorageLocation() instanceof StorageLocation ? $label_target->getStorageLocation()->getFullPath() : ''; } if ('[[OWNER]]' === $placeholder) { - return $label_target->getOwner() instanceof User ? htmlspecialchars($label_target->getOwner()->getFullName()) : ''; + return $label_target->getOwner() instanceof User ? $label_target->getOwner()->getFullName() : ''; } if ('[[OWNER_USERNAME]]' === $placeholder) { - return $label_target->getOwner() instanceof User ? htmlspecialchars($label_target->getOwner()->getUsername()) : ''; + return $label_target->getOwner() instanceof User ? $label_target->getOwner()->getUsername() : ''; } return $this->labelTextReplacer->handlePlaceholder($placeholder, $label_target->getPart()); diff --git a/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php b/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php index 857aa1ff..7d9e4db5 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/PartProvider.php @@ -54,11 +54,11 @@ use Symfony\Contracts\Translation\TranslatorInterface; /** * @see \App\Tests\Services\LabelSystem\PlaceholderProviders\PartProviderTest */ -final readonly class PartProvider implements PlaceholderProviderInterface +final class PartProvider implements PlaceholderProviderInterface { - private MarkdownConverter $inlineConverter; + private readonly MarkdownConverter $inlineConverter; - public function __construct(private SIFormatter $siFormatter, private TranslatorInterface $translator) + public function __construct(private readonly SIFormatter $siFormatter, private readonly TranslatorInterface $translator) { $environment = new Environment(); $environment->addExtension(new InlinesOnlyExtension()); @@ -72,27 +72,27 @@ final readonly class PartProvider implements PlaceholderProviderInterface } if ('[[CATEGORY]]' === $placeholder) { - return $part->getCategory() instanceof Category ? htmlspecialchars($part->getCategory()->getName()) : ''; + return $part->getCategory() instanceof Category ? $part->getCategory()->getName() : ''; } if ('[[CATEGORY_FULL]]' === $placeholder) { - return $part->getCategory() instanceof Category ? htmlspecialchars($part->getCategory()->getFullPath()) : ''; + return $part->getCategory() instanceof Category ? $part->getCategory()->getFullPath() : ''; } if ('[[MANUFACTURER]]' === $placeholder) { - return $part->getManufacturer() instanceof Manufacturer ? htmlspecialchars($part->getManufacturer()->getName()) : ''; + return $part->getManufacturer() instanceof Manufacturer ? $part->getManufacturer()->getName() : ''; } if ('[[MANUFACTURER_FULL]]' === $placeholder) { - return $part->getManufacturer() instanceof Manufacturer ? htmlspecialchars($part->getManufacturer()->getFullPath()) : ''; + return $part->getManufacturer() instanceof Manufacturer ? $part->getManufacturer()->getFullPath() : ''; } if ('[[FOOTPRINT]]' === $placeholder) { - return $part->getFootprint() instanceof Footprint ? htmlspecialchars($part->getFootprint()->getName()) : ''; + return $part->getFootprint() instanceof Footprint ? $part->getFootprint()->getName() : ''; } if ('[[FOOTPRINT_FULL]]' === $placeholder) { - return $part->getFootprint() instanceof Footprint ? htmlspecialchars($part->getFootprint()->getFullPath()) : ''; + return $part->getFootprint() instanceof Footprint ? $part->getFootprint()->getFullPath() : ''; } if ('[[MASS]]' === $placeholder) { @@ -100,15 +100,15 @@ final readonly class PartProvider implements PlaceholderProviderInterface } if ('[[MPN]]' === $placeholder) { - return htmlspecialchars($part->getManufacturerProductNumber()); + return $part->getManufacturerProductNumber(); } if ('[[IPN]]' === $placeholder) { - return $part->getIpn() ? htmlspecialchars($part->getIpn()) : ''; + return $part->getIpn() ?? ''; } if ('[[TAGS]]' === $placeholder) { - return htmlspecialchars($part->getTags()); + return $part->getTags(); } if ('[[M_STATUS]]' === $placeholder) { diff --git a/src/Services/LabelSystem/PlaceholderProviders/PlaceholderProviderInterface.php b/src/Services/LabelSystem/PlaceholderProviders/PlaceholderProviderInterface.php index 3c1857d6..f5b1fc3b 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/PlaceholderProviderInterface.php +++ b/src/Services/LabelSystem/PlaceholderProviders/PlaceholderProviderInterface.php @@ -46,7 +46,6 @@ interface PlaceholderProviderInterface /** * Determines the real value of this placeholder. * If the placeholder is not supported, null must be returned. - * The placeholder provider has to handle HTML escaping, as the output of this function will be used directly in the label template. * * @param string $placeholder The placeholder (e.g. "%%PLACEHOLDER%%") that should be replaced * @param object $label_target The object that is targeted by the label diff --git a/src/Services/LabelSystem/PlaceholderProviders/StorelocationProvider.php b/src/Services/LabelSystem/PlaceholderProviders/StorelocationProvider.php index de791b94..4b4d8dcd 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/StorelocationProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/StorelocationProvider.php @@ -31,11 +31,11 @@ class StorelocationProvider implements PlaceholderProviderInterface { if ($label_target instanceof StorageLocation) { if ('[[OWNER]]' === $placeholder) { - return $label_target->getOwner() instanceof User ? htmlspecialchars($label_target->getOwner()->getFullName()) : ''; + return $label_target->getOwner() instanceof User ? $label_target->getOwner()->getFullName() : ''; } if ('[[OWNER_USERNAME]]' === $placeholder) { - return $label_target->getOwner() instanceof User ? htmlspecialchars($label_target->getOwner()->getUsername()) : ''; + return $label_target->getOwner() instanceof User ? $label_target->getOwner()->getUsername() : ''; } } diff --git a/src/Services/LabelSystem/PlaceholderProviders/StructuralDBElementProvider.php b/src/Services/LabelSystem/PlaceholderProviders/StructuralDBElementProvider.php index c8c49cfe..f37f5901 100644 --- a/src/Services/LabelSystem/PlaceholderProviders/StructuralDBElementProvider.php +++ b/src/Services/LabelSystem/PlaceholderProviders/StructuralDBElementProvider.php @@ -55,13 +55,13 @@ final class StructuralDBElementProvider implements PlaceholderProviderInterface return strip_tags((string) $label_target->getComment()); } if ('[[FULL_PATH]]' === $placeholder) { - return htmlspecialchars($label_target->getFullPath()); + return $label_target->getFullPath(); } if ('[[PARENT]]' === $placeholder) { - return $label_target->getParent() instanceof AbstractStructuralDBElement ? htmlspecialchars($label_target->getParent()->getName()) : ''; + return $label_target->getParent() instanceof AbstractStructuralDBElement ? $label_target->getParent()->getName() : ''; } if ('[[PARENT_FULL_PATH]]' === $placeholder) { - return $label_target->getParent() instanceof AbstractStructuralDBElement ? htmlspecialchars($label_target->getParent()->getFullPath()) : ''; + return $label_target->getParent() instanceof AbstractStructuralDBElement ? $label_target->getParent()->getFullPath() : ''; } } diff --git a/src/Services/System/TrustedHostsChecker.php b/src/Services/System/TrustedHostsChecker.php deleted file mode 100644 index 49587dc9..00000000 --- a/src/Services/System/TrustedHostsChecker.php +++ /dev/null @@ -1,45 +0,0 @@ -. - */ - -declare(strict_types=1); - -namespace App\Services\System; - -use Symfony\Component\DependencyInjection\Attribute\Autowire; - -/** - * Checks whether the TRUSTED_HOSTS environment variable has been configured. - */ -final readonly class TrustedHostsChecker -{ - public function __construct( - #[Autowire('%env(TRUSTED_HOSTS)%')] - private string $trustedHosts, - ) { - } - - /** - * @return bool True if TRUSTED_HOSTS is not configured (meaning Part-DB accepts requests with any Host header), false otherwise. - */ - public function isTrustedHostsUnconfigured(): bool - { - return trim($this->trustedHosts) === ''; - } -} diff --git a/templates/bundles/TwigBundle/Exception/error400.html.twig b/templates/bundles/TwigBundle/Exception/error400.html.twig deleted file mode 100644 index f5ed56b9..00000000 --- a/templates/bundles/TwigBundle/Exception/error400.html.twig +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "bundles/TwigBundle/Exception/error.html.twig" %} - -{% set untrusted_host = exception.message starts with 'Untrusted Host' or exception.message starts with 'Invalid Host' %} -{% set seen_host = untrusted_host ? (exception.message|split('"'))[1]|default(null) : null %} - -{% block status_comment %} - {% if untrusted_host %} - Part-DB was accessed using a host name that is not marked as trusted.
- {% if seen_host %} - The host name Part-DB saw was: {{ seen_host }} - {% else %} - {{ exception.message }} - {% endif %} - {% else %} - Your browser sent a request that the server could not understand. - {% endif %} -{% endblock %} - -{% block admin_info %} - {% if untrusted_host %} - Untrusted host name.
-

For security reasons (to prevent HTTP Host header attacks), Part-DB only responds to requests using host names that were explicitly marked as trusted, once more than one host name is used to access it (e.g. behind a reverse proxy).

-

Try following things:

- - {% else %} - {{ parent() }} - {% endif %} -{% endblock %} diff --git a/templates/homepage.html.twig b/templates/homepage.html.twig index 7b000e9d..2a191f14 100644 --- a/templates/homepage.html.twig +++ b/templates/homepage.html.twig @@ -95,16 +95,6 @@ {% endif %} - {% if trusted_hosts_unconfigured and is_granted('@system.server_infos') %} - - {% endif %} - {% if is_granted('@system.show_updates') %} {{ nv.new_version_alert(new_version_available, new_version, new_version_url) }} {% endif %} diff --git a/translations/frontend.ko.xlf b/translations/frontend.ko.xlf deleted file mode 100644 index 37c885c0..00000000 --- a/translations/frontend.ko.xlf +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - search.placeholder - 검색 - - - - - part.labelp - 부품 - - - - - entity.select.group.new_not_added_to_DB - 신규 (아직 DB에 추가되지 않음) - - - - - user.password_strength.very_weak - 매우 약함 - - - - - user.password_strength.weak - 약함 - - - - - user.password_strength.medium - 보통 - - - - - user.password_strength.strong - 강함 - - - - - user.password_strength.very_strong - 매우 강함 - - - - - search.submit - 이동! - - - - - user.password_strength.crack_time - 예상 해독 시간: %time% - - - - - dialog.btn.ok - 확인 - - - - - dialog.btn.cancel - 취소 - - - - - dialog.btn.deny - 아니요 - - - - diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index d4d40359..2a537775 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -13697,24 +13697,6 @@ Buerklin-API Authentication server: You can use this randomly generated value (share it with nobody): - - - system.trusted_hosts.unconfigured.title - TRUSTED_HOSTS not configured - - - - - system.trusted_hosts.unconfigured.message - The <code>TRUSTED_HOSTS</code> environment variable is not set. This means Part-DB will accept requests for any host name, which can be a security risk (e.g. HTTP Host header injection). It is recommended to restrict this to the host names Part-DB is actually reachable under. - - - - - system.trusted_hosts.unconfigured.suggestion - Set it to a regular expression matching all host names Part-DB should be reachable under in your <code>.env.local</code> or <code>docker-compose.yaml</code> file, e.g. based on the host name you used to access this page: - - info_providers.provider_key diff --git a/translations/messages.ko.xlf b/translations/messages.ko.xlf deleted file mode 100644 index b5ee7202..00000000 --- a/translations/messages.ko.xlf +++ /dev/null @@ -1,13749 +0,0 @@ - - - - - - attachment_type.caption - 첨부파일의 파일 형식 - - - - - new - - - attachment_type.edit - [attachment_type] 편집 - - - - - new - - - attachment_type.new - 새 [attachment_type] - - - - - category.labelp - 카테고리 - - - - - admin.options - 옵션 - - - - - admin.advanced - 고급 - - - - - new - - - category.edit - [category] 편집 - - - - - new - - - category.new - 새 [category] - - - - - currency.iso_code.caption - ISO 코드 - - - - - currency.symbol.caption - 통화 기호 - - - - - new - - - currency.edit - [currency] 편집 - - - - - new - - - currency.new - 새 [currency] - - - - - new - - - project.edit - [project] 편집 - - - - - new - - - project.new - 새 [project] - - - - - search.placeholder - 검색 - - - - - expandAll - 모두 펼치기 - - - - - reduceAll - 모두 접기 - - - - - part.info.timetravel_hint - %timestamp% 이전의 부품 상태입니다. <i>이 기능은 실험적이므로 정보가 정확하지 않을 수 있습니다. </i> - - - - - standard.label - 속성 - - - - - infos.label - 정보 - - - - - new - - - history.label - 이력 - - - - - export.label - 내보내기 - - - - - import_export.label - 가져오기 / 내보내기 - - - - - mass_creation.label - 대량 생성 - - - - - admin.common - 일반 - - - - - admin.attachments - 첨부파일 - - - - - admin.parameters - 파라미터 - - - - - export_all.label - 모든 요소 내보내기 - - - - - mass_creation.help - 각 줄은 생성될 요소의 이름으로 해석됩니다. 들여쓰기로 중첩 구조를 만들 수 있습니다. - - - - - edit.caption - "%name" 요소 편집 - - - - - new.caption - 새 요소 - - - - - footprint.labelp - 풋프린트 - - - - - new - - - footprint.edit - [footprint] 편집 - - - - - new - - - footprint.new - 새 [footprint] - - - - - user.edit.permissions - 권한 - - - - - new - - - group.edit - [group] 편집 - - - - - new - - - group.new - 새 [group] - - - - - label_profile.advanced - 고급 - - - - - label_profile.comment - 메모 - - - - - new - - - label_profile.edit - [label_profile] 편집 - - - - - new - - - label_profile.new - 새 [label_profile] - - - - - new - - - manufacturer.edit - [manufacturer] 편집 - - - - - new - - - manufacturer.new - 새 [manufacturer] - - - - - storelocation.labelp - 보관 위치 - - - - - new - - - storelocation.edit - [storage_location] 편집 - - - - - new - - - storelocation.new - 새 [storage_location] - - - - - new - - - supplier.edit - [supplier] 편집 - - - - - new - - - supplier.new - 새 [supplier] - - - - - user.edit.configuration - 설정 - - - - - user.edit.password - 비밀번호 - - - - - user.edit.tfa.caption - 2단계 인증 - - - - - user.edit.tfa.google_active - 인증 앱 활성화됨 - - - - - tfa_backup.remaining_tokens - 남은 백업 코드 수 - - - - - tfa_backup.generation_date - 백업 코드 생성일 - - - - - user.edit.tfa.disabled - 사용하지 않는 방법 - - - - - user.edit.tfa.u2f_keys_count - 활성 보안 키 - - - - - user.edit.tfa.disable_tfa_title - 정말 진행하시겠습니까? - - - - - user.edit.tfa.disable_tfa_message - 이 작업은 <b>사용자의 모든 활성 2단계 인증 방법</b>을 비활성화하고 <b>백업 코드</b>를 삭제합니다! -<br> -사용자는 모든 2단계 인증 방법을 다시 설정하고 새 백업 코드를 출력해야 합니다! <br><br> -<b>도움을 요청한 사용자의 신원이 확실한 경우에만 진행하세요. 그렇지 않으면 공격자가 계정을 탈취할 수 있습니다!</b> - - - - - user.edit.tfa.disable_tfa.btn - 모든 2단계 인증 방법 비활성화 - - - - - new - - - user.edit - [user] 편집 - - - - - new - - - user.new - 새 [user] - - - - - attachment.delete - 삭제 - - - - - attachment.external_only - 외부 링크만 - - - - - attachment.preview.alt - 첨부파일 미리보기 - - - - - attachment.view_local - 로컬 사본 보기 - - - - - attachment.file_not_found - 파일을 찾을 수 없음 - - - - - attachment.secure - 비공개 첨부파일 - - - - - attachment.create - 첨부파일 추가 - - - - - part_lot.edit.delete.confirm - 정말 이 재고를 삭제하시겠습니까? 되돌릴 수 없습니다! - - - - - entity.delete.confirm_title - 정말 %name%을(를) 삭제하시겠습니까? - - - - - entity.delete.message - 되돌릴 수 없습니다! -<br> -하위 요소는 상위로 이동됩니다. - - - - - entity.delete - 요소 삭제 - - - - - new - - - edit.log_comment - 변경 사항 메모 - - - - - entity.delete.recursive - 재귀 삭제 (모든 하위 요소 포함) - - - - - entity.duplicate - 요소 복제 - - - - - export.format - 파일 형식 - - - - - export.level - 상세 수준 - - - - - export.level.simple - 간단히 - - - - - export.level.extended - 확장 - - - - - export.level.full - 전체 - - - - - export.include_children - 하위 요소를 내보내기에 포함 - - - - - export.btn - 내보내기 - - - - - id.label - ID - - - - - createdAt - 생성일 - - - - - lastModified - 마지막 수정일 - - - - - entity.info.parts_count - 이 요소를 사용하는 [[part]] 수 - - - - - specifications.property - 파라미터 - - - - - specifications.symbol - 기호 - - - - - specifications.value_min - 최소 - - - - - specifications.value_typ - 일반 - - - - - specifications.value_max - 최대 - - - - - specifications.unit - 단위 - - - - - specifications.text - 텍스트 - - - - - specifications.group - 그룹 - - - - - specifications.eda_visibility.help - 이 파라미터를 EDA 필드로 내보내기 - - - - - specification.create - 새 파라미터 - - - - - parameter.delete.confirm - 정말 이 파라미터를 삭제하시겠습니까? - - - - - attachment.list.title - 첨부파일 목록 - - - - - part_list.loading.caption - 불러오는 중 - - - - - part_list.loading.message - 잠시 걸릴 수 있습니다. 이 메시지가 사라지지 않으면 페이지를 새로고침해 보세요. - - - - - vendor.base.javascript_hint - 모든 기능을 사용하려면 Javascript를 활성화하세요! - - - - - sidebar.big.toggle - 사이드바 표시/숨기기 - - - - - loading.caption - 불러오는 중: - - - - - loading.message - 시간이 걸릴 수 있습니다. 이 메시지가 오래 지속되면 페이지를 새로고침해 보세요. - - - - - loading.bar - 불러오는 중... - - - - - back_to_top - 페이지 맨 위로 - - - - - permission.edit.permission - 권한 - - - - - permission.edit.value - - - - - - permission.legend.title - 상태 설명 - - - - - permission.legend.disallow - 금지 - - - - - permission.legend.allow - 허용 - - - - - permission.legend.inherit - (상위) 그룹에서 상속 - - - - - bool.true - - - - - - bool.false - 거짓 - - - - - Yes - - - - - - No - 아니요 - - - - - specifications.value - - - - - - version.caption - 버전 - - - - - homepage.license - 라이선스 정보 - - - - - homepage.github.caption - 프로젝트 페이지 - - - - - homepage.github.text - 소스, 다운로드, 버그 신고, 할 일 목록 등은 <a href="%href%" class="link-external" target="_blank">GitHub 프로젝트 페이지</a>에서 확인할 수 있습니다 - - - - - homepage.help.caption - 도움말 - - - - - homepage.help.text - 도움말과 팁은 <a href="%href%" class="link-external" target="_blank">GitHub 페이지</a>의 Wiki에서 확인할 수 있습니다 - - - - - homepage.forum.caption - 포럼 - - - - - new - - - homepage.last_activity - 최근 활동 - - - - - label_generator.title - 라벨 생성기 - - - - - label_generator.common - 일반 - - - - - label_generator.advanced - 고급 - - - - - label_generator.profiles - 프로필 - - - - - label_generator.selected_profile - 현재 선택된 프로필 - - - - - label_generator.edit_profile - 프로필 편집 - - - - - label_generator.load_profile - 프로필 불러오기 - - - - - label_generator.download - 다운로드 - - - - - label_generator.label_btn - 라벨 생성 - - - - - label_generator.label_empty - 새 빈 라벨 - - - - - label_scanner.title - 라벨 스캐너 - - - - - label_scanner.no_cam_found.title - 웹캠을 찾을 수 없음 - - - - - label_scanner.no_cam_found.text - 스캐너 기능을 사용하려면 웹캠이 필요하며 사용 권한을 허용해야 합니다. 아래에 바코드를 직접 입력할 수도 있습니다. - - - - - label_scanner.source_select - 소스 선택 - - - - - log.list.title - 시스템 로그 - - - - - new - - - log.undo.confirm_title - 정말 변경을 취소하거나 해당 시점으로 되돌리시겠습니까? - - - - - new - - - log.undo.confirm_message - 정말 이 변경을 취소하거나 요소를 해당 시점으로 재설정하시겠습니까? - - - - - mail.footer.email_sent_by - 이 이메일은 다음에 의해 자동 발송되었습니다: - - - - - mail.footer.dont_reply - 이 이메일에 회신하지 마세요. - - - - - email.hi %name% - 안녕하세요 %name%님 - - - - - email.pw_reset.message - 누군가(본인이길 바랍니다)가 비밀번호 재설정을 요청했습니다. 본인이 요청하지 않았다면 이 메일을 무시하세요. - - - - - email.pw_reset.button - 비밀번호를 재설정하려면 여기를 클릭 - - - - - email.pw_reset.fallback - 작동하지 않는 경우 <a href="%url%">%url%</a>로 이동하여 다음 정보를 입력하세요 - - - - - email.pw_reset.username - 사용자 이름 - - - - - email.pw_reset.token - 토큰 - - - - - email.pw_reset.valid_unit %date% - 재설정 토큰은 <i>%date%</i>까지 유효합니다. - - - - - orderdetail.delete - 삭제 - - - - - pricedetails.edit.min_qty - 최소 할인 수량 - - - - - pricedetails.edit.price - 가격 - - - - - pricedetails.edit.price_qty - 수량 기준 - - - - - pricedetail.create - 가격 추가 - - - - - part.edit.title - [part] 편집 - - - - - part.edit.card_title - [part] 편집 - - - - - form.dirty_form.unsaved_changes.title - 저장되지 않은 변경 사항 - - - - - form.dirty_form.unsaved_changes.message - 저장되지 않은 변경 사항이 있으며 이 페이지를 벗어나면 사라집니다. 계속하시겠습니까? - - - - - part.edit.tab.common - 일반 - - - - - part.edit.tab.manufacturer - 제조사 - - - - - part.edit.tab.advanced - 고급 - - - - - part.edit.tab.advanced.ipn.commonSectionHeader - 부품 증가 번호 없는 제안 - - - - - part.edit.tab.advanced.ipn.partIncrementHeader - 숫자 증가 번호를 포함한 제안 - - - - - part.edit.tab.advanced.ipn.prefix.description.current-increment - 이 부품의 현재 IPN 지정 - - - - - part.edit.tab.advanced.ipn.prefix.description.increment - 동일한 부품 설명 기반의 다음 가능한 IPN 지정 - - - - - part.edit.tab.advanced.ipn.prefix_empty.direct_category - 직속 카테고리의 IPN 접두사가 비어 있습니다. "%name%" 카테고리에서 지정하세요 - - - - - part.edit.tab.advanced.ipn.prefix.direct_category - 직속 카테고리의 IPN 접두사 - - - - - part.edit.tab.advanced.ipn.prefix.direct_category.increment - 직속 카테고리의 IPN 접두사 및 부품별 증가 번호 - - - - - part.edit.tab.advanced.ipn.prefix.hierarchical.no_increment - 상위 접두사의 계층적 카테고리 순서를 따른 IPN 접두사 - - - - - part.edit.tab.advanced.ipn.prefix.hierarchical.increment - 상위 접두사의 계층적 카테고리 순서와 부품별 증가 번호를 포함한 IPN 접두사 - - - - - part.edit.tab.advanced.ipn.prefix.not_saved - 먼저 부품을 생성하고 카테고리에 배정하세요. 카테고리와 해당 IPN 접두사가 있으면 부품의 IPN을 자동으로 제안받을 수 있습니다 - - - - - part.edit.tab.part_lots - 재고 - - - - - part.edit.tab.attachments - 첨부파일 - - - - - part.edit.tab.orderdetails - 구매 정보 - - - - - part.edit.tab.specifications - 파라미터 - - - - - part.edit.tab.comment - 메모 - - - - - part.new.card_title - 새 [part] 생성 - - - - - part_lot.delete - 삭제 - - - - - part_lot.create - 재고 추가 - - - - - orderdetail.create - 판매처 추가 - - - - - pricedetails.edit.delete.confirm - 정말 이 가격을 삭제하시겠습니까? 되돌릴 수 없습니다. - - - - - orderdetails.edit.delete.confirm - 정말 이 판매처 정보를 삭제하시겠습니까? 되돌릴 수 없습니다! - - - - - part.info.title - [part] 상세 정보 - - - - - part.part_lots.label - 재고 - - - - - comment.label - 메모 - - - - - part.info.specifications - 파라미터 - - - - - attachment.labelp - 첨부파일 - - - - - vendor.partinfo.shopping_infos - 구매 정보 - - - - - vendor.partinfo.history - 이력 - - - - - tools.label - 도구 - - - - - extended_info.label - 확장 정보 - - - - - attachment.name - 이름 - - - - - attachment.attachment_type - 첨부파일 형식 - - - - - attachment.file_name - 파일 이름 - - - - - attachment.file_size - 파일 크기 - - - - - attachment.preview - 미리보기 사진 - - - - - attachment.download_local - 로컬 사본 다운로드 - - - - - new - - - user.creating_user - 이 [part]을(를) 생성한 사용자 - - - - - Unknown - 알 수 없음 - - - - - new - - - accessDenied - 접근 거부됨 - - - - - new - - - user.last_editing_user - 이 [part]을(를) 마지막으로 편집한 사용자 - - - - - part.isFavorite - 즐겨찾기 - - - - - part.minOrderAmount - 최소 주문 수량 - - - - - manufacturer.label - 제조사 - - - - - name.label - 이름 - - - - - new - - - part.back_to_info - 현재 버전으로 돌아가기 - - - - - description.label - 설명 - - - - - category.label - 카테고리 - - - - - instock.label - 재고량 - - - - - mininstock.label - 최소 재고량 - - - - - footprint.label - 풋프린트 - - - - - part.avg_price.label - 평균 가격 - - - - - part.supplier.name - 이름 - - - - - part.supplier.partnr - 부품 번호 - - - - - part.order.minamount - 최소 수량 - - - - - part.order.price - 가격 - - - - - part.order.single_price - 단가 - - - - - part_lots.description - 설명 - - - - - part_lots.storage_location - 보관 위치 - - - - - part_lots.amount - 수량 - - - - - part_lots.location_unknown - 보관 위치 알 수 없음 - - - - - part_lots.instock_unknown - 수량 알 수 없음 - - - - - part_lots.expiration_date - 유효 기간 - - - - - part_lots.is_expired - 기간 만료 - - - - - part_lots.need_refill - 보충 필요 - - - - - part.info.prev_picture - 이전 사진 - - - - - part.info.next_picture - 다음 사진 - - - - - part.mass.tooltip - 질량 - - - - - part.needs_review.badge - 검토 필요 - - - - - part.favorite.badge - 즐겨찾기 - - - - - part.obsolete.badge - 더 이상 판매되지 않음 - - - - - parameters.extracted_from_description - 설명에서 자동 추출됨 - - - - - parameters.auto_extracted_from_comment - 메모에서 자동 추출됨 - - - - - part.edit.btn - [part] 편집 - - - - - part.clone.btn - [part] 복제 - - - - - part.create.btn - 새 [part] 생성 - - - - - part.delete.confirm_title - 정말 이 [part]을(를) 삭제하시겠습니까? - - - - - part.delete.message - 이 [part]과(와) 관련된 모든 정보(첨부파일, 가격 정보 등)가 삭제됩니다. 되돌릴 수 없습니다! - - - - - part.delete - [part] 삭제 - - - - - parts_list.all.title - 모든 [[part]] - - - - - parts_list.category.title - [category]의 [[Part]] - - - - - parts_list.footprint.title - [footprint]의 [[Part]] - - - - - parts_list.manufacturer.title - [manufacturer]의 [[Part]] - - - - - parts_list.search.title - [[part]] 검색 - - - - - parts_list.storelocation.title - [[storage_location]]의 [[Part]] - - - - - parts_list.supplier.title - [supplier]의 [[Part]] - - - - - parts_list.tags.title - 태그가 있는 부품 - - - - - entity.info.common.tab - 일반 - - - - - entity.info.statistics.tab - 통계 - - - - - entity.info.attachments.tab - 첨부파일 - - - - - entity.info.parameters.tab - 파라미터 - - - - - entity.info.name - 이름 - - - - - entity.info.parent - 상위 요소 - - - - - entity.edit.btn - 편집 - - - - - entity.info.children_count - 하위 요소 수 - - - - - tfa.check.title - 2단계 인증 필요 - - - - - tfa.code.trusted_pc - 신뢰할 수 있는 컴퓨터입니다 (활성화하면 이 컴퓨터에서는 2단계 인증을 다시 묻지 않습니다) - - - - - login.btn - 로그인 - - - - - user.logout - 로그아웃 - - - - - tfa.check.code.label - 인증 앱 코드 - - - - - tfa.check.code.help - 인증 앱의 6자리 코드를 입력하세요. 인증 앱을 사용할 수 없는 경우 백업 코드 중 하나를 입력하세요. - - - - - login.title - 로그인 - - - - - login.card_title - 로그인 - - - - - login.username.label - 사용자 이름 - - - - - login.username.placeholder - 사용자 이름 - - - - - login.password.label - 비밀번호 - - - - - login.password.placeholder - 비밀번호 - - - - - login.rememberme - 로그인 상태 유지 (공용 컴퓨터에서는 사용하지 마세요) - - - - - pw_reset.password_forget - 사용자 이름/비밀번호를 잊으셨나요? - - - - - pw_reset.new_pw.header.title - 새 비밀번호 설정 - - - - - pw_reset.request.header.title - 새 비밀번호 요청 - - - - - tfa_u2f.http_warning - 안전하지 않은 HTTP 방식으로 이 페이지에 접속 중이므로 U2F가 작동하지 않을 가능성이 높습니다(Bad Request 오류 발생). 보안 키를 사용하려면 관리자에게 HTTPS 설정을 요청하세요. - - - - - r_u2f_two_factor.pressbutton - 보안 키를 연결하고 버튼을 눌러주세요! - - - - - tfa_u2f.add_key.title - 보안 키 추가 - - - - - tfa_u2f.explanation - U2F/FIDO 호환 보안 키(예: YubiKey, NitroKey)를 사용하면 사용자 친화적이고 안전한 2단계 인증이 가능합니다. 여기서 보안 키를 등록할 수 있으며, 2단계 인증이 필요할 때 키를 USB로 연결하거나 NFC로 기기에 대기만 하면 됩니다. - - - - - tfa_u2f.add_key.backup_hint - 키를 분실해도 접근할 수 있도록 두 번째 키를 백업으로 등록하고 안전한 곳에 보관하는 것을 권장합니다! - - - - - tfa_u2f.add_key.add_button - 보안 키 추가 - - - - - tfa_u2f.add_key.back_to_settings - 설정으로 돌아가기 - - - - - new - - - statistics.title - 통계 - - - - - new - - - statistics.parts - 부품 - - - - - new - - - statistics.data_structures - 데이터 구조 - - - - - new - - - statistics.attachments - 첨부파일 - - - - - new - - - statistics.property - 항목 - - - - - new - - - statistics.value - - - - - - new - - - statistics.distinct_parts_count - 고유 [[part]] 수 - - - - - new - - - statistics.parts_instock_sum - 모든 [[part]] 재고 합계 - - - - - new - - - statistics.parts_with_price - 가격 정보가 있는 [[part]] 수 - - - - - new - - - statistics.categories_count - [[category]] 수 - - - - - new - - - statistics.footprints_count - [[footprint]] 수 - - - - - new - - - statistics.manufacturers_count - [[manufacturer]] 수 - - - - - new - - - statistics.storelocations_count - [[storage_location]] 수 - - - - - new - - - statistics.suppliers_count - [[supplier]] 수 - - - - - new - - - statistics.currencies_count - [[currency]] 수 - - - - - new - - - statistics.measurement_units_count - [[measurement_unit]] 수 - - - - - new - - - statistics.devices_count - [[project]] 수 - - - - - new - - - statistics.attachment_types_count - [[attachment_type]] 수 - - - - - new - - - statistics.all_attachments_count - 전체 첨부파일 수 - - - - - new - - - statistics.user_uploaded_attachments_count - 사용자가 업로드한 첨부파일 수 - - - - - new - - - statistics.private_attachments_count - 비공개 첨부파일 수 - - - - - new - - - statistics.external_attachments_count - 외부 첨부파일(URL) 수 - - - - - tfa_backup.codes.title - 백업 코드 - - - - - tfa_backup.codes.explanation - 이 코드들을 출력하여 안전한 곳에 보관하세요! - - - - - tfa_backup.codes.help - 인증 앱이 설치된 기기를 더 이상 사용할 수 없는 경우(스마트폰 분실, 데이터 손실 등) 이 코드 중 하나로 계정에 접근하여 새 인증 앱을 설정할 수 있습니다. 각 코드는 한 번만 사용할 수 있으며, 사용한 코드는 지우는 것을 권장합니다. 이 코드에 접근할 수 있는 사람은 누구나 계정에 접근할 수 있으니 안전한 곳에 보관하세요. - - - - - tfa_backup.username - 사용자 이름 - - - - - tfa_backup.codes.page_generated_on - %date%에 생성된 페이지 - - - - - tfa_backup.codes.print - 인쇄 - - - - - tfa_backup.codes.copy_clipboard - 클립보드에 복사 - - - - - user.info.label - 사용자 정보 - - - - - user.firstName.label - 이름 - - - - - user.lastName.label - - - - - - user.email.label - 이메일 - - - - - user.department.label - 부서 - - - - - user.username.label - 사용자 이름 - - - - - group.label - 그룹 - - - - - user.permissions - 권한 - - - - - user.settings.label - 사용자 설정 - - - - - user_settings.data.label - 개인 정보 - - - - - user_settings.configuration.label - 설정 - - - - - user.settings.change_pw - 비밀번호 변경 - - - - - user.settings.2fa_settings - 2단계 인증 - - - - - tfa.settings.google.tab - 인증 앱 - - - - - tfa.settings.bakup.tab - 백업 코드 - - - - - tfa.settings.u2f.tab - 보안 키 (U2F) - - - - - tfa.settings.trustedDevices.tab - 신뢰하는 기기 - - - - - tfa_google.disable.confirm_title - 정말 인증 앱을 비활성화하시겠습니까? - - - - - tfa_google.disable.confirm_message - 인증 앱을 비활성화하면 모든 백업 코드가 삭제되므로 다시 출력해야 할 수 있습니다.<br> -또한 2단계 인증이 없으면 계정이 공격자로부터 잘 보호되지 않는다는 점에 유의하세요! - - - - - tfa_google.disabled_message - 인증 앱이 비활성화되었습니다! - - - - - tfa_google.step.download - 인증 앱을 다운로드하세요 (예: <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> 또는 <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>) - - - - - tfa_google.step.scan - 옆의 QR 코드를 앱으로 스캔하거나 데이터를 직접 입력하세요 - - - - - tfa_google.step.input_code - 생성된 코드를 아래 입력란에 입력하고 확인하세요 - - - - - tfa_google.step.download_backup - 백업 코드를 출력하여 안전한 곳에 보관하세요 - - - - - tfa_google.manual_setup - 수동 설정 - - - - - tfa_google.manual_setup.type - 유형 - - - - - tfa_google.manual_setup.username - 사용자 이름 - - - - - tfa_google.manual_setup.secret - 시크릿 - - - - - tfa_google.manual_setup.digit_count - 자리 수 - - - - - tfa_google.enabled_message - 인증 앱이 활성화되었습니다 - - - - - tfa_backup.disabled - 백업 코드가 비활성화되어 있습니다. 백업 코드를 사용하려면 인증 앱을 설정하세요. - - - - - tfa_backup.explanation - 인증 앱이 설치된 기기를 분실해도 이 백업 코드로 계정에 접근할 수 있습니다. 코드를 출력하여 안전한 곳에 보관하세요. - - - - - tfa_backup.reset_codes.confirm_title - 정말 코드를 재설정하시겠습니까? - - - - - tfa_backup.reset_codes.confirm_message - 이전 코드가 모두 삭제되고 새 코드가 생성됩니다. 되돌릴 수 없습니다. 새 코드를 출력하여 안전한 곳에 보관하세요! - - - - - tfa_backup.enabled - 백업 코드 활성화됨 - - - - - tfa_backup.show_codes - 백업 코드 보기 - - - - - tfa_u2f.table_caption - 등록된 보안 키 - - - - - tfa_u2f.delete_u2f.confirm_title - 정말 이 보안 키를 제거하시겠습니까? - - - - - tfa_u2f.delete_u2f.confirm_message - 이 키를 제거하면 더 이상 이 키로 로그인할 수 없습니다. 남은 보안 키가 없으면 2단계 인증이 비활성화됩니다. - - - - - tfa_u2f.keys.name - 키 이름 - - - - - tfa_u2f.keys.added_date - 등록일 - - - - - tfa_u2f.key_delete - 키 삭제 - - - - - tfa_u2f.no_keys_registered - 아직 등록된 키가 없습니다. - - - - - tfa_u2f.add_new_key - 새 보안 키 등록 - - - - - tfa_trustedDevices.explanation - 2단계 인증 확인 시 현재 컴퓨터를 신뢰할 수 있는 기기로 지정하면 이 컴퓨터에서 더 이상 2단계 인증을 묻지 않습니다. -실수로 지정했거나 더 이상 신뢰할 수 없는 컴퓨터가 있다면 여기서 <i>모든 </i>컴퓨터의 상태를 재설정할 수 있습니다. - - - - - tfa_trustedDevices.invalidate.confirm_title - 정말 신뢰하는 컴퓨터를 모두 제거하시겠습니까? - - - - - tfa_trustedDevices.invalidate.confirm_message - 모든 컴퓨터에서 2단계 인증을 다시 수행해야 합니다. 2단계 인증 기기를 준비해 두세요. - - - - - tfa_trustedDevices.invalidate.btn - 신뢰하는 기기 재설정 - - - - - sidebar.toggle - 사이드바 전환 - - - - - navbar.scanner.link - 스캐너 - - - - - user.loggedin.label - 로그인 계정 - - - - - user.login - 로그인 - - - - - ui.toggle_darkmode - 다크 모드 - - - - - user.language_select - 언어 변경 - - - - - search.options.label - 검색 옵션 - - - - - tags.label - 태그 - - - - - storelocation.label - 보관 위치 - - - - - ordernumber.label.short - 판매처 부품번호 - - - - - supplier.label - 판매처 - - - - - search.regexmatching - 정규식 검색 - - - - - project.labelp - 프로젝트 - - - - - actions - 동작 - - - - - datasource - 데이터 소스 - - - - - manufacturer.labelp - 제조사 - - - - - supplier.labelp - 판매처 - - - - - attachment.download_failed - 외부 첨부파일 다운로드에 실패했습니다. - - - - - entity.edit_flash - 변경 사항이 저장되었습니다. - - - - - entity.edit_flash.invalid - 변경 사항을 저장할 수 없습니다. 입력을 확인하세요! - - - - - entity.created_flash - 요소가 생성되었습니다. - - - - - entity.created_flash.invalid - 요소를 생성할 수 없습니다. 입력을 확인하세요! - - - - - attachment_type.deleted - 요소가 삭제되었습니다! - - - - - csfr_invalid - CSRF 토큰이 유효하지 않습니다. 페이지를 새로고침하거나, 이 메시지가 계속되면 관리자에게 문의하세요. - - - - - label_generator.no_entities_found - 범위와 일치하는 항목이 없습니다. - - - - - new - - - log.undo.target_not_found - 대상 요소를 DB에서 찾을 수 없습니다! - - - - - new - - - log.undo.revert_success - 해당 시점으로 되돌렸습니다. - - - - - new - - - log.undo.element_undelete_success - 요소 삭제를 취소했습니다. - - - - - new - - - log.undo.element_element_already_undeleted - 요소가 이미 복원되어 있습니다! - - - - - new - - - log.undo.element_delete_success - 요소가 삭제되었습니다. - - - - - new - - - log.undo.element.element_already_delted - 요소가 이미 삭제되어 있습니다! - - - - - new - - - log.undo.element_change_undone - 변경이 취소되었습니다! - - - - - new - - - log.undo.do_undelete_before - 이 변경을 취소하려면 먼저 요소를 복원해야 합니다! - - - - - new - - - log.undo.log_type_invalid - 이 로그 항목은 취소할 수 없습니다! - - - - - part.edited_flash - 변경 사항이 저장되었습니다! - - - - - part.deleted - 부품이 삭제되었습니다. - - - - - part.created_flash - 부품이 생성되었습니다! - - - - - part.created_flash.invalid - 생성 중 오류 발생: 입력을 확인하세요! - - - - - scan.qr_not_found - 해당 바코드에 대한 요소를 찾을 수 없습니다. - - - - - scan.format_unknown - 알 수 없는 형식입니다! - - - - - scan.qr_success - 요소를 찾았습니다. - - - - - pw_reset.user_or_email - 사용자 이름 / 이메일 - - - - - pw_reset.request.success - 재설정 요청이 완료되었습니다! 이메일에서 다음 안내를 확인하세요. - - - - - pw_reset.username - 사용자 이름 - - - - - pw_reset.token - 토큰 - - - - - pw_reset.new_pw.error - 사용자 이름 또는 토큰이 유효하지 않습니다! 입력을 확인하세요. - - - - - pw_reset.new_pw.success - 비밀번호가 재설정되었습니다. 새 비밀번호로 로그인할 수 있습니다. - - - - - user.edit.reset_success - 모든 2단계 인증 방법이 비활성화되었습니다. - - - - - tfa_backup.no_codes_enabled - 활성화된 백업 코드가 없습니다! - - - - - tfa_u2f.u2f_delete.not_existing - 해당 ID의 보안 키가 존재하지 않습니다. - - - - - tfa_u2f.u2f_delete.access_denied - 다른 사용자의 보안 키는 삭제할 수 없습니다! - - - - - tfa.u2f.u2f_delete.success - 보안 키가 제거되었습니다. - - - - - tfa_trustedDevice.invalidate.success - 신뢰하는 기기가 재설정되었습니다. - - - - - user.settings.saved_flash - 설정이 저장되었습니다! - - - - - user.settings.pw_changed_flash - 비밀번호가 변경되었습니다! - - - - - user.settings.2fa.google.activated - 인증 앱이 활성화되었습니다. - - - - - user.settings.2fa.google.disabled - 인증 앱이 비활성화되었습니다. - - - - - user.settings.2fa.backup_codes.regenerated - 새 백업 코드가 생성되었습니다. - - - - - attachment.table.filesize - 파일 크기 - - - - - true - - - - - - false - 거짓 - - - - - log.target_deleted - 삭제됨 - - - - - new - - - log.undo.undelete - 요소 복원 - - - - - new - - - log.undo.undo - 변경 취소 - - - - - new - - - log.undo.revert - 요소를 이 시점으로 되돌리기 - - - - - log.id - ID - - - - - log.timestamp - 시각 - - - - - log.type - 이벤트 - - - - - log.level - 수준 - - - - - log.user - 사용자 - - - - - log.target_type - 대상 유형 - - - - - log.target - 대상 - - - - - new - - - log.extra - 추가 정보 - - - - - part.table.name - 이름 - - - - - part.table.si_value - SI 값 - - - - - part.table.id - ID - - - - - part.table.description - 설명 - - - - - part.table.category - 카테고리 - - - - - part.table.footprint - 풋프린트 - - - - - part.table.manufacturer - 제조사 - - - - - part.table.storeLocations - 보관 위치 - - - - - part.table.amount - 수량 - - - - - part.table.minamount - 최소 수량 - - - - - part.table.partUnit - 측정 단위 - - - - - part.table.partCustomState - 사용자 정의 부품 상태 - - - - - part.table.addedDate - 생성일 - - - - - part.table.lastModified - 마지막 수정일 - - - - - part.table.needsReview - 검토 필요 - - - - - part.table.favorite - 즐겨찾기 - - - - - part.table.manufacturingStatus - 상태 - - - - - m_status.unknown - 알 수 없음 - - - - - m_status.announced - 출시 예정 - - - - - m_status.active - 생산 중 - - - - - m_status.nrfnd - 신규 설계에 비권장 - - - - - m_status.eol - 단종 예정 - - - - - m_status.discontinued - 단종 - - - - - part.table.mpn - MPN - - - - - part.table.mass - 질량 - - - - - part.table.tags - 태그 - - - - - part.table.attachments - 첨부파일 - - - - - part.table.eda_status - EDA - - - - - eda.status.symbol_set - KiCad 심볼 설정됨 - - - - - eda.status.footprint_set - KiCad 풋프린트 설정됨 - - - - - eda.status.reference_set - 참조 접두사 설정됨 - - - - - eda.status.complete - EDA 필드 완료 (심볼, 풋프린트, 참조) - - - - - eda.status.partial - EDA 필드 일부 설정됨 - - - - - flash.login_successful - 로그인 성공 - - - - - JSON - JSON - - - - - XML - XML - - - - - CSV - CSV - - - - - YAML - YAML - - - - - import.abort_on_validation.help - 이 옵션을 활성화하면 유효하지 않은 데이터가 발견될 때 전체 가져오기 과정이 중단됩니다. 선택하지 않으면 유효하지 않은 데이터는 무시하고 나머지 요소를 가져옵니다. - - - - - import.csv_separator - CSV 구분자 - - - - - parent.label - 상위 요소 - - - - - import.file - 파일 - - - - - import.preserve_children - 가져오기 시 하위 요소 유지 - - - - - import.abort_on_validation - 유효하지 않은 데이터 발견 시 중단 - - - - - import.btn - 가져오기 - - - - - attachment.edit.secure_file.help - 비공개로 표시된 첨부파일은 적절한 권한을 가진 인증된 사용자만 접근할 수 있습니다. 활성화하면 썸네일이 생성되지 않고 파일 접근 성능이 저하됩니다. - - - - - attachment.edit.url.help - 외부 파일 URL을 지정하거나, 내장 리소스(예: 풋프린트) 검색에 사용할 키워드를 입력할 수 있습니다 - - - - - attachment.edit.name - 이름 - - - - - attachment.edit.attachment_type - 첨부파일 형식 - - - - - attachment.edit.show_in_table - 테이블에 표시 - - - - - attachment.edit.secure_file - 비공개 첨부파일 - - - - - attachment.edit.url - URL - - - - - attachment.edit.download_url - 외부 파일 다운로드 - - - - - attachment.edit.file - 파일 업로드 - - - - - part.label - 부품 - - - - - part_lot.label - 부품 로트 - - - - - label_options.barcode_type.none - 없음 - - - - - label_options.barcode_type.qr - QR 코드 (권장) - - - - - label_options.barcode_type.code128 - Code 128 (권장) - - - - - label_options.barcode_type.code39 - Code 39 (권장) - - - - - label_options.barcode_type.code93 - Code 93 - - - - - label_options.barcode_type.datamatrix - Datamatrix - - - - - label_options.lines_mode.html - 플레이스홀더 - - - - - label.options.lines_mode.twig - Twig - - - - - label_options.lines_mode.help - 여기서 Twig를 선택하면 내용 필드가 Twig 템플릿으로 해석됩니다. 자세한 내용은 <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig 문서</a>와 <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a>를 참고하세요. - - - - - label_options.page_size.label - 라벨 크기 - - - - - label_options.supported_elements.label - 대상 유형 - - - - - label_options.barcode_type.label - 바코드 - - - - - label_profile.lines.label - 내용 - - - - - label_options.additional_css.label - 추가 스타일 (CSS) - - - - - label_options.lines_mode.label - 파서 모드 - - - - - label_options.width.placeholder - 너비 - - - - - label_options.height.placeholder - 높이 - - - - - label_generator.target_id.range_hint - 여러 ID(예: 1,2,3) 또는 범위(1-3)를 지정하여 여러 요소의 라벨을 한 번에 생성할 수 있습니다. - - - - - label_generator.target_id.label - 대상 ID - - - - - label_generator.update - 업데이트 - - - - - scan_dialog.input - 입력 - - - - - scan_dialog.submit - 제출 - - - - - parameters.name.placeholder - 예: DC 전류 이득 - - - - - parameters.symbol.placeholder - 예: h_{FE} - - - - - parameters.text.placeholder - 예: 시험 조건 - - - - - parameters.max.placeholder - 예: 350 - - - - - parameters.min.placeholder - 예: 100 - - - - - parameters.typical.placeholder - 예: 200 - - - - - parameters.unit.placeholder - 예: V - - - - - parameter.group.placeholder - 예: 기술 사양 - - - - - orderdetails.edit.supplierpartnr - 판매처 부품 번호 - - - - - orderdetails.edit.supplier - 판매처 - - - - - orderdetails.edit.url - 판매 페이지 링크 - - - - - orderdetails.edit.obsolete - 더 이상 판매되지 않음 - - - - - orderdetails.edit.eda_visibility - EDA에 표시 - - - - - orderdetails.edit.supplierpartnr.placeholder - 예: BC 547 - - - - - part.edit.name - 이름 - - - - - part.edit.description - 설명 - - - - - part.edit.mininstock - 최소 재고 - - - - - part.edit.category - 카테고리 - - - - - part.edit.footprint - 풋프린트 - - - - - part.edit.tags - 태그 - - - - - part.edit.manufacturer.label - 제조사 - - - - - part.edit.manufacturer_url.label - 제품 페이지 링크 - - - - - part.edit.mpn - 제조사 부품 번호 - - - - - part.edit.manufacturing_status - 생산 상태 - - - - - part.edit.needs_review - 검토 필요 - - - - - part.edit.is_favorite - 즐겨찾기 - - - - - part.edit.mass - 질량 - - - - - part.edit.partUnit - 측정 단위 - - - - - part.edit.partCustomState - 사용자 정의 부품 상태 - - - - - part.edit.comment - 메모 - - - - - part.edit.master_attachment - 미리보기 이미지 - - - - - part.edit.save - 변경 사항 저장 - - - - - part.edit.reset - 변경 사항 초기화 - - - - - part.edit.name.placeholder - 예: BC547 - - - - - part.edit.description.placeholder - 예: NPN 45V, 0.1A, 0.5W - - - - - part.editmininstock.placeholder - 예: 1 - - - - - part_lot.edit.description - 설명 - - - - - part_lot.edit.location - 보관 위치 - - - - - part_lot.edit.amount - 수량 - - - - - part_lot.edit.instock_unknown - 수량 알 수 없음 - - - - - part_lot.edit.needs_refill - 보충 필요 - - - - - part_lot.edit.expiration_date - 유효 기간 - - - - - part_lot.edit.comment - 메모 - - - - - perm.group.other - 기타 - - - - - tfa_google.enable - 인증 앱 활성화 - - - - - tfa_google.disable - 인증 앱 비활성화 - - - - - google_confirmation - 확인 코드 - - - - - user.timezone.label - 시간대 - - - - - user.currency.label - 기본 통화 - - - - - save - 변경 사항 적용 - - - - - reset - 변경 사항 취소 - - - - - user_settings.language.placeholder - 서버 기본 언어 - - - - - user_settings.timezone.placeholder - 서버 기본 시간대 - - - - - attachment.label - 첨부파일 - - - - - attachment_type.label - 첨부파일 형식 - - - - - project.label - 프로젝트 - - - - - measurement_unit.label - 측정 단위 - - - - - part_custom_state.label - 사용자 정의 부품 상태 - - - - - currency.label - 통화 - - - - - orderdetail.label - 주문 정보 - - - - - pricedetail.label - 가격 정보 - - - - - user.label - 사용자 - - - - - parameter.label - 파라미터 - - - - - label_profile.label - 라벨 프로필 - - - - - new - - - log.element_deleted.old_name.unknown - 알 수 없음 - - - - - markdown.loading - 마크다운을 불러오는 중입니다. 이 메시지가 사라지지 않으면 페이지를 새로고침해 보세요. - - - - - pw_reset.email.subject - Part-DB 계정 비밀번호 재설정 - - - - - tree.tools.tools - 도구 - - - - - tree.tools.edit - 편집 - - - - - tree.tools.show - 보기 - - - - - tree.tools.system - 시스템 - - - - - tree.tools.tools.label_dialog - 라벨 생성기 - - - - - tree.tools.tools.label_scanner - 스캐너 - - - - - tree.tools.edit.attachment_types - [[Attachment_type]] - - - - - tree.tools.edit.categories - [[Category]] - - - - - tree.tools.edit.projects - [[Project]] - - - - - tree.tools.edit.suppliers - [[Supplier]] - - - - - tree.tools.edit.manufacturer - [[Manufacturer]] - - - - - tree.tools.edit.storelocation - [[Storage_location]] - - - - - tree.tools.edit.footprint - [[Footprint]] - - - - - tree.tools.edit.currency - [[Currency]] - - - - - tree.tools.edit.measurement_unit - [[Measurement_unit]] - - - - - tree.tools.edit.part_custom_state - [[Part_custom_state]] - - - - - tree.tools.edit.label_profile - [[Label_profile]] - - - - - tree.tools.edit.part - 새 [part] - - - - - tree.tools.show.all_parts - 모든 [[part]] 보기 - - - - - tree.tools.show.all_attachments - 첨부파일 - - - - - new - - - tree.tools.show.statistics - 통계 - - - - - tree.tools.system.users - [[User]] - - - - - tree.tools.system.groups - [[Group]] - - - - - new - - - tree.tools.system.event_log - 이벤트 로그 - - - - - entity.tree.new - 새 요소 - - - - - obsolete - - - attachment.edit - 편집 - - - - - obsolete - - - barcode.scan - 바코드 스캔 - - - - - obsolete - - - user.theme.label - 테마 - - - - - obsolete - - - user_settings.theme.placeholder - 서버 기본 테마 - - - - - new - obsolete - - - log.user_login.ip - IP - - - - - new - obsolete - - - log.undo_mode.undo - 변경 취소됨 - - - - - new - obsolete - - - log.undo_mode.revert - 요소 되돌림 - - - - - new - obsolete - - - log.element_created.original_instock - 이전 재고 - - - - - new - obsolete - - - log.element_deleted.old_name - 이전 이름 - - - - - new - obsolete - - - log.element_edited.changed_fields - 변경된 필드 - - - - - new - obsolete - - - log.instock_changed.comment - 메모 - - - - - new - obsolete - - - log.collection_deleted.deleted - 삭제된 요소 - - - - - obsolete - obsolete - - - go.exclamation - 이동! - - - - - obsolete - obsolete - - - language.english - 영어 - - - - - obsolete - obsolete - - - language.german - 독일어 - - - - - obsolete - obsolete - - - flash.password_change_needed - 비밀번호 변경이 필요합니다! - - - - - obsolete - obsolete - - - attachment.table.type - 첨부파일 형식 - - - - - obsolete - obsolete - - - attachment.table.element - 연결된 요소 - - - - - obsolete - obsolete - - - attachment.edit.isPicture - 사진 여부 - - - - - obsolete - obsolete - - - attachment.edit.is3DModel - 3D 모델 여부 - - - - - obsolete - obsolete - - - attachment.edit.isBuiltin - 내장 여부 - - - - - obsolete - obsolete - - - category.edit.default_comment.placeholder - 예: 스위칭 용도에 적합 - - - - - obsolete - obsolete - - - tfa_backup.regenerate_codes - 새 백업 코드 생성 - - - - - obsolete - obsolete - - - validator.noneofitschild.self - 요소는 자기 자신의 상위가 될 수 없습니다. - - - - - obsolete - obsolete - - - validator.noneofitschild.children - 상위 요소는 자신의 하위 요소가 될 수 없습니다. - - - - - obsolete - obsolete - - - validator.part_lot.location_full - 이 [storage_location]은(는) 가득 찬 것으로 표시되어 새 [part]을(를) 추가할 수 없습니다. - - - - - obsolete - obsolete - - - validator.part_lot.only_existing - 이 [storage_location]은(는) "기존 항목만"으로 표시되어 새 [part]을(를) 추가할 수 없습니다. - - - - - obsolete - obsolete - - - validator.part_lot.single_part - 이 [storage_location]은(는) "단일 [part]"로 표시되어 새 [part]을(를) 추가할 수 없습니다. - - - - - obsolete - obsolete - - - m_status.active.help - 이 부품은 현재 및 가까운 장래에 생산됩니다 - - - - - obsolete - obsolete - - - m_status.announced.help - 이 부품은 발표되었지만 아직 판매되지 않습니다. - - - - - obsolete - obsolete - - - m_status.discontinued.help - 이 부품은 단종되어 더 이상 생산되지 않습니다. - - - - - obsolete - obsolete - - - m_status.eol.help - 이 제품은 수명 종료 단계에 도달했으며 곧 생산이 중단됩니다. - - - - - obsolete - obsolete - - - m_status.nrfnd.help - 이 부품은 현재 생산 중이지만 신규 설계에는 권장되지 않습니다. - - - - - obsolete - obsolete - - - m_status.unknown.help - 이 부품의 생산 상태를 알 수 없습니다. - - - - - obsolete - obsolete - - - flash.success - 성공 - - - - - obsolete - obsolete - - - flash.error - 오류 - - - - - obsolete - obsolete - - - flash.warning - 경고 - - - - - obsolete - obsolete - - - flash.notice - 알림 - - - - - obsolete - obsolete - - - flash.info - 정보 - - - - - obsolete - obsolete - - - validator.noLockout - 실수로 스스로를 잠그는 것을 방지하기 위해, 자신의 "권한 변경" 권한은 회수할 수 없습니다. - - - - - obsolete - obsolete - - - attachment_type.edit.filetype_filter - 허용되는 파일 확장자 - - - - - obsolete - obsolete - - - attachment_type.edit.filetype_filter.help - 이 첨부파일 형식에 업로드되는 파일이 가져야 하는 파일 확장자 또는 MIME 형식을 쉼표로 구분하여 지정할 수 있습니다. 지원되는 모든 이미지 파일을 허용하려면 image/*를 사용하세요. - - - - - obsolete - obsolete - - - attachment_type.edit.filetype_filter.placeholder - 예: .txt, application/pdf, image/* - - - - - obsolete - obsolete - - - part.name.placeholder - 예: BC547 - - - - - obsolete - obsolete - - - entity.edit.not_selectable - 선택 불가 - - - - - obsolete - obsolete - - - entity.edit.not_selectable.help - 이 옵션을 활성화하면 이 요소를 [part] 속성에 지정할 수 없습니다. 그룹화 용도로만 사용하는 요소에 유용합니다. - - - - - obsolete - obsolete - - - bbcode.hint - 여기서 BBCode를 사용할 수 있습니다 (예: [b]굵게[/b]) - - - - - obsolete - obsolete - - - entity.create - 요소 생성 - - - - - obsolete - obsolete - - - entity.edit.save - 저장 - - - - - obsolete - obsolete - - - category.edit.disable_footprints - [[footprint]] 비활성화 - - - - - obsolete - obsolete - - - category.edit.disable_footprints.help - 이 옵션을 활성화하면 이 [category]에 속한 모든 [[part]]에서 [footprint] 속성이 비활성화됩니다. - - - - - obsolete - obsolete - - - category.edit.disable_manufacturers - [[manufacturer]] 비활성화 - - - - - obsolete - obsolete - - - category.edit.disable_manufacturers.help - 이 옵션을 활성화하면 이 [category]에 속한 모든 [[part]]에서 [manufacturer] 속성이 비활성화됩니다. - - - - - obsolete - obsolete - - - category.edit.disable_autodatasheets - 자동 데이터시트 링크 비활성화 - - - - - obsolete - obsolete - - - category.edit.disable_autodatasheets.help - 이 옵션을 활성화하면 이 [category]에 속한 [[part]]에 대해 데이터시트 자동 링크가 생성되지 않습니다. - - - - - obsolete - obsolete - - - category.edit.disable_properties - 속성 비활성화 - - - - - obsolete - obsolete - - - category.edit.disable_properties.help - 이 옵션을 활성화하면 이 [category]에 속한 [[part]]의 [part] 속성이 비활성화됩니다. - - - - - obsolete - obsolete - - - category.edit.partname_hint - 부품 이름 힌트 - - - - - obsolete - obsolete - - - category.edit.partname_hint.placeholder - 예: 100nF - - - - - obsolete - obsolete - - - category.edit.partname_regex - 이름 필터 - - - - - category.edit.part_ipn_prefix - 부품 IPN 접두사 - - - - - obsolete - obsolete - - - category.edit.default_description - 기본 설명 - - - - - obsolete - obsolete - - - category.edit.default_description.placeholder - 예: 커패시터, 10mm x 10mm, SMD - - - - - obsolete - obsolete - - - category.edit.default_comment - 기본 메모 - - - - - obsolete - obsolete - - - company.edit.address - 주소 - - - - - obsolete - obsolete - - - company.edit.address.placeholder - 예: 서울시 예시로 314 -예시빌딩 - - - - - obsolete - obsolete - - - company.edit.phone_number - 전화번호 - - - - - obsolete - obsolete - - - company.edit.phone_number.placeholder - +82 2 1234 5678 - - - - - obsolete - obsolete - - - company.edit.fax_number - 팩스 번호 - - - - - obsolete - obsolete - - - company.edit.email - 이메일 - - - - - obsolete - obsolete - - - company.edit.email.placeholder - 예: contact@foo.bar - - - - - obsolete - obsolete - - - company.edit.website - 웹사이트 - - - - - obsolete - obsolete - - - company.edit.website.placeholder - https://www.foo.bar - - - - - obsolete - obsolete - - - company.edit.auto_product_url - 제품 URL - - - - - obsolete - obsolete - - - company.edit.auto_product_url.help - 이 필드는 회사 페이지에서 부품 링크를 결정하는 데 사용됩니다. %PARTNUMBER%는 주문 번호로 대체됩니다. - - - - - obsolete - obsolete - - - company.edit.auto_product_url.placeholder - https://foo.bar/product/%PARTNUMBER% - - - - - obsolete - obsolete - - - currency.edit.iso_code - ISO 코드 - - - - - obsolete - obsolete - - - currency.edit.exchange_rate - 환율 - - - - - obsolete - obsolete - - - footprint.edit.3d_model - 3D 모델 - - - - - obsolete - obsolete - - - mass_creation.lines - 입력 - - - - - obsolete - obsolete - - - mass_creation.lines.placeholder - 요소 1 - 요소 1.1 - 요소 1.1.1 - 요소 1.2 -요소 2 -요소 3 - -요소 1 -> 요소 1.1 -요소 1 -> 요소 1.2 - - - - - obsolete - obsolete - - - entity.mass_creation.btn - 생성 - - - - - obsolete - obsolete - - - measurement_unit.edit.is_integer - 정수 단위 - - - - - obsolete - obsolete - - - measurement_unit.edit.is_integer.help - 이 옵션을 활성화하면 이 단위의 모든 값이 정수로 반올림됩니다. - - - - - obsolete - obsolete - - - measurement_unit.edit.use_si_prefix - SI 접두사 사용 - - - - - obsolete - obsolete - - - measurement_unit.edit.use_si_prefix.help - 이 옵션을 활성화하면 값이 SI 접두사와 함께 표시됩니다 (예: 1200g 대신 1.2kg) - - - - - obsolete - obsolete - - - measurement_unit.edit.unit_symbol - 단위 기호 - - - - - obsolete - obsolete - - - measurement_unit.edit.unit_symbol.placeholder - 예: m - - - - - obsolete - obsolete - - - storelocation.edit.is_full.label - 보관 위치 가득 참 - - - - - obsolete - obsolete - - - storelocation.edit.is_full.help - 이 옵션을 선택하면 이 보관 위치에 새 [[part]]을(를) 추가하거나 기존 [[part]]의 수량을 늘릴 수 없습니다. - - - - - obsolete - obsolete - - - storelocation.limit_to_existing.label - 기존 [[part]]로 제한 - - - - - obsolete - obsolete - - - storelocation.limit_to_existing.help - 이 옵션을 활성화하면 이 보관 위치에 새 [[part]]을(를) 추가할 수 없지만, 기존 [[part]]의 수량은 늘릴 수 있습니다. - - - - - obsolete - obsolete - - - storelocation.only_single_part.label - 단일 [part]만 - - - - - obsolete - obsolete - - - storelocation.only_single_part.help - 이 옵션을 활성화하면 이 [storage_location]에 단일 [part](수량 무관)만 지정할 수 있습니다. 소형 SMD 상자나 피더에 유용합니다. - - - - - obsolete - obsolete - - - storelocation.storage_type.label - 보관 유형 - - - - - obsolete - obsolete - - - storelocation.storage_type.help - 여기서 [measurement_unit]을(를) 선택하면, 해당 단위를 가진 [part]만 이 [storage_location]에 지정할 수 있습니다 - - - - - obsolete - obsolete - - - supplier.edit.default_currency - 기본 통화 - - - - - obsolete - obsolete - - - supplier.shipping_costs.label - 배송비 - - - - - obsolete - obsolete - - - user.username.placeholder - 예: hong.gd - - - - - obsolete - obsolete - - - user.firstName.placeholder - 예: 길동 - - - - - obsolete - obsolete - - - user.lastName.placeholder - 예: 홍 - - - - - obsolete - obsolete - - - user.email.placeholder - hong.gd@ecorp.com - - - - - obsolete - obsolete - - - user.department.placeholder - 예: 개발팀 - - - - - obsolete - obsolete - - - user.settings.pw_new.label - 새 비밀번호 - - - - - obsolete - obsolete - - - user.settings.pw_confirm.label - 새 비밀번호 확인 - - - - - obsolete - obsolete - - - user.edit.needs_pw_change - 사용자 비밀번호 변경 필요 - - - - - obsolete - obsolete - - - user.edit.user_disabled - 사용자 비활성화 (로그인 불가) - - - - - obsolete - obsolete - - - user.create - 사용자 생성 - - - - - obsolete - obsolete - - - user.edit.save - 저장 - - - - - obsolete - obsolete - - - entity.edit.reset - 변경 사항 취소 - - - - - obsolete - obsolete - - - part.add.btn - 추가 - - - - - obsolete - obsolete - - - manufacturer_url.label - 제조사 링크 - - - - - obsolete - obsolete - - - perm.group.parts - 부품 - - - - - obsolete - obsolete - - - perm.group.structures - 데이터 구조 - - - - - obsolete - obsolete - - - perm.group.system - 시스템 - - - - - obsolete - obsolete - - - perm.read - 보기 - - - - - obsolete - obsolete - - - perm.edit - 편집 - - - - - obsolete - obsolete - - - perm.create - 생성 - - - - - obsolete - obsolete - - - perm.part.move - 카테고리 변경 - - - - - obsolete - obsolete - - - perm.delete - 삭제 - - - - - obsolete - obsolete - - - perm.part.search - 검색 - - - - - obsolete - obsolete - - - perm.part.all_parts - 모든 [[part]] 목록 - - - - - obsolete - obsolete - - - perm.part.no_price_parts - 가격 정보가 없는 [[part]] 목록 - - - - - obsolete - obsolete - - - perm.part.obsolete_parts - 단종된 [[part]] 목록 - - - - - obsolete - obsolete - - - perm.part.unknown_instock_parts - 재고 미상 부품 보기 - - - - - obsolete - obsolete - - - perm.part.change_favorite - 즐겨찾기 상태 변경 - - - - - obsolete - obsolete - - - perm.part.show_favorite - 즐겨찾기 부품 목록 - - - - - obsolete - obsolete - - - perm.part.show_last_edit_parts - 최근 편집/추가된 부품 보기 - - - - - obsolete - obsolete - - - perm.part.show_users - 마지막 수정 사용자 보기 - - - - - obsolete - obsolete - - - perm.part.show_history - 이력 보기 - - - - - obsolete - obsolete - - - perm.part.name - 이름 - - - - - obsolete - obsolete - - - perm.part.description - 설명 - - - - - obsolete - obsolete - - - perm.part.instock - 재고량 - - - - - obsolete - obsolete - - - perm.part.mininstock - 최소 재고량 - - - - - obsolete - obsolete - - - perm.part.comment - 메모 - - - - - obsolete - obsolete - - - perm.part.storelocation - 보관 위치 - - - - - obsolete - obsolete - - - perm.part.manufacturer - 제조사 - - - - - obsolete - obsolete - - - perm.part.orderdetails - 주문 정보 - - - - - obsolete - obsolete - - - perm.part.prices - 가격 - - - - - obsolete - obsolete - - - perm.part.attachments - 파일 첨부 - - - - - obsolete - obsolete - - - perm.part.order - 주문 - - - - - obsolete - obsolete - - - perm.move - 이동 - - - - - obsolete - obsolete - - - perm.list_parts - 부품 목록 - - - - - obsolete - obsolete - - - perm.tools.import - 가져오기 - - - - - obsolete - obsolete - - - perm.tools.labels - 라벨 - - - - - obsolete - obsolete - - - perm.tools.calculator - 저항 계산기 - - - - - obsolete - obsolete - - - perm.tools.footprints - 풋프린트 - - - - - obsolete - obsolete - - - perm.tools.ic_logos - IC 로고 - - - - - obsolete - obsolete - - - perm.tools.statistics - 통계 - - - - - obsolete - obsolete - - - perm.edit_permissions - 권한 편집 - - - - - obsolete - obsolete - - - perm.users.edit_user_name - 사용자 이름 편집 - - - - - obsolete - obsolete - - - perm.users.edit_change_group - 그룹 변경 - - - - - obsolete - obsolete - - - perm.users.edit_infos - 정보 편집 - - - - - obsolete - obsolete - - - perm.users.edit_permissions - 권한 편집 - - - - - obsolete - obsolete - - - perm.users.set_password - 비밀번호 설정 - - - - - obsolete - obsolete - - - perm.users.change_user_settings - 사용자 설정 변경 - - - - - obsolete - obsolete - - - perm.database.see_status - 상태 보기 - - - - - obsolete - obsolete - - - perm.database.update_db - DB 업데이트 - - - - - obsolete - obsolete - - - perm.database.read_db_settings - DB 설정 읽기 - - - - - obsolete - obsolete - - - perm.database.write_db_settings - DB 설정 쓰기 - - - - - obsolete - obsolete - - - perm.config.read_config - 설정 읽기 - - - - - obsolete - obsolete - - - perm.config.edit_config - 설정 편집 - - - - - obsolete - obsolete - - - perm.config.server_info - 서버 정보 - - - - - obsolete - obsolete - - - perm.config.use_debug - 디버그 도구 사용 - - - - - obsolete - obsolete - - - perm.show_logs - 로그 보기 - - - - - obsolete - obsolete - - - perm.delete_logs - 로그 삭제 - - - - - obsolete - obsolete - - - perm.self.edit_infos - 정보 편집 - - - - - obsolete - obsolete - - - perm.self.edit_username - 사용자 이름 편집 - - - - - obsolete - obsolete - - - perm.self.show_permissions - 권한 보기 - - - - - obsolete - obsolete - - - perm.self.show_logs - 자신의 로그 항목 보기 - - - - - obsolete - obsolete - - - perm.self.create_labels - 라벨 생성 - - - - - obsolete - obsolete - - - perm.self.edit_options - 옵션 편집 - - - - - obsolete - obsolete - - - perm.self.delete_profiles - 프로필 삭제 - - - - - obsolete - obsolete - - - perm.self.edit_profiles - 프로필 편집 - - - - - obsolete - obsolete - - - perm.part.tools - 도구 - - - - - obsolete - obsolete - - - perm.groups - 그룹 - - - - - obsolete - obsolete - - - perm.users - 사용자 - - - - - obsolete - obsolete - - - perm.database - 데이터베이스 - - - - - obsolete - obsolete - - - perm.config - 설정 - - - - - obsolete - obsolete - - - perm.system - 시스템 - - - - - obsolete - obsolete - - - perm.self - 내 계정 - - - - - obsolete - obsolete - - - perm.labels - 라벨 - - - - - obsolete - obsolete - - - perm.part.category - 카테고리 - - - - - obsolete - obsolete - - - perm.part.minamount - 최소 수량 - - - - - obsolete - obsolete - - - perm.part.footprint - 풋프린트 - - - - - obsolete - obsolete - - - perm.part.mpn - MPN - - - - - obsolete - obsolete - - - perm.part.status - 생산 상태 - - - - - obsolete - obsolete - - - perm.part.tags - 태그 - - - - - obsolete - obsolete - - - perm.part.unit - 부품 단위 - - - - - obsolete - obsolete - - - perm.part.mass - 질량 - - - - - obsolete - obsolete - - - perm.part.lots - 부품 로트 - - - - - obsolete - obsolete - - - perm.show_users - 마지막 수정 사용자 보기 - - - - - obsolete - obsolete - - - perm.currencies - 통화 - - - - - obsolete - obsolete - - - perm.measurement_units - 측정 단위 - - - - - obsolete - obsolete - - - user.settings.pw_old.label - 기존 비밀번호 - - - - - obsolete - obsolete - - - pw_reset.submit - 비밀번호 재설정 - - - - - obsolete - obsolete - - - u2f_two_factor - 보안 키 (U2F) - - - - - obsolete - obsolete - - - google - Google - - - - - tfa.provider.webauthn_two_factor_provider - 보안 키 - - - - - obsolete - obsolete - - - tfa.provider.google - 인증 앱 - - - - - obsolete - obsolete - - - log.type.exception - 처리되지 않은 예외 (사용 안 함) - - - - - obsolete - obsolete - - - log.type.user_login - 사용자 로그인 - - - - - obsolete - obsolete - - - log.type.user_logout - 사용자 로그아웃 - - - - - obsolete - obsolete - - - log.type.unknown - 알 수 없음 - - - - - obsolete - obsolete - - - log.type.element_created - 요소 생성됨 - - - - - obsolete - obsolete - - - log.type.element_edited - 요소 편집됨 - - - - - obsolete - obsolete - - - log.type.element_deleted - 요소 삭제됨 - - - - - obsolete - obsolete - - - log.type.database_updated - 데이터베이스 업데이트됨 - - - - - obsolete - - - perm.revert_elements - 요소 되돌리기 - - - - - obsolete - - - perm.show_history - 이력 보기 - - - - - obsolete - - - perm.tools.lastActivity - 최근 활동 보기 - - - - - obsolete - - - perm.tools.timeTravel - 이전 버전 요소 보기 (시간 여행) - - - - - obsolete - - - log.type.security.google_disabled - 인증 앱 비활성화됨 - - - - - obsolete - - - log.type.security.u2f_removed - 보안 키 제거됨 - - - - - obsolete - - - log.type.security.u2f_added - 보안 키 추가됨 - - - - - obsolete - - - log.type.security.backup_keys_reset - 백업 코드 재생성됨 - - - - - obsolete - - - log.type.security.google_enabled - 인증 앱 활성화됨 - - - - - obsolete - - - log.type.security.password_changed - 비밀번호 변경됨 - - - - - obsolete - - - log.type.security.trusted_device_reset - 신뢰하는 기기 재설정됨 - - - - - obsolete - - - log.type.collection_element_deleted - 컬렉션의 요소 삭제됨 - - - - - obsolete - - - log.type.security.password_reset - 비밀번호 재설정 - - - - - obsolete - - - log.type.security.2fa_admin_reset - 관리자에 의한 2단계 인증 재설정 - - - - - obsolete - - - log.type.user_not_allowed - 권한 없는 접근 시도 - - - - - obsolete - - - log.database_updated.success - 성공 - - - - - obsolete - - - label_options.barcode_type.2D - 2D - - - - - obsolete - - - label_options.barcode_type.1D - 1D - - - - - obsolete - - - perm.part.parameters - 파라미터 - - - - - obsolete - - - perm.attachment_show_private - 비공개 첨부파일 보기 - - - - - obsolete - - - perm.tools.label_scanner - 라벨 스캐너 - - - - - obsolete - - - perm.self.read_profiles - 프로필 읽기 - - - - - obsolete - - - perm.self.create_profiles - 프로필 생성 - - - - - obsolete - - - perm.labels.use_twig - Twig 모드 사용 - - - - - label_profile.showInDropdown - 빠른 선택에 표시 - - - - - group.edit.enforce_2fa - 2단계 인증(2FA) 강제 - - - - - group.edit.enforce_2fa.help - 이 옵션을 활성화하면 이 그룹의 모든 직속 구성원은 최소 하나의 2단계 인증 수단을 설정해야 합니다. 권한이 많은 관리자 그룹에 권장됩니다. - - - - - selectpicker.nothing_selected - 선택된 항목 없음 - - - - - entity.delete.must_not_contain_parts - "%PATH%" 요소에 아직 부품이 있습니다! 이 요소를 삭제하려면 부품을 이동해야 합니다. - - - - - entity.delete.must_not_contain_attachments - 이 첨부파일 형식에 아직 첨부파일이 있습니다. 이 형식을 삭제하려면 첨부파일들의 형식을 변경하세요. - - - - - entity.delete.must_not_contain_prices - 이 통화에 아직 가격 정보가 있습니다. 이 요소를 삭제하려면 가격 정보의 통화를 변경해야 합니다. - - - - - entity.delete.must_not_contain_users - 아직 이 그룹을 사용하는 사용자가 있습니다! 이 그룹을 삭제하려면 사용자의 그룹을 변경하세요. - - - - - part.table.edit - 편집 - - - - - part.table.edit.title - [part] 편집 - - - - - part_list.action.scrollable_hint - 모든 동작을 보려면 스크롤하세요 - - - - - part_list.action.action.title - 동작 선택 - - - - - part_list.action.action.group.favorite - 즐겨찾기 상태 - - - - - part_list.action.action.favorite - 즐겨찾기 - - - - - part_list.action.action.unfavorite - 즐겨찾기 해제 - - - - - part_list.action.action.group.change_field - 필드 변경 - - - - - part_list.action.action.change_category - 카테고리 변경 - - - - - part_list.action.action.change_footprint - 풋프린트 변경 - - - - - part_list.action.action.change_manufacturer - 제조사 변경 - - - - - part_list.action.action.change_unit - 부품 단위 변경 - - - - - part_list.action.action.delete - 삭제 - - - - - part_list.action.submit - 제출 - - - - - part_list.action.part_count - %count%개 부품 선택됨 - - - - - company.edit.quick.website - 웹사이트 열기 - - - - - company.edit.quick.email - 이메일 보내기 - - - - - company.edit.quick.phone - 전화 걸기 - - - - - company.edit.quick.fax - 팩스 보내기 - - - - - company.fax_number.placeholder - 예: +82 2 1234 5678 - - - - - part.edit.save_and_clone - 저장 후 복제 - - - - - validator.file_ext_not_allowed - 이 첨부파일 형식에는 허용되지 않는 파일 확장자입니다. - - - - - tools.reel_calc.title - SMD 릴 계산기 - - - - - tools.reel_calc.inner_dia - 내경 - - - - - tools.reel_calc.outer_dia - 외경 - - - - - tools.reel_calc.tape_thick - 테이프 두께 - - - - - tools.reel_calc.part_distance - 부품 간격 - - - - - tools.reel_calc.update - 업데이트 - - - - - tools.reel_calc.parts_per_meter - 미터당 부품 수 - - - - - tools.reel_calc.result_length - 테이프 길이 - - - - - tools.reel_calc.result_amount - 예상 부품 수 - - - - - tools.reel_calc.outer_greater_inner_error - 오류: 외경은 내경보다 커야 합니다! - - - - - tools.reel_calc.missing_values.error - 모든 값을 입력해 주세요! - - - - - tools.reel_calc.load_preset - 프리셋 불러오기 - - - - - tools.reel_calc.explanation - 이 계산기는 SMD 릴에 남아 있는 부품 수를 추정합니다. 릴에 표시된 치수를 측정하거나 프리셋을 사용한 뒤 "업데이트"를 클릭하면 결과를 확인할 수 있습니다. - - - - - perm.tools.reel_calculator - SMD 릴 계산기 - - - - - tree.tools.tools.reel_calculator - SMD 릴 계산기 - - - - - user.pw_change_needed.flash - 비밀번호를 변경해야 합니다! 새 비밀번호를 설정하세요. - - - - - part_list.action.select_null - 빈 요소 - - - - - part_list.action.delete-title - 정말 이 부품들을 삭제하시겠습니까? - - - - - part_list.action.delete-message - 이 부품들과 관련된 모든 정보(첨부파일, 가격 정보 등)가 삭제됩니다. 되돌릴 수 없습니다! - - - - - part.table.actions.success - 동작이 완료되었습니다. - - - - - attachment.edit.delete.confirm - 정말 이 첨부파일을 삭제하시겠습니까? - - - - - filter.text_constraint.value.operator.EQ - 일치 - - - - - filter.text_constraint.value.operator.NEQ - 불일치 - - - - - filter.text_constraint.value.operator.STARTS - 시작 문자 - - - - - filter.text_constraint.value.operator.CONTAINS - 포함 - - - - - filter.text_constraint.value.operator.ENDS - 끝 문자 - - - - - filter.text_constraint.value.operator.LIKE - LIKE 패턴 - - - - - filter.text_constraint.value.operator.REGEX - 정규 표현식 - - - - - filter.number_constraint.value.operator.BETWEEN - 범위 - - - - - filter.number_constraint.AND - 그리고 - - - - - filter.entity_constraint.operator.EQ - 일치 (하위 제외) - - - - - filter.entity_constraint.operator.NEQ - 불일치 (하위 제외) - - - - - filter.entity_constraint.operator.INCLUDING_CHILDREN - 일치 (하위 포함) - - - - - filter.entity_constraint.operator.EXCLUDING_CHILDREN - 불일치 (하위 포함) - - - - - part.filter.dbId - 데이터베이스 ID - - - - - filter.tags_constraint.operator.ANY - 태그 중 하나라도 - - - - - filter.tags_constraint.operator.ALL - 모든 태그 - - - - - filter.tags_constraint.operator.NONE - 태그 없음 - - - - - part.filter.lot_count - 로트 수 - - - - - part.filter.attachments_count - 첨부파일 수 - - - - - part.filter.orderdetails_count - 주문 정보 수 - - - - - part.filter.lotExpirationDate - 로트 유효 기간 - - - - - part.filter.lotNeedsRefill - 보충 필요 로트 있음 - - - - - part.filter.lotUnknwonAmount - 수량 미상 로트 있음 - - - - - part.filter.attachmentName - 첨부파일 이름 - - - - - filter.bulk_import_job.label - 대량 가져오기 작업 - - - - - filter.bulk_import_job.job_status - 작업 상태 - - - - - filter.bulk_import_job.part_status_in_job - 작업 내 부품 상태 - - - - - filter.bulk_import_job.status.pending - 대기 중 - - - - - filter.bulk_import_job.status.in_progress - 진행 중 - - - - - filter.bulk_import_job.status.completed - 완료됨 - - - - - filter.bulk_import_job.status.stopped - 중지됨 - - - - - filter.bulk_import_job.status.failed - 실패함 - - - - - filter.bulk_import_job.part_status.pending - 대기 중 - - - - - filter.bulk_import_job.part_status.completed - 완료됨 - - - - - filter.bulk_import_job.part_status.skipped - 건너뜀 - - - - - filter.choice_constraint.operator.ANY - 다음 중 하나 - - - - - filter.choice_constraint.operator.NONE - 다음에 없음 - - - - - part.filter.amount_sum - 총 수량 - - - - - filter.submit - 업데이트 - - - - - filter.discard - 변경 사항 취소 - - - - - filter.clear_filters - 모든 필터 지우기 - - - - - filter.title - 필터 - - - - - filter.parameter_value_constraint.operator.= - 일반값 = - - - - - filter.parameter_value_constraint.operator.!= - 일반값 != - - - - - filter.parameter_value_constraint.operator.< - 일반값 < - - - - - filter.parameter_value_constraint.operator.> - 일반값 > - - - - - filter.parameter_value_constraint.operator.<= - 일반값 <= - - - - - filter.parameter_value_constraint.operator.>= - 일반값 >= - - - - - filter.parameter_value_constraint.operator.BETWEEN - 일반값 범위 - - - - - filter.parameter_value_constraint.operator.IN_RANGE - 값 범위 안 - - - - - filter.parameter_value_constraint.operator.NOT_IN_RANGE - 값 범위 밖 - - - - - filter.parameter_value_constraint.operator.GREATER_THAN_RANGE - 값 범위보다 큼 - - - - - filter.parameter_value_constraint.operator.GREATER_EQUAL_RANGE - 값 범위보다 크거나 같음 - - - - - filter.parameter_value_constraint.operator.LESS_THAN_RANGE - 값 범위보다 작음 - - - - - filter.parameter_value_constraint.operator.LESS_EQUAL_RANGE - 값 범위보다 작거나 같음 - - - - - filter.parameter_value_constraint.operator.RANGE_IN_RANGE - 범위가 값 범위에 완전히 포함 - - - - - filter.parameter_value_constraint.operator.RANGE_INTERSECT_RANGE - 범위가 값 범위와 겹침 - - - - - filter.text_constraint.value - 설정된 값 없음 - - - - - filter.number_constraint.value1 - 설정된 값 없음 - - - - - filter.number_constraint.value2 - 최대값 - - - - - filter.datetime_constraint.value1 - 설정된 일시 없음 - - - - - filter.datetime_constraint.value2 - 최대 일시 - - - - - filter.constraint.add - 조건 추가 - - - - - part.filter.parameters_count - 파라미터 수 - - - - - part.filter.lotDescription - 로트 설명 - - - - - parts_list.search.searching_for - <b>%keyword%</b> 키워드로 부품 검색 중 - - - - - parts_list.search_options.caption - 활성화된 검색 옵션 - - - - - attachment.table.element_type - 연결된 요소 유형 - - - - - log.level.debug - 디버그 - - - - - log.level.info - 정보 - - - - - log.level.notice - 알림 - - - - - log.level.warning - 경고 - - - - - log.level.error - 오류 - - - - - log.level.critical - 심각 - - - - - log.level.alert - 긴급 - - - - - log.level.emergency - 비상 - - - - - log.type.security - 보안 관련 이벤트 - - - - - log.type.instock_changed - [레거시] 재고 변경됨 - - - - - log.target_id - 대상 요소 ID - - - - - entity.info.parts_count_recursive - 이 요소 또는 하위 요소를 사용하는 [[part]] 수 - - - - - tools.server_infos.title - 서버 정보 - - - - - permission.preset.read_only - 읽기 전용 - - - - - permission.preset.read_only.desc - 데이터 읽기 작업만 허용 - - - - - permission.preset.all_inherit - 모두 상속 - - - - - permission.preset.all_inherit.desc - 모든 권한을 상속으로 설정 - - - - - permission.preset.all_forbid - 모두 금지 - - - - - permission.preset.all_forbid.desc - 모든 권한을 금지로 설정 - - - - - permission.preset.all_allow - 모두 허용 - - - - - permission.preset.all_allow.desc - 모든 권한을 허용으로 설정 - - - - - perm.server_infos - 서버 정보 - - - - - permission.preset.editor - 편집자 - - - - - permission.preset.editor.desc - 부품 및 데이터 구조 변경 허용 - - - - - permission.preset.admin - 관리자 - - - - - permission.preset.admin.desc - 관리 작업 허용 - - - - - permission.preset.button - 프리셋 적용 - - - - - perm.attachments.show_private - 비공개 첨부파일 보기 - - - - - perm.attachments.list_attachments - 모든 첨부파일 목록 보기 - - - - - user.edit.permission_success - 권한 프리셋이 적용되었습니다. 새 권한이 요구 사항에 맞는지 확인하세요. - - - - - perm.group.data - 데이터 - - - - - part_list.action.action.group.needs_review - 검토 필요 - - - - - part_list.action.action.set_needs_review - 검토 필요 상태 지정 - - - - - part_list.action.action.unset_needs_review - 검토 필요 상태 해제 - - - - - part.edit.ipn - 내부 부품 번호 (IPN) - - - - - part.ipn.not_defined - 미지정 - - - - - part.table.ipn - IPN - - - - - currency.edit.update_rate - 환율 가져오기 - - - - - currency.edit.exchange_rate_update.unsupported_currency - 환율 제공자가 지원하지 않는 통화입니다. 환율 제공자 설정을 확인하세요. - - - - - currency.edit.exchange_rate_update.generic_error - 환율을 가져올 수 없습니다. 환율 제공자 설정을 확인하세요. - - - - - currency.edit.exchange_rate_updated.success - 환율을 가져왔습니다. - - - - - project.bom.quantity - BOM 수량 - - - - - project.bom.mountnames - 장착 이름 - - - - - project.bom.name - 이름 - - - - - project.bom.comment - 메모 - - - - - project.bom.part - 부품 - - - - - project.bom.add_entry - 항목 추가 - - - - - part_list.action.group.projects - 프로젝트 - - - - - part_list.action.projects.add_to_project - 프로젝트에 부품 추가 - - - - - project.bom.delete.confirm - 정말 이 BOM 항목을 삭제하시겠습니까? - - - - - project.add_parts_to_project - [project] BOM에 [[part]] 추가 - - - - - part.info.add_part_to_project - 이 [part]을(를) [project]에 추가 - - - - - project_bom_entry.label - BOM 항목 - - - - - project.edit.status - 프로젝트 상태 - - - - - project.status.draft - 초안 - - - - - project.status.planning - 계획 중 - - - - - project.status.in_production - 제작 중 - - - - - project.status.finished - 완료 - - - - - project.status.archived - 보관됨 - - - - - part.new_build_part.error.build_part_already_exists - 이 [project]에는 이미 빌드 [part]이(가) 있습니다! - - - - - project.edit.associated_build_part - 연결된 빌드 [part] - - - - - project.edit.associated_build_part.add - 빌드 [part] 추가 - - - - - project.edit.associated_build.hint - 이 [part]은(는) 어딘가에 보관된 이 [project]의 빌드를 나타냅니다. - - - - - part.info.projectBuildPart.hint - 이 [part]은(는) 다음 [project]의 빌드를 나타내며 해당 프로젝트와 연결되어 있습니다 - - - - - part.is_build_part - [project] 빌드 [part] 여부 - - - - - project.info.title - [Project] 정보 - - - - - project.info.bom_entries_count - BOM 항목 - - - - - project.info.sub_projects_count - 하위 프로젝트 - - - - - project.info.total_build_price - 총 제작 가격 - - - - - project.info.per_unit_price - 단위당 - - - - - project.info.bom_add_parts - BOM 항목 추가 - - - - - project.info.info.label - 정보 - - - - - project.info.sub_projects.label - 하위 프로젝트 - - - - - project.bom.price - 가격 - - - - - project.bom.ext_price - 합계 가격 - - - - - part.info.withdraw_modal.title.withdraw - 로트에서 부품 출고 - - - - - part.info.withdraw_modal.title.add - 로트에 부품 입고 - - - - - part.info.withdraw_modal.title.move - 부품을 다른 로트로 이동 - - - - - part.info.withdraw_modal.amount - 수량 - - - - - part.info.withdraw_modal.move_to - 이동 대상 - - - - - part.info.withdraw_modal.comment - 메모 - - - - - part.info.withdraw_modal.comment.hint - 이 작업을 수행하는 이유(예: 부품 사용 목적)를 메모로 남길 수 있습니다. 이 정보는 로그에 저장됩니다. - - - - - modal.close - 닫기 - - - - - modal.submit - 제출 - - - - - part.withdraw.success - 부품 입고/이동/출고가 완료되었습니다. - - - - - perm.parts_stock - 부품 재고 - - - - - perm.parts_stock.withdraw - 재고에서 부품 출고 - - - - - perm.parts_stock.add - 재고에 부품 입고 - - - - - perm.parts_stock.move - 로트 간 부품 이동 - - - - - user.permissions_schema_updated - 사용자의 권한 스키마가 최신 버전으로 업그레이드되었습니다. - - - - - log.type.part_stock_changed - 부품 재고 변경됨 - - - - - log.part_stock_changed.withdraw - 재고 출고됨 - - - - - log.part_stock_changed.add - 재고 입고됨 - - - - - log.part_stock_changed.move - 재고 이동됨 - - - - - log.part_stock_changed.comment - 메모 - - - - - log.part_stock_changed.change - 변경 - - - - - log.part_stock_changed.move_target - 이동 대상 - - - - - tools.builtin_footprints_viewer.title - 내장 풋프린트 이미지 갤러리 - - - - - tools.builtin_footprints_viewer.hint - 이 갤러리는 사용 가능한 모든 내장 풋프린트 이미지를 보여줍니다. 첨부파일에서 사용하려면 첨부파일의 경로 필드에 이름(또는 키워드)을 입력하고 드롭다운에서 이미지를 선택하세요. - - - - - tools.ic_logos.title - IC 로고 - - - - - part_list.action.group.labels - 라벨 - - - - - part_list.action.projects.generate_label - 라벨 생성 ([[part]]용) - - - - - part_list.action.projects.generate_label_lot - 라벨 생성 ([[part_lot]]용) - - - - - part_list.action.generate_label.empty - 빈 라벨 - - - - - project.info.builds.label - 제작 - - - - - project.builds.build_not_possible - 제작 불가: 부품 재고 없음 - - - - - project.builds.following_bom_entries_miss_instock - 다음 [[part]]의 재고가 부족하여 이 [project]을(를) 한 번도 제작할 수 없습니다: - - - - - project.builds.stocked - 보유 - - - - - project.builds.needed - 필요 - - - - - project.builds.build_possible - 제작 가능 - - - - - project.builds.number_of_builds_possible - 이 [project]을(를) <b>%max_builds%</b>회 제작할 수 있는 재고를 보유하고 있습니다. - - - - - project.builds.check_project_status - 현재 [project] 상태는 <b>"%project_status%"</b>입니다. 이 상태에서 정말 [project]을(를) 제작할지 확인하세요! - - - - - project.builds.following_bom_entries_miss_instock_n - 이 [project]을(를) %number_of_builds%회 제작하기에 [[part]] 재고가 부족합니다. 다음 [[part]]의 재고가 부족합니다: - - - - - project.build.flash.invalid_input - 프로젝트를 제작할 수 없습니다. 입력을 확인하세요! - - - - - project.build.required_qty - 필요 수량 - - - - - project.build.btn_build - 제작 - - - - - project.build.help - 이 [project]을(를) 제작할 때 어느 [[part_lot]]에서 재고를 사용할지(그리고 얼마나 사용할지) 선택하세요. 각 BOM 항목에서 [[part]] 출고가 완료되면 체크박스를 선택하거나, 상단 체크박스로 한 번에 모두 선택할 수 있습니다. - - - - - project.build.buildsPartLot.new_lot - 새 로트 생성 - - - - - project.build.add_builds_to_builds_part - 제작품을 프로젝트 빌드 부품에 추가 - - - - - project.build.builds_part_lot - 대상 로트 - - - - - project.builds.number_of_builds - 제작 수량 - - - - - project.builds.no_stocked_builds - 보유 중인 제작품 수 - - - - - user.change_avatar.label - 프로필 사진 변경 - - - - - user_settings.change_avatar.label - 프로필 사진 변경 - - - - - user_settings.remove_avatar.label - 프로필 사진 제거 - - - - - part.edit.name.category_hint - 카테고리의 힌트 - - - - - category.edit.partname_regex.placeholder - 예: "/Capacitor \d+ nF/i" - - - - - category.edit.part_ipn_prefix.placeholder - 예: "B12A" - - - - - category.edit.partname_regex.help - 부품 이름이 일치해야 하는 PCRE 호환 정규 표현식입니다. - - - - - category.edit.part_ipn_prefix.help - 부품의 IPN 입력 시 제안되는 접두사입니다. - - - - - entity.select.add_hint - ->를 사용하여 중첩 구조를 만들 수 있습니다. 예: "노드 1->노드 1.1" - - - - - entity.select.group.new_not_added_to_DB - 신규 (아직 DB에 추가되지 않음) - - - - - part.edit.save_and_new - 저장 후 새 빈 부품 생성 - - - - - homepage.first_steps.title - 첫 단계 - - - - - homepage.first_steps.introduction - 데이터베이스가 아직 비어 있습니다. <a href="%url%">문서</a>를 읽어보거나 다음 데이터 구조를 만들어 보세요: - - - - - homepage.first_steps.create_part - 또는 바로 <a href="%url%">새 부품을 생성</a>할 수 있습니다. - - - - - homepage.first_steps.hide_hint - 첫 부품을 생성하면 이 상자는 사라집니다. - - - - - homepage.forum.text - Part-DB에 대한 질문은 <a href="%href%" class="link-external" target="_blank">토론 포럼</a>을 이용하세요 - - - - - log.element_edited.changed_fields.category - 카테고리 - - - - - log.element_edited.changed_fields.footprint - 풋프린트 - - - - - log.element_edited.changed_fields.manufacturer - 제조사 - - - - - log.element_edited.changed_fields.value_typical - 일반값 - - - - - log.element_edited.changed_fields.pw_reset_expires - 비밀번호 재설정 - - - - - log.element_edited.changed_fields.comment - 메모 - - - - - log.element_edited.changed_fields.supplierpartnr - 판매처 부품 번호 - - - - - log.element_edited.changed_fields.supplier_product_url - 판매 페이지 링크 - - - - - log.element_edited.changed_fields.price - 가격 - - - - - log.element_edited.changed_fields.min_discount_quantity - 최소 할인 수량 - - - - - log.element_edited.changed_fields.original_filename - 원본 파일 이름 - - - - - log.element_edited.changed_fields.path - 파일 경로 - - - - - log.element_edited.changed_fields.description - 설명 - - - - - log.element_edited.changed_fields.manufacturing_status - 생산 상태 - - - - - log.element_edited.changed_fields.options.barcode_type - 바코드 유형 - - - - - log.element_edited.changed_fields.status - 상태 - - - - - log.element_edited.changed_fields.quantity - BOM 수량 - - - - - log.element_edited.changed_fields.mountnames - 장착 이름 - - - - - log.element_edited.changed_fields.name - 이름 - - - - - log.element_edited.changed_fields.part - 부품 - - - - - log.element_edited.changed_fields.price_currency - 가격 통화 - - - - - log.element_edited.changed_fields.partname_hint - 부품 이름 힌트 - - - - - log.element_edited.changed_fields.partname_regex - 이름 필터 - - - - - log.element_edited.changed_fields.disable_footprints - [[footprint]] 비활성화 - - - - - log.element_edited.changed_fields.disable_manufacturers - [[manufacturer]] 비활성화 - - - - - log.element_edited.changed_fields.disable_autodatasheets - 자동 데이터시트 링크 비활성화 - - - - - log.element_edited.changed_fields.disable_properties - 속성 비활성화 - - - - - log.element_edited.changed_fields.default_description - 기본 설명 - - - - - log.element_edited.changed_fields.default_comment - 기본 메모 - - - - - log.element_edited.changed_fields.filetype_filter - 허용되는 파일 확장자 - - - - - log.element_edited.changed_fields.not_selectable - 선택 불가 - - - - - log.element_edited.changed_fields.parent - 상위 요소 - - - - - log.element_edited.changed_fields.shipping_costs - 배송비 - - - - - log.element_edited.changed_fields.default_currency - 기본 통화 - - - - - log.element_edited.changed_fields.address - 주소 - - - - - log.element_edited.changed_fields.phone_number - 전화번호 - - - - - log.element_edited.changed_fields.fax_number - 팩스 번호 - - - - - log.element_edited.changed_fields.email_address - 이메일 - - - - - log.element_edited.changed_fields.website - 웹사이트 - - - - - log.element_edited.changed_fields.auto_product_url - 제품 URL - - - - - log.element_edited.changed_fields.is_full - 보관 위치 가득 참 - - - - - log.element_edited.changed_fields.limit_to_existing_parts - 기존 부품으로 제한 - - - - - log.element_edited.changed_fields.only_single_part - 단일 부품만 - - - - - log.element_edited.changed_fields.storage_type - 보관 유형 - - - - - log.element_edited.changed_fields.footprint_3d - 3D 모델 - - - - - log.element_edited.changed_fields.master_picture_attachment - 미리보기 이미지 - - - - - log.element_edited.changed_fields.exchange_rate - 환율 - - - - - log.element_edited.changed_fields.iso_code - ISO 코드 - - - - - log.element_edited.changed_fields.unit - 단위 기호 - - - - - log.element_edited.changed_fields.is_integer - 정수 단위 - - - - - log.element_edited.changed_fields.use_si_prefix - SI 접두사 사용 - - - - - log.element_edited.changed_fields.options.width - 너비 - - - - - log.element_edited.changed_fields.options.height - 높이 - - - - - log.element_edited.changed_fields.options.supported_element - 대상 유형 - - - - - log.element_edited.changed_fields.options.additional_css - 추가 스타일 (CSS) - - - - - log.element_edited.changed_fields.options.lines - 내용 - - - - - log.element_edited.changed_fields.permissions.data - 권한 - - - - - log.element_edited.changed_fields.disabled - 비활성화됨 - - - - - log.element_edited.changed_fields.theme - 테마 - - - - - log.element_edited.changed_fields.timezone - 시간대 - - - - - log.element_edited.changed_fields.language - 언어 - - - - - log.element_edited.changed_fields.email - 이메일 - - - - - log.element_edited.changed_fields.department - 부서 - - - - - log.element_edited.changed_fields.last_name - - - - - - log.element_edited.changed_fields.first_name - 이름 - - - - - log.element_edited.changed_fields.group - 그룹 - - - - - log.element_edited.changed_fields.currency - 기본 통화 - - - - - log.element_edited.changed_fields.enforce2FA - 2FA 강제 - - - - - log.element_edited.changed_fields.symbol - 기호 - - - - - log.element_edited.changed_fields.value_min - 최소값 - - - - - log.element_edited.changed_fields.value_max - 최대값 - - - - - log.element_edited.changed_fields.value_text - 텍스트 값 - - - - - log.element_edited.changed_fields.show_in_table - 테이블에 표시 - - - - - log.element_edited.changed_fields.attachment_type - 첨부파일 형식 - - - - - log.element_edited.changed_fields.needs_review - 검토 필요 - - - - - log.element_edited.changed_fields.tags - 태그 - - - - - log.element_edited.changed_fields.mass - 질량 - - - - - log.element_edited.changed_fields.ipn - IPN - - - - - log.element_edited.changed_fields.favorite - 즐겨찾기 - - - - - log.element_edited.changed_fields.minamount - 최소 재고 - - - - - log.element_edited.changed_fields.manufacturer_product_url - 제품 페이지 링크 - - - - - log.element_edited.changed_fields.manufacturer_product_number - MPN - - - - - log.element_edited.changed_fields.partUnit - 측정 단위 - - - - - log.element_edited.changed_fields.partCustomState - 사용자 정의 부품 상태 - - - - - log.element_edited.changed_fields.expiration_date - 유효 기간 - - - - - log.element_edited.changed_fields.amount - 수량 - - - - - log.element_edited.changed_fields.storage_location - 보관 위치 - - - - - attachment.max_file_size - 최대 파일 크기 - - - - - user.saml_user - SSO / SAML 사용자 - - - - - user.saml_user.pw_change_hint - 이 계정은 통합 인증(SSO)을 사용합니다. 여기서는 비밀번호와 2FA 설정을 변경할 수 없습니다. 중앙 SSO 제공자에서 설정하세요! - - - - - login.sso_saml_login - 통합 인증 로그인 (SSO) - - - - - login.local_login_hint - 아래 양식은 로컬 사용자 로그인 전용입니다. 통합 인증으로 로그인하려면 위 버튼을 누르세요. - - - - - part_list.action.action.export - 부품 내보내기 - - - - - part_list.action.export_json - JSON으로 내보내기 - - - - - part_list.action.export_csv - CSV로 내보내기 - - - - - part_list.action.export_yaml - YAML로 내보내기 - - - - - part_list.action.export_xml - XML로 내보내기 - - - - - part_list.action.export_xlsx - Excel로 내보내기 - - - - - parts.import.title - 부품 가져오기 - - - - - parts.import.errors.title - 가져오기 오류 - - - - - parts.import.flash.error - 가져오기 중 오류가 발생했습니다. 대부분 유효하지 않은 데이터가 원인입니다. - - - - - parts.import.format.auto - 자동 (파일 확장자 기반) - - - - - parts.import.flash.error.unknown_format - 해당 파일의 형식을 판별할 수 없습니다! - - - - - parts.import.flash.error.invalid_file - 파일이 유효하지 않습니다. 올바른 형식을 선택했는지 확인하세요! - - - - - parts.import.part_category.label - 카테고리 재정의 - - - - - parts.import.part_category.help - 여기서 값을 선택하면 데이터의 설정과 무관하게 가져온 모든 부품이 이 카테고리에 배정됩니다. - - - - - import.create_unknown_datastructures - 알 수 없는 데이터 구조 생성 - - - - - import.create_unknown_datastructures.help - 이 옵션을 선택하면 데이터베이스에 아직 없는 데이터 구조(카테고리, 풋프린트 등)가 자동으로 생성됩니다. 선택하지 않으면 기존 데이터 구조만 사용하며, 일치하는 데이터 구조가 없으면 부품에 아무것도 배정되지 않습니다 - - - - - import.path_delimiter - 경로 구분자 - - - - - import.path_delimiter.help - 카테고리, 풋프린트 등의 데이터 구조 경로에서 계층을 구분하는 데 사용되는 구분자입니다. - - - - - parts.import.help_documentation - 파일 형식에 대한 자세한 내용은 <a href="%link%">문서</a>를 참고하세요. - - - - - parts.import.help - 이 도구로 기존 파일에서 부품을 가져올 수 있습니다. 부품은 데이터베이스에 바로 기록되므로, 업로드하기 전에 파일 내용이 올바른지 미리 확인하세요. - - - - - parts.import.flash.success - 부품 가져오기 완료! - - - - - parts.import.errors.imported_entities - 가져온 부품 - - - - - perm.import - 데이터 가져오기 - - - - - parts.import.part_needs_review.label - 가져온 모든 부품을 "검토 필요"로 표시 - - - - - parts.import.part_needs_review.help - 이 옵션을 선택하면 데이터의 설정과 무관하게 모든 부품이 "검토 필요"로 표시됩니다. - - - - - project.bom_import.flash.success - BOM 항목 %count%개를 가져왔습니다. - - - - - project.bom_import.type - 유형 - - - - - project.bom_import.type.kicad_pcbnew - KiCad Pcbnew BOM (CSV 파일) - - - - - project.bom_import.clear_existing_bom - 가져오기 전에 기존 BOM 항목 지우기 - - - - - project.bom_import.clear_existing_bom.help - 이 옵션을 선택하면 프로젝트의 기존 BOM 항목이 모두 삭제되고 가져온 BOM 파일로 대체됩니다! - - - - - project.bom_import.flash.invalid_file - 파일을 가져올 수 없습니다. 올바른 파일 형식을 선택했는지 확인하세요. 오류 메시지: %message% - - - - - project.bom_import.flash.invalid_entries - 유효성 검사 오류! 데이터를 확인하세요! - - - - - project.import_bom - 프로젝트 BOM 가져오기 - - - - - project.edit.bom.import_bom - BOM 가져오기 - - - - - measurement_unit.new - 새 [measurement_unit] - - - - - measurement_unit.edit - [measurement_unit] 편집 - - - - - part_custom_state.new - 새 [part_custom_state] - - - - - part_custom_state.edit - [part_custom_state] 편집 - - - - - user.aboutMe.label - 자기소개 - - - - - storelocation.owner.label - 소유자 - - - - - storelocation.part_owner_must_match.label - [Part_lot] 소유자가 [storage_location] 소유자와 일치해야 함 - - - - - part_lot.owner - 소유자 - - - - - part_lot.owner.help - 소유자만 이 로트에서 재고를 출고하거나 입고할 수 있습니다. - - - - - log.element_edited.changed_fields.owner - 소유자 - - - - - log.element_edited.changed_fields.instock_unknown - 수량 알 수 없음 - - - - - log.element_edited.changed_fields.needs_refill - 보충 필요 - - - - - part.withdraw.access_denied - 해당 작업을 수행할 권한이 없습니다. 권한과 [[part_lot]]의 소유자를 확인하세요. - - - - - part.info.amount.less_than_desired - 희망 수량보다 적음 - - - - - log.cli_user - CLI 사용자 - - - - - log.element_edited.changed_fields.part_owner_must_match - [Part] 소유자가 [storage_location] 소유자와 일치해야 함 - - - - - part.filter.lessThanDesired - 재고가 희망 수량보다 적음 (총 수량 < 최소 수량) - - - - - part.filter.lotOwner - 로트 소유자 - - - - - user.show_email_on_profile.label - 공개 프로필 페이지에 이메일 표시 - - - - - log.details.title - 로그 상세 정보 - - - - - log.user_login.login_from_ip - IP 주소에서 로그인 - - - - - log.user_login.ip_anonymize_hint - IP 주소의 마지막 자리가 누락되어 있다면 IP 주소를 익명화하는 GDPR 모드가 활성화된 것입니다. - - - - - log.user_not_allowed.unauthorized_access_attempt_to - 페이지에 대한 권한 없는 접근 시도 - - - - - log.user_not_allowed.hint - 요청이 차단되었습니다. 별도 조치는 필요하지 않습니다. - - - - - log.no_comment - 메모 없음 - - - - - log.element_changed.field - 필드 - - - - - log.element_changed.data_before - 변경 전 데이터 - - - - - error_table.error - 요청 처리 중 오류가 발생했습니다. - - - - - part.table.invalid_regex - 유효하지 않은 정규 표현식 (regex) - - - - - log.element_changed.data_after - 변경 후 데이터 - - - - - log.element_changed.diff - 차이 - - - - - log.undo.undo.short - 취소 - - - - - log.undo.revert.short - 이 시점으로 되돌리기 - - - - - log.view_version - 버전 보기 - - - - - log.undo.undelete.short - 복원 - - - - - log.element_edited.changed_fields.id - ID - - - - - log.element_edited.changed_fields.id_owner - 소유자 - - - - - log.element_edited.changed_fields.parent_id - 상위 요소 - - - - - log.details.delete_entry - 로그 항목 삭제 - - - - - log.delete.message.title - 정말 이 로그 항목을 삭제하시겠습니까? - - - - - log.delete.message - 요소 이력 항목인 경우 요소 이력이 깨집니다! 시간 여행 기능 사용 시 예상치 못한 결과가 발생할 수 있습니다. - - - - - log.collection_deleted.on_collection - 컬렉션에서 - - - - - log.element_edited.changed_fields.attachments - 첨부파일 - - - - - tfa_u2f.add_key.registration_error - 보안 키 등록 중 오류가 발생했습니다. 다시 시도하거나 다른 보안 키를 사용하세요! - - - - - log.target_type.none - 없음 - - - - - ui.darkmode.light - 라이트 - - - - - ui.darkmode.dark - 다크 - - - - - ui.darkmode.auto - 자동 (시스템 설정 기준) - - - - - label_generator.no_lines_given - 텍스트 내용이 없습니다! 라벨이 비어 있게 됩니다. - - - - - perm.users.impersonate - 다른 사용자로 로그인 - - - - - user.impersonated_by.label - 대리 로그인 사용자 - - - - - user.stop_impersonation - 대리 로그인 종료 - - - - - user.impersonate.btn - 대리 로그인 - - - - - user.impersonate.confirm.title - 정말 이 사용자로 로그인하시겠습니까? - - - - - user.impersonate.confirm.message - 이 작업은 기록됩니다. 정당한 이유가 있을 때만 수행하세요. - -비활성화된 사용자로는 대리 로그인할 수 없습니다. 시도하면 "접근 거부" 메시지가 표시됩니다. - - - - - log.type.security.user_impersonated - 사용자 대리 로그인됨 - - - - - info_providers.providers_list.title - 정보 제공자 - - - - - info_providers.providers_list.active - 활성 - - - - - info_providers.providers_list.disabled - 비활성 - - - - - info_providers.capabilities.basic - 기본 - - - - - info_providers.capabilities.footprint - 풋프린트 - - - - - info_providers.capabilities.picture - 사진 - - - - - info_providers.capabilities.datasheet - 데이터시트 - - - - - info_providers.capabilities.price - 가격 - - - - - part.info_provider_reference.badge - 이 부품 생성에 사용된 정보 제공자입니다. - - - - - part.info_provider_reference - 정보 제공자로 생성됨 - - - - - oauth_client.connect.btn - OAuth 연결 - - - - - info_providers.table.provider.label - 제공자 - - - - - info_providers.search.keyword - 키워드 - - - - - info_providers.search.submit - 검색 - - - - - info_providers.search.providers.help - 검색할 제공자를 선택하세요. - - - - - info_providers.search.providers - 제공자 - - - - - info_providers.search.info_providers_list - 사용 가능한 모든 정보 제공자 보기 - - - - - info_providers.search.title - 정보 제공자로 부품 생성 - - - - - oauth_client.flash.connection_successful - OAuth 애플리케이션에 연결되었습니다! - - - - - perm.part.info_providers - 정보 제공자 - - - - - perm.part.info_providers.create_parts - 정보 제공자로 부품 생성 - - - - - entity.edit.alternative_names.label - 대체 이름 - - - - - entity.edit.alternative_names.help - 여기에 입력한 대체 이름은 정보 제공자 결과를 기반으로 이 요소를 찾는 데 사용됩니다. - - - - - info_providers.form.help_prefix - 제공자 - - - - - update_manager.new_version_available.title - 새 버전 사용 가능 - - - - - update_manager.new_version_available.text - Part-DB의 새 버전이 있습니다. 여기서 확인하세요 - - - - - update_manager.new_version_available.only_administrators_can_see - 이 메시지는 관리자만 볼 수 있습니다. - - - - - perm.system.show_available_updates - 사용 가능한 Part-DB 업데이트 보기 - - - - - user.settings.api_tokens - API 토큰 - - - - - user.settings.api_tokens.description - API 토큰을 사용하면 다른 애플리케이션이 회원님의 사용자 권한으로 Part-DB에 접근하여 Part-DB REST API로 다양한 작업을 수행할 수 있습니다. 여기서 API 토큰을 삭제하면 해당 토큰을 사용하는 애플리케이션은 더 이상 회원님을 대신해 Part-DB에 접근할 수 없습니다. - - - - - api_tokens.name - 이름 - - - - - api_tokens.access_level - 접근 수준 - - - - - api_tokens.expiration_date - 만료일 - - - - - api_tokens.last_time_used - 마지막 사용 시각 - - - - - datetime.never - 없음 - - - - - api_token.valid - 유효 - - - - - api_token.expired - 만료됨 - - - - - user.settings.show_api_documentation - API 문서 보기 - - - - - api_token.create_new - 새 API 토큰 생성 - - - - - api_token.level.read_only - 읽기 전용 - - - - - api_token.level.edit - 편집 - - - - - api_token.level.admin - 관리자 - - - - - api_token.level.full - 전체 - - - - - api_tokens.access_level.help - API 토큰이 접근할 수 있는 범위를 제한할 수 있습니다. 접근 범위는 항상 사용자의 권한 이내로 제한됩니다. - - - - - api_tokens.expiration_date.help - 이 날짜 이후에는 토큰을 사용할 수 없습니다. 토큰이 만료되지 않게 하려면 비워 두세요. - - - - - api_tokens.your_token_is - API 토큰은 다음과 같습니다 - - - - - api_tokens.please_save_it - 저장해 두세요. 다시 볼 수 없습니다! - - - - - api_tokens.create_new.back_to_user_settings - 사용자 설정으로 돌아가기 - - - - - project.build.dont_check_quantity - 수량 확인 안 함 - - - - - project.build.dont_check_quantity.help - 이 옵션을 선택하면 이 [project] 제작에 실제로 필요한 [[part]] 수와 무관하게 지정한 출고 수량이 그대로 사용됩니다. - - - - - part_list.action.invert_selection - 선택 반전 - - - - - perm.api - API - - - - - perm.api.access_api - API 접근 - - - - - perm.api.manage_tokens - API 토큰 관리 - - - - - user.settings.api_tokens.delete.title - 정말 이 API 토큰을 삭제하시겠습니까? - - - - - user.settings.api_tokens.delete - 삭제 - - - - - user.settings.api_tokens.delete.message - 이 API 토큰을 사용하는 애플리케이션은 더 이상 Part-DB에 접근할 수 없습니다. 이 작업은 되돌릴 수 없습니다! - - - - - api_tokens.deleted - API 토큰이 삭제되었습니다! - - - - - user.settings.api_tokens.no_api_tokens_yet - 설정된 API 토큰이 없습니다. - - - - - api_token.ends_with - 끝자리 - - - - - entity.select.creating_new_entities_not_allowed - 이 유형의 새 항목을 생성할 권한이 없습니다! 기존 항목을 선택하세요. - - - - - scan_dialog.mode - 바코드 유형 - - - - - scan_dialog.mode.auto - 자동 감지 - - - - - scan_dialog.mode.ipn - IPN 바코드 - - - - - scan_dialog.mode.internal - Part-DB 바코드 - - - - - part_association.label - 부품 연관 - - - - - part.edit.tab.associations - 연관 부품 - - - - - part_association.edit.other_part - 연관 부품 - - - - - part_association.edit.type - 관계 유형 - - - - - part_association.edit.comment - 메모 - - - - - part_association.edit.type.help - 선택한 부품이 이 부품과 어떤 관계인지 여기서 선택할 수 있습니다. - - - - - part_association.table.from_this_part - 이 부품에서 다른 부품으로의 연관 - - - - - part_association.table.from - 출발 - - - - - part_association.table.type - 관계 - - - - - part_association.table.to - 대상 - - - - - part_association.type.compatible - 호환됨 - - - - - part_association.table.to_this_part - 다른 부품에서 이 부품으로의 연관 - - - - - part_association.type.other - 기타 (사용자 정의 값) - - - - - part_association.type.supersedes - 대체함 - - - - - part_association.edit.other_type - 사용자 정의 유형 - - - - - part_association.edit.delete.confirm - 정말 이 연관을 삭제하시겠습니까? 되돌릴 수 없습니다. - - - - - part_lot.edit.advanced - 고급 옵션 펼치기 - - - - - part_lot.edit.vendor_barcode - 공급업체 바코드 - - - - - part_lot.edit.vendor_barcode.help - 이 로트에 이미 바코드가 있는 경우(예: 공급업체가 부착한 것) 그 내용을 여기에 입력하면 쉽게 스캔할 수 있습니다. - - - - - scan_dialog.mode.vendor - 공급업체 바코드 (부품 로트에 설정됨) - - - - - project.bom.instockAmount - 보유 수량 - - - - - collection_type.new_element.tooltip - 이 요소는 새로 생성되었으며 아직 데이터베이스에 저장되지 않았습니다. - - - - - part.merge.title - 부품 병합 - - - - - part.merge.title.into - 대상: - - - - - part.merge.confirm.title - 정말 <b>%other%</b>을(를) <b>%target%</b>(으)로 병합하시겠습니까? - - - - - part.merge.confirm.message - <b>%other%</b>은(는) 삭제되고, 표시된 정보로 부품이 저장됩니다. - - - - - part.info.merge_modal.title - 부품 병합 - - - - - part.info.merge_modal.other_part - 다른 부품 - - - - - part.info.merge_modal.other_into_this - 다른 부품을 이 부품으로 병합 (다른 부품 삭제, 이 부품 유지) - - - - - part.info.merge_modal.this_into_other - 이 부품을 다른 부품으로 병합 (이 부품 삭제, 다른 부품 유지) - - - - - part.info.merge_btn - 부품 병합 - - - - - part.update_part_from_info_provider.btn - 정보 제공자로 부품 업데이트 - - - - - info_providers.update_part.title - 정보 제공자로 기존 부품 업데이트 - - - - - part.merge.flash.please_review - 데이터가 아직 저장되지 않았습니다. 변경 사항을 검토하고 저장을 클릭하여 새 데이터를 반영하세요. - - - - - user.edit.flash.permissions_fixed - 다른 권한이 필요로 하는 권한이 누락되어 있어 수정되었습니다. 권한이 의도한 대로 설정되었는지 확인하세요. - - - - - permission.legend.dependency_note - 일부 권한 작업은 서로 의존한다는 점에 유의하세요. 누락된 권한이 수정되었다는 경고와 함께 권한이 다시 허용으로 설정된 경우, 의존하는 작업도 금지로 설정해야 합니다. 의존 항목은 보통 작업 오른쪽에서 확인할 수 있습니다. - - - - - log.part_stock_changed.timestamp - 시각 - - - - - part.info.withdraw_modal.timestamp - 작업 시각 - - - - - part.info.withdraw_modal.timestamp.hint - 이 필드를 사용하면 로그에 기록된 시각이 아닌, 재고 작업이 실제로 수행된 날짜를 지정할 수 있습니다. 이 값은 로그 항목의 추가 필드에 저장됩니다. - - - - - part.info.withdraw_modal.delete_lot_if_empty - 비게 되면 이 로트 삭제 - - - - - info_providers.search.error.client_exception - 정보 제공자와 통신 중 오류가 발생했습니다. 해당 제공자 설정을 확인하고 가능하면 OAuth 토큰을 새로고침하세요. - - - - - eda_info.reference_prefix.placeholder - 예: R - - - - - eda_info.reference_prefix - 참조 접두사 - - - - - eda_info.kicad_section.title - KiCad 관련 설정 - - - - - eda_info.value - - - - - - eda_info.value.placeholder - 예: 100n - - - - - eda_info.exclude_from_bom - BOM에서 부품 제외 - - - - - eda_info.exclude_from_board - PCB/보드에서 부품 제외 - - - - - eda_info.exclude_from_sim - 시뮬레이션에서 부품 제외 - - - - - eda_info.kicad_symbol - KiCad 회로도 심볼 - - - - - eda_info.kicad_symbol.placeholder - 예: Transistor_BJT:BC547 - - - - - eda_info.kicad_footprint - KiCad 풋프린트 - - - - - eda_info.kicad_footprint.placeholder - 예: Package_TO_SOT_THT:TO-92 - - - - - part.edit.tab.eda - EDA 정보 - - - - - api.api_endpoints.title - API 엔드포인트 - - - - - api.api_endpoints.partdb - Part-DB API - - - - - api.api_endpoints.kicad_root_url - KiCad API 루트 URL - - - - - eda_info.visibility - 표시 여부 강제 - - - - - eda_info.visibility.help - 기본적으로 EDA 소프트웨어에 대한 표시 여부는 자동으로 결정됩니다. 이 체크박스로 부품을 강제로 표시하거나 숨길 수 있습니다. - - - - - part.withdraw.zero_amount - 0개 수량으로 출고/입고를 시도했습니다! 작업이 수행되지 않았습니다. - - - - - login.flash.access_denied_please_login - 접근이 거부되었습니다! 계속하려면 로그인하세요. - - - - - attachment.upload_multiple_files - 파일 업로드 - - - - - entity.mass_creation_flash - %COUNT%개 항목이 생성되었습니다. - - - - - info_providers.search.number_of_results - 결과 %number%건 - - - - - info_providers.search.no_results - 결과 없음 - - - - - tfa.check.code.confirmation - 생성된 코드 - - - - - info_providers.search.show_existing_part - 기존 부품 보기 - - - - - info_providers.search.edit_existing_part - 기존 부품 편집 - - - - - info_providers.search.existing_part_found.short - 이미 존재하는 부품 - - - - - info_providers.search.existing_part_found - 이 부품(또는 매우 유사한 부품)이 이미 데이터베이스에 있습니다. 동일한 부품인지, 다시 생성할지 확인하세요! - - - - - info_providers.search.update_existing_part - 정보 제공자로 기존 부품 업데이트 - - - - - part.create_from_info_provider.no_category_yet - 정보 제공자가 카테고리를 자동으로 결정하지 못했습니다. 데이터를 검토하고 카테고리를 직접 선택하세요. - - - - - part_lot.edit.user_barcode - 사용자 바코드 - - - - - scan_dialog.mode.user - 사용자 정의 바코드 (부품 로트에 설정됨) - - - - - scan_dialog.mode.eigp - EIGP 114 바코드 (예: DigiKey, Mouser 주문의 데이터매트릭스 코드) - - - - - scan_dialog.mode.lcsc - LCSC.com 바코드 - - - - - scan_dialog.info_mode - 정보 모드 (바코드를 해석하여 내용을 표시하되 부품으로 이동하지 않음) - - - - - label_scanner.decoded_info.title - 해석된 정보 - - - - - label_scanner.target_found - 데이터베이스에서 항목 발견 - - - - - label_scanner.scan_result.title - 스캔 결과 - - - - - label_scanner.no_locations - 이 부품은 어느 위치에도 보관되어 있지 않습니다. - - - - - label_generator.edit_profiles - 프로필 편집 - - - - - label_generator.profile_name_empty - 프로필 이름은 비워 둘 수 없습니다! - - - - - label_generator.save_profile_name - 프로필 이름 - - - - - label_generator.save_profile - 새 프로필로 저장 - - - - - label_generator.profile_saved - 프로필이 저장되었습니다! - - - - - settings.ips.element14 - Element 14 / Farnell - - - - - settings.ips.element14.apiKey - API 키 - - - - - settings.ips.element14.apiKey.help - <a href="https://partner.element14.com/">https://partner.element14.com/</a>에서 API 키를 등록할 수 있습니다. - - - - - settings.ips.element14.storeId - 스토어 도메인 - - - - - settings.ips.element14.storeId.help - 데이터를 가져올 스토어 도메인입니다. 결과의 언어와 통화를 결정합니다. 유효한 도메인 목록은 <a href="https://partner.element14.com/docs/Product_Search_API_REST__Description">여기</a>를 참고하세요. - - - - - settings.ips.tme - TME - - - - - settings.ips.tme.token - API 토큰 - - - - - settings.ips.tme.token.help - <a href="https://developers.tme.eu/en/">https://developers.tme.eu/en/</a>에서 API 토큰과 시크릿을 발급받을 수 있습니다. - - - - - settings.ips.tme.secret - API 시크릿 - - - - - settings.ips.tme.currency - 통화 - - - - - settings.ips.tme.language - 언어 - - - - - settings.ips.tme.country - 국가 - - - - - settings.ips.tme.grossPrices - 세금 포함 가격 가져오기 - - - - - settings.ips.mouser - Mouser - - - - - settings.ips.mouser.apiKey - API 키 - - - - - settings.ips.mouser.apiKey.help - <a href="https://eu.mouser.com/api-hub/">https://eu.mouser.com/api-hub/</a>에서 API 키를 등록할 수 있습니다. - - - - - settings.ips.mouser.searchLimit - 검색 제한 - - - - - settings.ips.mouser.searchLimit.help - 단일 검색의 최대 결과 수입니다. 50을 초과할 수 없습니다. - - - - - settings.ips.mouser.searchOptions - 검색 필터 - - - - - settings.ips.mouser.searchOptions.help - 특정 가용성 및/또는 규제 준수 조건을 만족하는 부품만 표시할 수 있습니다. - - - - - settings.ips.mouser.searchOptions.none - 필터 없음 - - - - - settings.ips.mouser.searchOptions.rohs - RoHS 준수 부품만 - - - - - settings.ips.mouser.searchOptions.inStock - 재고 있는 부품만 - - - - - settings.ips.mouser.searchOptions.rohsAndInStock - 재고 있고 RoHS를 준수하는 부품만 - - - - - settings.ips.lcsc - LCSC - - - - - settings.ips.lcsc.help - 경고: LCSC는 공식 API를 제공하지 않습니다. 이 제공자는 웹샵 API를 사용합니다. LCSC가 의도한 사용 방식이 아니므로 언제든 작동이 중단될 수 있으며, 사용에 따른 책임은 본인에게 있습니다. - - - - - settings.ips.lcsc.enabled - 활성화 - - - - - settings.ips.lcsc.currency - 통화 - - - - - settings.system.attachments - 첨부파일 및 파일 - - - - - settings.system.attachments.maxFileSize - 최대 파일 크기 - - - - - settings.system.attachments.maxFileSize.help - 업로드할 수 있는 파일의 최대 크기입니다. PHP 설정에 의해서도 제한된다는 점에 유의하세요. - - - - - settings.system.attachments.allowDownloads - 외부 파일 다운로드 허용 - - - - - settings.system.attachments.allowDownloads.help - 이 옵션을 사용하면 사용자가 URL을 입력해 외부 파일을 Part-DB로 다운로드할 수 있습니다. <b>주의: 사용자가 Part-DB를 통해 인트라넷 자원에 접근할 수 있게 되므로 보안 문제가 될 수 있습니다!</b> - - - - - settings.system.attachments.downloadByDefault - 새 첨부파일 URL을 기본적으로 다운로드 - - - - - settings.system.customization - 사용자 정의 - - - - - settings.system.customization.instanceName - 인스턴스 이름 - - - - - settings.system.customization.instanceName.help - 이 Part-DB 설치의 이름입니다. 이 값은 탐색 바와 제목에 표시됩니다. - - - - - settings.system.customization.banner - 홈페이지 배너 - - - - - settings.system.history - 이력 로그 - - - - - settings.system.history.saveChangedFields - 요소의 어떤 필드가 변경되었는지 로그 항목에 저장 - - - - - settings.system.history.saveOldData - 요소 변경 시 이전 데이터를 로그 항목에 저장 - - - - - settings.system.history.saveNewData - 요소 변경/생성 시 새 데이터를 로그 항목에 저장 - - - - - settings.system.history.saveRemovedData - 요소 삭제 시 삭제된 데이터를 로그 항목에 저장 - - - - - settings.system.customization.theme - 전역 테마 - - - - - settings.system.history.enforceComments - 작업 유형별 메모 강제 - - - - - settings.system.history.enforceComments.description - 이 옵션으로 어떤 작업에서 사용자가 사유를 반드시 입력해야 하는지 지정할 수 있으며, 입력된 사유는 이력에 기록됩니다. - - - - - settings.system.history.enforceComments.type.part_edit - 부품 편집 - - - - - settings.system.history.enforceComments.type.part_create - 부품 생성 - - - - - settings.system.history.enforceComments.type.part_delete - 부품 삭제 - - - - - settings.system.history.enforceComments.type.part_stock_operation - 부품 재고 작업 - - - - - settings.system.history.enforceComments.type.datastructure_edit - 데이터 구조 편집 - - - - - settings.system.history.enforceComments.type.datastructure_create - 데이터 구조 생성 - - - - - settings.system.history.enforceComments.type.datastructure_delete - 데이터 구조 삭제 - - - - - settings.system.privacy.useGravatar - Gravatar 아바타 사용 - - - - - settings.system.privacy.useGravatar.description - 사용자가 아바타 이미지를 지정하지 않은 경우 사용자 이메일 기반의 Gravatar 아바타를 사용합니다. 이 경우 브라우저가 제3자로부터 이미지를 불러옵니다! - - - - - settings.system.privacy.checkForUpdates - Part-DB 업데이트 확인 - - - - - settings.system.privacy.checkForUpdates.description - Part-DB는 GitHub에서 새 버전이 있는지 정기적으로 확인합니다. 원하지 않거나 서버가 인터넷에 연결할 수 없는 경우 여기서 비활성화하세요. - - - - - settings.system.localization.locale - 기본 언어 / 로캘 - - - - - settings.system.localization - 현지화 - - - - - settings.system.localization.timezone - 기본 시간대 - - - - - settings.system.localization.base_currency - 기준 통화 - - - - - settings.system.localization.base_currency_description - 가격 정보와 환율을 저장하는 데 사용되는 통화입니다. 가격 정보에 통화가 설정되지 않은 경우 이 통화로 간주됩니다. -<b>이 값을 변경해도 기존 통화가 변환되지 않는다는 점에 유의하세요. 가격 정보를 이미 추가한 뒤 기본 통화를 변경하면 가격이 잘못 표시됩니다!</b> - - - - - settings.system.privacy - 개인정보 - - - - - settings.title - 서버 설정 - - - - - settings.misc.kicad_eda - KiCad 연동 - - - - - settings.misc.kicad_eda.category_depth - 카테고리 깊이 - - - - - settings.misc.kicad_eda.category_depth.help - 이 값은 KiCad에서 표시되는 카테고리 트리의 깊이를 결정합니다. 0이면 최상위 카테고리만 표시됩니다. 0보다 큰 값으로 설정하면 더 많은 계층이 표시됩니다. -1로 설정하면 Part-DB의 모든 부품이 KiCad에서 단일 카테고리로 표시됩니다. - - - - - settings.misc.kicad_eda.datasheet_link - 데이터시트 필드를 PDF로 연결 - - - - - settings.misc.kicad_eda.datasheet_link.help - 활성화하면 KiCad의 데이터시트 필드가 실제 PDF 파일(존재하는 경우)로 연결됩니다. 비활성화하면 Part-DB 페이지로 연결됩니다. Part-DB 페이지 링크는 별도의 "Part-DB URL" 필드로 항상 제공됩니다. - - - - - settings.misc.kicad_eda.editor.title - KiCad 자동완성 목록 - - - - - settings.misc.kicad_eda.editor.link - 자동완성 설정 - - - - - settings.misc.kicad_eda.editor.description - KiCad 자동완성이 자동 생성된 기본 목록을 사용할지, 사용자 정의 파일을 사용할지 설정합니다. 사용자 정의 파일은 여기서 편집할 수 있으며, 기본 파일은 참고용으로 읽기 전용으로 표시됩니다. - - - - - settings.misc.kicad_eda.editor.footprints - 풋프린트 목록 - - - - - settings.misc.kicad_eda.editor.footprints.help - 한 줄에 하나씩 입력합니다. KiCad 풋프린트 필드의 자동완성 제안으로 사용됩니다. - - - - - settings.misc.kicad_eda.editor.symbols - 심볼 목록 - - - - - settings.misc.kicad_eda.editor.symbols.help - 한 줄에 하나씩 입력합니다. KiCad 심볼 필드의 자동완성 제안으로 사용됩니다. - - - - - settings.misc.kicad_eda.use_custom_list - 사용자 정의 자동완성 목록 사용 - - - - - settings.misc.kicad_eda.use_custom_list.help - 활성화하면 KiCad 자동완성이 자동 생성된 기본 파일 대신 public/kicad/footprints_custom.txt와 public/kicad/symbols_custom.txt를 사용합니다. - - - - - settings.misc.kicad_eda.editor.custom_footprints - 사용자 정의 풋프린트 목록 - - - - - settings.misc.kicad_eda.editor.custom_symbols - 사용자 정의 심볼 목록 - - - - - settings.misc.kicad_eda.editor.default_footprints - 기본 풋프린트 목록 - - - - - settings.misc.kicad_eda.editor.default_symbols - 기본 심볼 목록 - - - - - settings.misc.kicad_eda.editor.default_files_help - 참고용으로만 표시되는 자동 생성 파일입니다. 변경은 사용자 정의 목록에서 해야 합니다. - - - - - settings.behavior.sidebar - 사이드바 - - - - - settings.behavior.sidebar.items - 사이드바 항목 - - - - - settings.behavior.sidebar.items.help - 기본적으로 사이드바에 표시되는 메뉴입니다. 항목 순서는 드래그 앤 드롭으로 변경할 수 있습니다. - - - - - settings.behavior.sidebar.rootNodeEnabled - 루트 노드 사용 - - - - - settings.behavior.sidebar.rootNodeEnabled.help - 활성화하면 모든 최상위 카테고리, 풋프린트 등이 하나의 루트 노드 아래에 배치됩니다. 비활성화하면 최상위 카테고리가 메뉴에 바로 배치됩니다. - - - - - settings.behavior.sidebar.rootNodeExpanded - 루트 노드 기본 펼침 - - - - - settings.behavior.table - 테이블 - - - - - settings.behavior.table.default_page_size - 기본 페이지 크기 - - - - - settings.behavior.table.default_page_size.help - 전체 페이지 테이블의 기본 페이지 크기입니다. -1로 설정하면 페이지네이션 없이 모든 항목이 표시됩니다. - - - - - settings.behavior.table.parts_default_columns - 부품 테이블 기본 열 - - - - - settings.behavior.table.parts_default_columns.help - 부품 테이블에 기본으로 표시할 열입니다. 항목 순서는 드래그 앤 드롭으로 변경할 수 있습니다. - - - - - settings.ips.oemsecrets - OEMSecrets - - - - - settings.ips.oemsecrets.keepZeroPrices - 가격이 0인 판매처 유지 - - - - - settings.ips.oemsecrets.keepZeroPrices.help - 이 옵션을 설정하지 않으면 가격이 0인 판매처는 유효하지 않은 것으로 간주되어 제외됩니다 - - - - - settings.ips.oemsecrets.parseParams - 설명에서 파라미터 추출 - - - - - settings.ips.oemsecrets.parseParams.help - 활성화하면 제공자가 OEMSecrets의 비구조화된 설명을 구조화된 파라미터로 변환하려 시도합니다. 설명의 각 파라미터는 "...;name1:value1;name2:value2" 형식이어야 합니다 - - - - - settings.ips.oemsecrets.sortMode - 결과 정렬 방식 - - - - - settings.ips.oemsecrets.sortMode.N - 없음 - - - - - settings.ips.oemsecrets.sortMode.C - 완성도 (상세 정보가 많은 항목 우선) - - - - - settings.ips.oemsecrets.sortMode.M - 완성도 및 제조사 이름 - - - - - entity.export.flash.error.no_entities - 내보낼 항목이 없습니다! - - - - - attachment.table.internal_file - 내부 파일 - - - - - attachment.table.external_link - 외부 링크 - - - - - attachment.view_external.view_at - %host%에서 보기 - - - - - attachment.view_external - 외부 버전 보기 - - - - - part.table.actions.error - 동작 수행 중 %count%건의 오류가 발생했습니다: - - - - - part.table.actions.error_detail - %part_name% (ID: %part_id%): %message% - - - - - part_list.action.action.change_location - 위치 변경 (단일 로트 부품만) - - - - - parts.table.action_handler.error.part_lots_multiple - 이 부품은 두 개 이상의 재고를 가지고 있습니다. 어떤 재고를 선택할지 직접 위치를 변경하세요. - - - - - settings.ips.reichelt - Reichelt - - - - - settings.ips.reichelt.help - Reichelt.com은 공식 API를 제공하지 않으므로 이 정보 제공자는 웹사이트를 스크래핑하여 정보를 추출합니다. 언제든 작동이 중단될 수 있으며, 사용에 따른 책임은 본인에게 있습니다. - - - - - settings.ips.reichelt.include_vat - 가격에 부가세 포함 - - - - - settings.ips.pollin - Pollin - - - - - settings.ips.pollin.help - Pollin.de는 공식 API를 제공하지 않으므로 이 정보 제공자는 웹사이트를 스크래핑하여 정보를 추출합니다. 언제든 작동이 중단될 수 있으며, 사용에 따른 책임은 본인에게 있습니다. - - - - - settings.behavior.sidebar.rootNodeRedirectsToNewEntity - 루트 노드를 새 항목 페이지로 연결 - - - - - settings.ips.digikey - Digikey - - - - - settings.ips.digikey.client_id - 클라이언트 ID - - - - - settings.ips.digikey.secret - 시크릿 - - - - - settings.ips.octopart - Octopart / Nexar - - - - - settings.ips.octopart.searchLimit - 결과 수 - - - - - settings.ips.octopart.searchLimit.help - 검색 시 Octopart에서 가져올 결과 수입니다 (API 한도에 포함된다는 점에 유의하세요) - - - - - settings.ips.octopart.onlyAuthorizedSellers - 공인 판매자만 - - - - - settings.ips.octopart.onlyAuthorizedSellers.help - 비공인 판매 정보를 결과에 포함하려면 false로 설정하세요 - - - - - settings.misc.exchange_rate - 환율 - - - - - settings.misc.exchange_rate.fixer_api_key - Fixer.io API 키 - - - - - settings.misc.exchange_rate.fixer_api_key.help - 유로 외 통화 간 환율이 필요한 경우 fixer.io의 API 키를 여기에 입력할 수 있습니다. - - - - - settings.misc.ipn_suggest - 부품 IPN 제안 - - - - - settings.misc.ipn_suggest.regex - 정규식 - - - - - settings.misc.ipn_suggest.regex_help - 도움말 텍스트 - - - - - settings.misc.ipn_suggest.regex_help_description - 정규식 형식 지정에 대한 사용자 도움말 텍스트를 직접 정의합니다. - - - - - settings.misc.ipn_suggest.autoAppendSuffix - IPN 값이 다른 부품에서 이미 사용 중이면 증가 접미사 추가 - - - - - settings.misc.ipn_suggest.suggestPartDigits - 증가 자릿수 - - - - - settings.misc.ipn_suggest.useDuplicateDescription - 부품 설명을 사용하여 다음 사용 가능한 IPN 찾기 - - - - - settings.misc.ipn_suggest.suggestPartDigits.help - IPN(내부 부품 번호) 제안 시스템에서 부품의 증가 번호에 사용되는 자릿수입니다. - - - - - settings.behavior.part_info - 부품 정보 페이지 - - - - - settings.behavior.part_info.show_part_image_overlay - 이미지 오버레이 표시 - - - - - settings.behavior.part_info.show_part_image_overlay.help - 부품 이미지 갤러리에 마우스를 올리면 첨부파일 상세 정보가 담긴 이미지 오버레이를 표시합니다. - - - - - settings.behavior.keybindings - 단축키 - - - - - settings.behavior.keybindings.enable_special_characters - 특수 문자 단축키 활성화 - - - - - settings.behavior.keybindings.enable_special_characters.help - 텍스트 입력란에서 Alt+키 단축키로 특수 문자(그리스 문자, 수학 기호 등)를 입력할 수 있게 합니다. 키보드 배열이나 시스템 단축키와 충돌하는 경우 비활성화하세요. - - - - - perm.config.change_system_settings - 시스템 설정 변경 - - - - - tree.tools.system.settings - 시스템 설정 - - - - - tree.tools.system.update_manager - 업데이트 관리자 - - - - - settings.tooltip.overrideable_by_env - 이 매개변수의 값은 환경 변수 "%env%"를 설정하여 재정의할 수 있습니다. - - - - - settings.flash.saved - 설정이 저장되었습니다. - - - - - settings.flash.invalid - 설정이 유효하지 않습니다. 입력을 확인하세요! - - - - - info_providers.settings.title - 정보 제공자 설정 - - - - - form.apikey.redacted - 보안상의 이유로 숨김 처리됨 - - - - - project.bom_import.map_fields - 필드 매핑 - - - - - project.bom_import.map_fields.help - CSV 열이 BOM 필드에 매핑되는 방식을 설정합니다 - - - - - project.bom_import.delimiter - 구분자 - - - - - project.bom_import.delimiter.comma - 쉼표 (,) - - - - - project.bom_import.delimiter.semicolon - 세미콜론 (;) - - - - - project.bom_import.delimiter.tab - - - - - - project.bom_import.field_mapping.title - 필드 매핑 - - - - - project.bom_import.field_mapping.csv_field - CSV 필드 - - - - - project.bom_import.field_mapping.maps_to - 매핑 대상 - - - - - project.bom_import.field_mapping.suggestion - 제안 - - - - - project.bom_import.field_mapping.priority - 우선순위 - - - - - project.bom_import.field_mapping.priority_help - 우선순위 (낮은 숫자 = 높은 우선순위) - - - - - project.bom_import.field_mapping.priority_short - P - - - - - project.bom_import.field_mapping.priority_note - 우선순위 팁: 낮은 숫자 = 높은 우선순위. 기본 우선순위는 10입니다. 가장 중요한 필드에는 1-9, 일반 우선순위에는 10 이상을 사용하세요. - - - - - project.bom_import.field_mapping.summary - 필드 매핑 요약 - - - - - project.bom_import.field_mapping.select_to_see_summary - 요약을 보려면 필드 매핑을 선택하세요 - - - - - project.bom_import.field_mapping.no_suggestion - 제안 없음 - - - - - project.bom_import.preview - 미리보기 - - - - - project.bom_import.flash.session_expired - 가져오기 세션이 만료되었습니다. 파일을 다시 업로드하세요. - - - - - project.bom_import.field_mapping.ignore - 무시 - - - - - project.bom_import.type.kicad_schematic - KiCad 회로도 BOM (CSV 파일) - - - - - common.back - 뒤로 - - - - - project.bom_import.validation.errors.required_field_missing - %line%줄: 필수 필드 "%field%"가 없거나 비어 있습니다. 이 필드가 매핑되어 있고 데이터가 있는지 확인하세요. - - - - - project.bom_import.validation.errors.no_valid_designators - %line%줄: 지정자 필드에 유효한 부품 참조가 없습니다. 예상 형식: "R1,C2,U3" 또는 "R1, C2, U3". - - - - - project.bom_import.validation.warnings.unusual_designator_format - %line%줄: 일부 부품 참조의 형식이 특이할 수 있습니다: %designators%. 예상 형식: "R1", "C2", "U3" 등. - - - - - project.bom_import.validation.errors.duplicate_designators - %line%줄: 중복된 부품 참조가 있습니다: %designators%. 각 부품은 줄당 한 번만 참조되어야 합니다. - - - - - project.bom_import.validation.errors.invalid_quantity - %line%줄: 수량 "%quantity%"는 유효한 숫자가 아닙니다. 숫자 값을 입력하세요 (예: 1, 2.5, 10). - - - - - project.bom_import.validation.errors.quantity_zero_or_negative - %line%줄: 수량은 0보다 커야 합니다. 입력값: %quantity%. - - - - - project.bom_import.validation.warnings.quantity_unusually_high - %line%줄: 수량 %quantity%이(가) 비정상적으로 높아 보입니다. 올바른지 확인하세요. - - - - - project.bom_import.validation.warnings.quantity_not_whole_number - %line%줄: 수량 %quantity%은(는) 정수가 아니지만 부품 참조가 %count%개 있습니다. 불일치일 수 있습니다. - - - - - project.bom_import.validation.errors.quantity_designator_mismatch - %line%줄: 수량과 부품 참조가 일치하지 않습니다. 수량: %quantity%, 참조: %count%개 (%designators%). 이 둘은 일치해야 합니다. 수량을 조정하거나 부품 참조를 확인하세요. - - - - - project.bom_import.validation.errors.invalid_partdb_id - %line%줄: Part-DB ID "%id%"는 유효한 숫자가 아닙니다. 숫자 ID를 입력하세요. - - - - - project.bom_import.validation.errors.partdb_id_zero_or_negative - %line%줄: Part-DB ID는 0보다 커야 합니다. 입력값: %id%. - - - - - project.bom_import.validation.warnings.partdb_id_not_found - %line%줄: Part-DB ID %id%을(를) 데이터베이스에서 찾을 수 없습니다. 부품은 기존 부품과 연결 없이 가져옵니다. - - - - - project.bom_import.validation.info.partdb_link_success - %line%줄: Part-DB 부품 "%name%" (ID: %id%)에 연결되었습니다. - - - - - project.bom_import.validation.warnings.no_component_name - %line%줄: 부품 이름/명칭(MPN, 명칭 또는 값)이 없습니다. 부품 이름이 "Unknown Component"로 지정됩니다. - - - - - project.bom_import.validation.warnings.package_name_too_long - %line%줄: 패키지 이름 "%package%"이(가) 비정상적으로 깁니다. 올바른지 확인하세요. - - - - - project.bom_import.validation.info.library_prefix_detected - %line%줄: 패키지 "%package%"에 라이브러리 접두사가 포함되어 있습니다. 가져오기 시 자동으로 제거됩니다. - - - - - project.bom_import.validation.errors.non_numeric_field - %line%줄: 필드 "%field%"에 숫자가 아닌 값 "%value%"이(가) 있습니다. 유효한 숫자를 입력하세요. - - - - - project.bom_import.validation.info.import_summary - 가져오기 요약: 총 %total%개 항목, 유효 %valid%개, 문제 있음 %invalid%개. - - - - - project.bom_import.validation.errors.summary - 가져오기를 진행하기 전에 수정해야 하는 유효성 검사 오류 %count%건이 발견되었습니다. - - - - - project.bom_import.validation.warnings.summary - 경고 %count%건이 발견되었습니다. 진행하기 전에 검토하세요. - - - - - project.bom_import.validation.info.all_valid - 모든 항목이 유효성 검사를 통과했습니다! - - - - - project.bom_import.validation.summary - 유효성 검사 요약 - - - - - project.bom_import.validation.total_entries - 전체 항목 - - - - - project.bom_import.validation.valid_entries - 유효한 항목 - - - - - project.bom_import.validation.invalid_entries - 유효하지 않은 항목 - - - - - project.bom_import.validation.success_rate - 성공률 - - - - - project.bom_import.validation.errors.title - 유효성 검사 오류 - - - - - project.bom_import.validation.errors.description - 가져오기를 진행하려면 다음 오류를 수정해야 합니다: - - - - - project.bom_import.validation.warnings.title - 유효성 검사 경고 - - - - - project.bom_import.validation.warnings.description - 진행하기 전에 다음 경고를 검토하세요: - - - - - project.bom_import.validation.info.title - 정보 - - - - - project.bom_import.validation.details.title - 상세 유효성 검사 결과 - - - - - project.bom_import.validation.details.line - - - - - - project.bom_import.validation.details.status - 상태 - - - - - project.bom_import.validation.details.messages - 메시지 - - - - - project.bom_import.validation.details.valid - 유효 - - - - - project.bom_import.validation.details.invalid - 유효하지 않음 - - - - - project.bom_import.validation.all_valid - 모든 항목이 유효하며 가져올 준비가 되었습니다! - - - - - project.bom_import.validation.fix_errors - 가져오기를 진행하기 전에 유효성 검사 오류를 수정하세요. - - - - - project.bom_import.type.generic_csv - 일반 CSV - - - - - label_generator.update_profile - 현재 설정으로 프로필 업데이트 - - - - - label_generator.profile_updated - 라벨 프로필이 업데이트되었습니다. - - - - - settings.behavior.hompepage.items - 홈페이지 항목 - - - - - settings.behavior.homepage.items.help - 홈페이지에 표시할 항목입니다. 순서는 드래그 앤 드롭으로 변경할 수 있습니다. - - - - - settings.system.customization.showVersionOnHomepage - 홈페이지에 Part-DB 버전 표시 - - - - - settings.behavior.part_info.extract_params_from_description - 부품 설명에서 파라미터 추출 - - - - - settings.behavior.part_info.extract_params_from_notes - 부품 메모에서 파라미터 추출 - - - - - settings.ips.default_providers - 기본 검색 제공자 - - - - - settings.ips.general - 일반 설정 - - - - - settings.ips.default_providers.help - 부품 제공자 검색 시 이 제공자들이 미리 선택됩니다. - - - - - settings.behavior.table.preview_image_max_width - 미리보기 이미지 최대 너비 (px) - - - - - settings.behavior.table.preview_image_min_width - 미리보기 이미지 최소 너비 (px) - - - - - info_providers.bulk_import.step1.title - 대량 정보 제공자 가져오기 - 1단계 - - - - - info_providers.bulk_import.parts_selected - 개 부품 선택됨 - - - - - info_providers.bulk_import.step1.global_mapping_description - 선택한 모든 부품에 적용할 필드 매핑을 설정합니다. 예: "MPN → LCSC + Mouser"는 각 부품의 MPN 필드로 LCSC와 Mouser 제공자를 검색한다는 의미입니다. - - - - - info_providers.bulk_import.selected_parts - 선택된 부품 - - - - - info_providers.bulk_import.field_mappings - 필드 매핑 - - - - - info_providers.bulk_import.field_mappings_help - 어떤 부품 필드로 어떤 정보 제공자를 검색할지 정의합니다. 여러 매핑은 조합되어 적용됩니다. - - - - - info_providers.bulk_import.add_mapping - 매핑 추가 - - - - - info_providers.bulk_import.search_results.title - 검색 결과 - - - - - info_providers.bulk_import.errors - 오류 - - - - - info_providers.bulk_import.results_found - 결과 %count%건 발견 - - - - - info_providers.bulk_import.source_field - 소스 필드 - - - - - info_providers.bulk_import.view_existing - 기존 항목 보기 - - - - - info_providers.bulk_search.search_field - 검색 필드 - - - - - info_providers.bulk_search.providers - 정보 제공자 - - - - - info_providers.bulk_import.actions.label - 동작 - - - - - info_providers.bulk_search.providers.help - 부품에 이 필드가 있을 때 검색할 정보 제공자를 선택하세요. - - - - - info_providers.bulk_search.submit - 모든 부품 검색 - - - - - info_providers.bulk_search.field.select - 검색 기준 필드 선택 - - - - - info_providers.bulk_search.field.mpn - 제조사 부품 번호 (MPN) - - - - - info_providers.bulk_search.field.name - 부품 이름 - - - - - part_list.action.action.info_provider - 정보 제공자 - - - - - part_list.action.bulk_info_provider_import - 대량 정보 제공자 가져오기 - - - - - part_list.action.group.eda - EDA / KiCad - - - - - part_list.action.batch_edit_eda - EDA 필드 일괄 편집 - - - - - batch_eda.title - EDA 필드 일괄 편집 - - - - - batch_eda.description - 선택한 부품 %count%개의 EDA/KiCad 필드를 편집합니다. 변경할 각 필드 옆의 "적용" 체크박스를 선택하세요. - - - - - batch_eda.show_parts - 선택된 부품 보기 - - - - - batch_eda.apply_hint - "적용" 체크박스를 선택한 필드만 변경됩니다. 선택하지 않은 필드는 그대로 유지됩니다. - - - - - batch_eda.apply - 적용 - - - - - batch_eda.field - 필드 - - - - - batch_eda.value - - - - - - batch_eda.submit - 선택한 부품에 적용 - - - - - batch_eda.cancel - 취소 - - - - - batch_eda.success - EDA 필드가 업데이트되었습니다. - - - - - batch_eda.no_parts_selected - 일괄 편집할 부품이 선택되지 않았습니다. - - - - - info_providers.bulk_import.step1.spn_recommendation - 더 나은 결과를 위해 SPN(판매처 부품 번호) 사용을 권장합니다. 각 판매처의 SPN을 사용하려면 판매처별 매핑을 추가하세요. - - - - - info_providers.bulk_import.update_part - 부품 업데이트 - - - - - info_providers.bulk_import.back_to_jobs - 작업 목록으로 - - - - - info_providers.bulk_import.back_to_parts - 부품 목록으로 - - - - - info_providers.bulk_import.job_completed - 작업 완료! - - - - - info_providers.bulk_import.job_completed.description - 모든 부품이 처리되었습니다. 아래에서 결과를 검토하거나 부품 목록으로 돌아갈 수 있습니다. - - - - - info_providers.bulk_import.recommended - 상위 - - - - - info_providers.bulk_import.exact_match - 이름 정확히 일치 - - - - - info_providers.bulk_import.mpn_match - MPN 일치 - - - - - info_providers.bulk_import.active_jobs - 활성 작업 - - - - - info_providers.bulk_import.finished_jobs - 기록 - - - - - info_providers.bulk_import.spn_match - SPN 일치 - - - - - info_providers.bulk_import.match - 일치 - - - - - info_providers.bulk_import.quick_apply - 빠른 적용 - - - - - info_providers.bulk_import.quick_apply.tooltip - 편집 양식을 열지 않고 이 제공자 결과를 부품에 적용합니다 - - - - - info_providers.bulk_import.quick_apply_all - 모두 적용 (상위 결과) - - - - - info_providers.bulk_import.quick_apply_all.tooltip - 개별 검토 없이 최상위 검색 결과를 대기 중인 모든 부품에 적용합니다 - - - - - info_providers.bulk_import.prefetch_details - 상세 정보 미리 가져오기 - - - - - info_providers.bulk_import.prefetch_details_help - 모든 결과의 상세 정보를 미리 가져옵니다. 시간이 더 걸리지만 부품 업데이트 작업 속도가 빨라집니다. - - - - - info_providers.bulk_import.step2.title - 정보 제공자에서 대량 가져오기 - - - - - info_providers.bulk_import.step2.card_title - 부품 %count%개 대량 가져오기 - %date% - - - - - info_providers.bulk_import.parts - 개 부품 - - - - - info_providers.bulk_import.results - 개 결과 - - - - - info_providers.bulk_import.created_at - 생성일 - - - - - info_providers.bulk_import.status.in_progress - 진행 중 - - - - - info_providers.bulk_import.status.completed - 완료됨 - - - - - info_providers.bulk_import.status.failed - 실패함 - - - - - info_providers.bulk_import.table.name - 이름 - - - - - info_providers.bulk_import.table.description - 설명 - - - - - info_providers.bulk_import.table.manufacturer - 제조사 - - - - - info_providers.bulk_import.table.provider - 제공자 - - - - - info_providers.bulk_import.table.source_field - 소스 필드 - - - - - info_providers.bulk_import.back - 뒤로 - - - - - info_providers.bulk_import.progress - 진행 상황: - - - - - info_providers.bulk_import.status.pending - 대기 중 - - - - - info_providers.bulk_import.completed - 완료 - - - - - info_providers.bulk_import.skipped - 건너뜀 - - - - - info_providers.bulk_import.mark_completed - 완료로 표시 - - - - - info_providers.bulk_import.mark_skipped - 건너뜀으로 표시 - - - - - info_providers.bulk_import.mark_pending - 대기 중으로 표시 - - - - - info_providers.bulk_import.skip_reason - 건너뛴 이유 - - - - - info_providers.bulk_import.editing_part - 대량 가져오기의 일부로 부품 편집 중 - - - - - info_providers.bulk_import.complete - 완료 - - - - - info_providers.bulk_import.existing_jobs - 기존 작업 - - - - - info_providers.bulk_import.job_name - 작업 이름 - - - - - info_providers.bulk_import.parts_count - 부품 수 - - - - - info_providers.bulk_import.results_count - 결과 수 - - - - - info_providers.bulk_import.progress_label - 진행 상황: %current%/%total% - - - - - info_providers.bulk_import.manage_jobs - 대량 가져오기 작업 관리 - - - - - info_providers.bulk_import.view_results - 결과 보기 - - - - - info_providers.bulk_import.status - 상태 - - - - - info_providers.bulk_import.manage_jobs_description - 모든 대량 가져오기 작업을 보고 관리합니다. 새 작업을 만들려면 부품을 선택하고 "정보 제공자에서 대량 가져오기"를 클릭하세요. - - - - - info_providers.bulk_import.no_jobs_found - 대량 가져오기 작업이 없습니다. - - - - - info_providers.bulk_import.create_first_job - 부품 테이블에서 여러 부품을 선택하고 "대량 정보 제공자 가져오기" 옵션을 선택하여 첫 대량 가져오기 작업을 만들어 보세요. - - - - - info_providers.bulk_import.confirm_delete_job - 정말 이 작업을 삭제하시겠습니까? - - - - - info_providers.bulk_import.job_name_template - 부품 %count%개 대량 가져오기 - - - - - info_providers.bulk_import.step2.instructions.title - 대량 가져오기 사용 방법 - - - - - info_providers.bulk_import.step2.instructions.description - 다음 단계에 따라 부품을 효율적으로 업데이트하세요: - - - - - info_providers.bulk_import.step2.instructions.step1 - "부품 업데이트"를 클릭하여 판매처 데이터로 부품을 편집하세요 - - - - - info_providers.bulk_import.step2.instructions.step2 - 필요에 따라 부품 정보를 검토하고 수정하세요. 참고: 변경 사항을 저장하려면 "저장"을 두 번 클릭해야 합니다. - - - - - info_providers.bulk_import.step2.instructions.step3 - "완료"를 클릭하여 부품을 완료로 표시하고 이 개요로 돌아오세요 - - - - - info_providers.bulk_import.created_by - 생성자 - - - - - info_providers.bulk_import.completed_at - 완료 시각 - - - - - info_providers.bulk_import.action.label - 동작 - - - - - info_providers.bulk_import.action.delete - 삭제 - - - - - info_providers.bulk_import.status.active - 활성 - - - - - info_providers.bulk_import.progress.title - 진행 상황 - - - - - info_providers.bulk_import.progress.completed_text - %completed% / %total% 완료 - - - - - info_providers.bulk_import.status.stopped - 중지됨 - - - - - info_providers.bulk_import.action.stop - 중지 - - - - - info_providers.bulk_import.confirm_stop_job - 정말 이 작업을 중지하시겠습니까? - - - - - part.filter.in_bulk_import_job - 대량 가져오기 작업에 포함됨 - - - - - part.filter.bulk_import_job_status - 대량 가져오기 작업 상태 - - - - - part.filter.bulk_import_part_status - 대량 가져오기 부품 상태 - - - - - part.edit.tab.bulk_import - 대량 가져오기 작업 - - - - - bulk_import.status.pending - 대기 중 - - - - - bulk_import.status.in_progress - 진행 중 - - - - - bulk_import.status.completed - 완료됨 - - - - - bulk_import.status.stopped - 중지됨 - - - - - bulk_import.status.failed - 실패함 - - - - - bulk_import.part_status.pending - 대기 중 - - - - - bulk_import.part_status.completed - 완료됨 - - - - - bulk_import.part_status.skipped - 건너뜀 - - - - - bulk_import.part_status.failed - 실패함 - - - - - bulk_info_provider_import_job.label - 대량 정보 제공자 가져오기 - - - - - bulk_info_provider_import_job_part.label - 대량 가져오기 작업 부품 - - - - - info_providers.bulk_search.priority - 우선순위 - - - - - info_providers.bulk_search.priority.help - 낮은 숫자 = 높은 우선순위. 같은 우선순위 = 결과 조합. 다른 우선순위 = 가장 높은 것부터 시도하고, 결과가 없으면 다음으로 대체합니다. - - - - - info_providers.bulk_import.priority_system.title - 우선순위 시스템 - - - - - info_providers.bulk_import.priority_system.description - 낮은 숫자 = 높은 우선순위. 같은 우선순위 = 결과 조합. 다른 우선순위 = 가장 높은 것부터 시도하고, 결과가 없으면 다음으로 대체합니다. - - - - - info_providers.bulk_import.priority_system.example - 예: 우선순위 1: "LCSC SPN → LCSC", 우선순위 2: "MPN → LCSC + Mouser", 우선순위 3: "이름 → 모든 제공자" - - - - - info_providers.bulk_import.search.submit - 제공자 검색 - - - - - info_providers.bulk_import.research.title - 부품 재검색 - - - - - info_providers.bulk_import.research.description - 업데이트된 정보(예: 새 MPN)로 부품을 다시 검색합니다. 원래 검색과 동일한 필드 매핑을 사용합니다. - - - - - info_providers.bulk_import.research.all_pending - 대기 중인 모든 부품 재검색 - - - - - info_providers.bulk_import.research.part - 재검색 - - - - - info_providers.bulk_import.research.part_tooltip - 업데이트된 정보로 이 부품을 재검색합니다 - - - - - info_providers.bulk_import.max_mappings_reached - 최대 매핑 수에 도달했습니다 - - - - - settings.system - 시스템 - - - - - settings.behavior - 동작 - - - - - settings.ips - 정보 제공자 - - - - - settings.misc - 기타 - - - - - settings.system.localization.language_menu_entries - 언어 메뉴 항목 - - - - - settings.system.localization.language_menu_entries.description - 언어 드롭다운 메뉴에 표시할 언어입니다. 순서는 드래그 앤 드롭으로 변경할 수 있습니다. 비워 두면 사용 가능한 모든 언어가 표시됩니다. - - - - - project.builds.no_bom_entries - 프로젝트에 BOM 항목이 없습니다 - - - - - settings.behavior.sidebar.data_structure_nodes_table_include_children - 테이블에 하위 노드를 기본으로 포함 - - - - - settings.behavior.sidebar.data_structure_nodes_table_include_children.help - 선택하면 카테고리, 풋프린트 등의 부품 테이블에 하위 카테고리의 모든 부품이 포함됩니다. 선택하지 않으면 클릭한 노드에 직접 속한 부품만 표시됩니다. - - - - - info_providers.search.error.oauth_reconnect - 다음 제공자의 OAuth를 다시 연결해야 합니다: %provider% -제공자 정보 목록에서 다시 연결할 수 있습니다. - - - - - settings.misc.ipn_suggest.useDuplicateDescription.help - 활성화하면 부품 설명으로 동일한 설명을 가진 기존 부품을 찾고, 해당 부품의 숫자 접미사를 증가시켜 제안 목록의 다음 사용 가능한 IPN을 결정합니다. - - - - - settings.misc.ipn_suggest.regex.help - 모든 IPN이 만족해야 하는 PCRE 호환 정규 표현식입니다. 모든 값을 IPN으로 허용하려면 비워 두세요. - - - - - user.labelp - 사용자 - - - - - currency.labelp - 통화 - - - - - measurement_unit.labelp - 측정 단위 - - - - - attachment_type.labelp - 첨부파일 형식 - - - - - label_profile.labelp - 라벨 프로필 - - - - - part_custom_state.labelp - 사용자 정의 부품 상태 - - - - - group.labelp - 그룹 - - - - - settings.synonyms.type_synonym.type - 유형 - - - - - settings.synonyms.type_synonym.language - 언어 - - - - - settings.synonyms.type_synonym.translation_singular - 번역 (단수) - - - - - settings.synonyms.type_synonym.translation_plural - 번역 (복수) - - - - - settings.synonyms.type_synonym.add_entry - 항목 추가 - - - - - settings.synonyms.type_synonym.remove_entry - 항목 제거 - - - - - settings.synonyms - 동의어 - - - - - settings.synonyms.help - 동의어 시스템을 사용하면 Part-DB가 특정 항목을 부르는 명칭을 재정의할 수 있습니다. 특히 Part-DB를 전자부품 외의 용도로 사용할 때 유용합니다. -이 시스템은 현재 실험적이며 여기서 정의한 동의어가 모든 곳에 표시되지 않을 수 있습니다. - - - - - settings.synonyms.type_synonyms - 유형 동의어 - - - - - settings.synonyms.type_synonyms.help - 유형 동의어를 사용하면 내장 데이터 유형의 라벨을 바꿀 수 있습니다. 예를 들어 "풋프린트"를 다른 이름으로 바꿀 수 있습니다. - - - - - log.element_edited.changed_fields.part_ipn_prefix - IPN 접두사 - - - - - part.labelp - 부품 - - - - - project_bom_entry.labelp - BOM 항목 - - - - - part_lot.labelp - 부품 로트 - - - - - orderdetail.labelp - 주문 정보 - - - - - pricedetail.labelp - 가격 정보 - - - - - parameter.labelp - 파라미터 - - - - - part_association.labelp - 부품 연관 - - - - - bulk_info_provider_import_job.labelp - 대량 정보 제공자 가져오기 - - - - - bulk_info_provider_import_job_part.labelp - 대량 가져오기 작업 부품 - - - - - password_toggle.hide - 숨기기 - - - - - password_toggle.show - 표시 - - - - - settings.misc.ipn_suggest.regex.help.placeholder - 예: 형식: "-"로 구분된 3~4개의 영숫자 구간(임의 개수) 뒤에 "-"와 숫자 4자리, 예: PCOM-RES-0001 - - - - - part.edit.tab.advanced.ipn.prefix.global_prefix - 모든 부품에 공통으로 적용되는 전역 IPN 접두사 - - - - - settings.misc.ipn_suggest.fallbackPrefix - 대체 접두사 - - - - - settings.misc.ipn_suggest.fallbackPrefix.help - 카테고리에 접두사가 정의되지 않은 경우 사용되는 IPN 접두사입니다. - - - - - settings.misc.ipn_suggest.numberSeparator - 번호 구분자 - - - - - settings.misc.ipn_suggest.numberSeparator.help - 접두사와 IPN 번호를 구분하는 데 사용되는 구분 문자입니다. - - - - - settings.misc.ipn_suggest.categorySeparator - 카테고리 구분자 - - - - - settings.misc.ipn_suggest.categorySeparator.help - 서로 다른 계층의 카테고리 접두사를 구분하는 데 사용되는 구분 문자입니다. - - - - - settings.misc.ipn_suggest.globalPrefix - 전역 접두사 - - - - - settings.misc.ipn_suggest.globalPrefix.help - 활성화하면 모든 카테고리의 부품에 공통으로 적용되는 이 전역 접두사로 IPN을 생성하는 옵션이 제공됩니다. - - - - - Do not remove! Used for datatables rendering. - - - datatable.datatable.lengthMenu - _MENU_ - - - - - settings.ips.buerklin - Buerklin - - - - - settings.ips.buerklin.username - 사용자 이름 - - - - - settings.ips.buerklin.help - Buerklin API 접근 제한: -IP 주소당 분당 100회 요청 -Buerklin API 인증 서버: -IP 주소당 분당 10회 요청 - - - - - project.bom.part_id - [Part] ID - - - - - info_providers.search.error.general_exception - 정보 제공자에서 부품을 가져오는 중 알 수 없는 오류: %type%. 제공자가 올바르게 설정되어 있고 접근 키가 올바른지 확인하세요. 자세한 내용은 서버 로그를 참고하세요. - - - - - info_providers.search.error.transport_exception - 제공자에서 정보를 가져오는 중 전송 오류가 발생했습니다. 서버가 인터넷에 연결되어 있는지 확인하세요. 자세한 내용은 서버 로그를 참고하세요. - - - - - update_manager.title - 업데이트 관리자 - - - - - update_manager.new - 신규 - - - - - update_manager.current_installation - 현재 설치 - - - - - update_manager.version - 버전 - - - - - update_manager.installation_type - 설치 유형 - - - - - update_manager.git_branch - Git 브랜치 - - - - - update_manager.git_commit - Git 커밋 - - - - - update_manager.local_changes - 로컬 변경 사항 - - - - - update_manager.commits_behind - 뒤처진 커밋 수 - - - - - update_manager.auto_update_supported - 자동 업데이트 지원 - - - - - update_manager.refresh - 새로고침 - - - - - update_manager.latest_release - 최신 릴리스 - - - - - update_manager.tag - 태그 - - - - - update_manager.released - 릴리스 일자 - - - - - update_manager.release_notes - 릴리스 노트 - - - - - update_manager.view - 보기 - - - - - update_manager.view_on_github - GitHub에서 보기 - - - - - update_manager.view_release - 릴리스 보기 - - - - - update_manager.could_not_fetch_releases - 릴리스 정보를 가져올 수 없습니다. 인터넷 연결을 확인하세요. - - - - - update_manager.how_to_update - 업데이트 방법 - - - - - update_manager.cli_instruction - Part-DB를 업데이트하려면 터미널에서 다음 명령 중 하나를 실행하세요: - - - - - update_manager.check_for_updates - 업데이트 확인 - - - - - update_manager.update_to_latest - 최신 버전으로 업데이트 - - - - - update_manager.update_to_specific - 특정 버전으로 업데이트 - - - - - update_manager.cli_recommendation - 안전성과 신뢰성을 위해 업데이트는 명령줄 인터페이스로 수행해야 합니다. 업데이트 과정에서 자동으로 백업을 생성하고, 유지보수 모드를 활성화하며, 마이그레이션을 처리합니다. - - - - - update_manager.up_to_date - 최신 상태 - - - - - update_manager.newer - 더 새로움 - - - - - update_manager.current - 현재 - - - - - update_manager.older - 더 오래됨 - - - - - update_manager.prerelease - 사전 릴리스 - - - - - update_manager.status - 상태 - - - - - update_manager.available_versions - 사용 가능한 버전 - - - - - update_manager.no_releases_found - 릴리스를 찾을 수 없습니다 - - - - - update_manager.view_release_notes - 릴리스 노트 보기 - - - - - update_manager.update_logs - 업데이트 로그 - - - - - update_manager.backups - 백업 - - - - - update_manager.date - 날짜 - - - - - update_manager.log_file - 로그 파일 - - - - - update_manager.no_logs_found - 업데이트 로그를 찾을 수 없습니다 - - - - - update_manager.file - 파일 - - - - - update_manager.size - 크기 - - - - - update_manager.no_backups_found - 백업을 찾을 수 없습니다 - - - - - update_manager.validation_issues - 유효성 검사 문제 - - - - - update_manager.maintenance_mode_active - 유지보수 모드가 활성화되어 있습니다 - - - - - update_manager.update_in_progress - 현재 업데이트가 진행 중입니다 - - - - - update_manager.started_at - 시작 시각 - - - - - update_manager.new_version_available.message - Part-DB %version% 버전이 출시되었습니다! 최신 기능과 보안 수정을 위해 업데이트를 고려하세요. - - - - - update_manager.changelog - 변경 사항 - - - - - update_manager.no_release_notes - 이 버전의 릴리스 노트가 없습니다. - - - - - update_manager.back_to_update_manager - 업데이트 관리자로 돌아가기 - - - - - update_manager.download_assets - 다운로드 - - - - - update_manager.update_to_this_version - 이 버전으로 업데이트 - - - - - update_manager.run_command_to_update - 이 버전으로 업데이트하려면 터미널에서 다음 명령을 실행하세요: - - - - - update_manager.log_viewer - 로그 뷰어 - - - - - update_manager.update_log - 업데이트 로그 - - - - - update_manager.bytes - 바이트 - - - - - perm.system.manage_updates - Part-DB 업데이트 관리 - - - - - update_manager.create_backup - 업데이트 전 백업 생성 (권장) - - - - - update_manager.confirm_update - 정말 Part-DB를 업데이트하시겠습니까? 업데이트 전에 백업이 생성됩니다. - - - - - update_manager.already_up_to_date - 최신 버전의 Part-DB를 사용 중입니다. - - - - - update_manager.progress.title - 업데이트 진행 상황 - - - - - update_manager.progress.updating - Part-DB 업데이트 중... - - - - - update_manager.progress.completed - 업데이트 완료! - - - - - update_manager.progress.failed - 업데이트 실패 - - - - - update_manager.progress.initializing - 초기화 중... - - - - - update_manager.progress.updating_to - %version% 버전으로 업데이트 중 - - - - - update_manager.progress.downgrading_to - %version% 버전으로 다운그레이드 중 - - - - - update_manager.progress.error - 오류 - - - - - update_manager.progress.success_message - Part-DB가 업데이트되었습니다! 새 버전을 확인하려면 페이지를 새로고침해야 할 수 있습니다. - - - - - update_manager.progress.steps - 업데이트 단계 - - - - - update_manager.progress.waiting - 업데이트 시작 대기 중... - - - - - update_manager.progress.back - 업데이트 관리자로 돌아가기 - - - - - update_manager.progress.refresh_page - 페이지 새로고침 - - - - - update_manager.progress.warning - 중요 - - - - - update_manager.progress.do_not_close - 업데이트가 진행되는 동안 이 페이지를 닫거나 다른 페이지로 이동하지 마세요. 페이지를 닫아도 업데이트는 계속되지만 진행 상황을 확인할 수 없게 됩니다. - - - - - update_manager.progress.auto_refresh - 이 페이지는 진행 상황 표시를 위해 2초마다 자동으로 새로고침됩니다. - - - - - update_manager.progress.downgrade_title - 다운그레이드 진행 상황 - - - - - update_manager.progress.downgrade_completed - 다운그레이드 완료! - - - - - update_manager.progress.downgrade_failed - 다운그레이드 실패 - - - - - update_manager.progress.downgrade_success_message - Part-DB가 다운그레이드되었습니다! 새 버전을 확인하려면 페이지를 새로고침해야 할 수 있습니다. - - - - - update_manager.progress.downgrade_steps - 다운그레이드 단계 - - - - - update_manager.progress.downgrade_do_not_close - 다운그레이드가 진행되는 동안 이 페이지를 닫거나 다른 페이지로 이동하지 마세요. 페이지를 닫아도 다운그레이드는 계속되지만 진행 상황을 확인할 수 없게 됩니다. - - - - - update_manager.confirm_downgrade - 정말 Part-DB를 다운그레이드하시겠습니까? 이전 버전으로 되돌아갑니다. 다운그레이드 전에 백업이 생성됩니다. - - - - - update_manager.downgrade_removes_update_manager - 경고: 이 버전에는 업데이트 관리자가 포함되어 있지 않습니다. 다운그레이드 후에는 명령줄(git checkout, composer install 등)로 직접 업데이트해야 합니다. - - - - - update_manager.restore_backup - 백업 복원 - - - - - update_manager.restore_confirm_title - 백업에서 복원 - - - - - update_manager.restore_confirm_message - 정말 이 백업에서 데이터베이스를 복원하시겠습니까? - - - - - update_manager.restore_confirm_warning - 경고: 현재 데이터베이스가 백업 데이터로 덮어씌워집니다. 이 작업은 되돌릴 수 없습니다! 진행하기 전에 최신 백업이 있는지 확인하세요. - - - - - update_manager.web_updates_disabled - 웹 기반 업데이트가 비활성화되어 있습니다 - - - - - update_manager.web_updates_disabled_hint - 서버 관리자가 웹 기반 업데이트를 비활성화했습니다. CLI 명령 "php bin/console partdb:update"로 업데이트를 수행하세요. - - - - - update_manager.backup_restore_disabled - 서버 설정에 의해 백업 복원이 비활성화되어 있습니다. - - - - - update_manager.backup.create - 백업 생성 - - - - - update_manager.backup.create.confirm - 지금 전체 백업을 생성하시겠습니까? 시간이 걸릴 수 있습니다. - - - - - update_manager.backup.created - 백업이 생성되었습니다. - - - - - update_manager.backup.delete.confirm - 정말 이 백업을 삭제하시겠습니까? - - - - - update_manager.backup.deleted - 백업이 삭제되었습니다. - - - - - update_manager.backup.delete_error - 백업 삭제에 실패했습니다. - - - - - update_manager.log.delete.confirm - 정말 이 로그를 삭제하시겠습니까? - - - - - update_manager.log.deleted - 로그가 삭제되었습니다. - - - - - update_manager.log.delete_error - 로그 삭제에 실패했습니다. - - - - - update_manager.view_log - 로그 보기 - - - - - update_manager.delete - 삭제 - - - - - update_manager.backup.download - 백업 다운로드 - - - - - update_manager.backup.download.password_label - 다운로드하려면 비밀번호를 확인하세요 - - - - - update_manager.backup.download.security_warning - 백업에는 비밀번호 해시와 시크릿 등 민감한 데이터가 포함되어 있습니다. 다운로드를 진행하려면 비밀번호를 확인하세요. - - - - - update_manager.backup.download.invalid_password - 비밀번호가 올바르지 않습니다. 백업 다운로드가 거부되었습니다. - - - - - update_manager.backup.docker_warning - Docker 설치가 감지되었습니다. 백업은 영구 볼륨이 아닌 var/backups/에 저장됩니다. 다운로드 버튼으로 백업을 외부에 저장하거나 docker-compose.yml에서 var/backups/를 볼륨으로 마운트하세요. - - - - - settings.ips.conrad - Conrad - - - - - settings.ips.conrad.shopID - 숍 ID - - - - - settings.ips.conrad.shopID.description - 결과를 가져올 Conrad 스토어 버전입니다. 결과의 언어, 가격, 통화를 결정합니다. B2B와 B2C 버전이 모두 있는 경우 부가세 포함 가격을 원하면 B2C 버전을 선택하세요. - - - - - settings.ips.conrad.attachment_language_filter - 첨부파일 언어 필터 - - - - - settings.ips.conrad.attachment_language_filter.description - 선택한 언어의 첨부파일만 결과에 포함합니다. - - - - - settings.ips.generic_web_provider - 일반 웹 URL 제공자 - - - - - settings.ips.generic_web_provider.description - 이 정보 제공자는 다양한 쇼핑몰 페이지 URL에서 기본 부품 정보를 가져올 수 있습니다. - - - - - settings.ips.generic_web_provider.enabled.help - 이 제공자를 활성화하면 사용자가 Part-DB 서버를 통해 임의의 웹사이트에 요청을 보낼 수 있습니다. 잠재적 결과를 인지하고 있는 경우에만 활성화하세요. - - - - - info_providers.from_url.title - URL로 [part] 생성 - - - - - info_providers.from_url.url.label - URL - - - - - info_providers.from_url.no_part_found - 해당 URL에서 부품을 찾을 수 없습니다. 유효한 쇼핑몰 URL이 맞나요? - - - - - info_providers.from_url.help - 입력한 URL을 기반으로 부품을 생성합니다. 가능하면 기존 정보 제공자에 위임하고, 그렇지 않으면 웹페이지 메타데이터에서 기본 데이터를 추출합니다. - - - - - update_manager.cant_auto_update - WebUI에서 자동으로 업데이트할 수 없습니다 - - - - - update_manager.switch_to - 전환 - - - - - update_manager.update_to - 업데이트 - - - - - part.gtin - GTIN / EAN - - - - - info_providers.capabilities.gtin - GTIN / EAN - - - - - part.table.gtin - GTIN - - - - - scan_dialog.mode.gtin - GTIN / EAN 바코드 - - - - - attachment_type.edit.allowed_targets - 사용 대상 제한 - - - - - attachment_type.edit.allowed_targets.help - 이 첨부파일 형식을 특정 요소 클래스에서만 사용할 수 있게 합니다. 비워 두면 모든 요소 클래스에서 이 첨부파일 형식이 표시됩니다. - - - - - orderdetails.edit.prices_includes_vat - 가격에 부가세 포함 - - - - - prices.incl_vat - 부가세 포함 - - - - - prices.excl_vat - 부가세 별도 - - - - - settings.system.localization.prices_include_tax_by_default - 가격에 부가세를 기본으로 포함 - - - - - settings.system.localization.prices_include_tax_by_default.description - 새로 생성되는 구매 정보에서 가격의 부가세 포함 여부에 대한 기본값입니다. - - - - - part_lot.edit.last_stocktake_at - 마지막 재고 실사 - - - - - perm.parts_stock.stocktake - 재고 실사 - - - - - part.info.stocktake_modal.title - 로트 재고 실사 - - - - - part.info.stocktake_modal.expected_amount - 예상 수량 - - - - - part.info.stocktake_modal.actual_amount - 실제 수량 - - - - - log.part_stock_changed.stock_take - 재고 실사 - - - - - log.element_edited.changed_fields.last_stocktake_at - 마지막 재고 실사 - - - - - part.table.eda_reference - EDA 참조 - - - - - part.table.eda_value - EDA 값 - - - - - settings.misc.kicad_eda.default_parameter_visibility - 파라미터의 기본 EDA 표시 여부 - - - - - settings.misc.kicad_eda.default_parameter_visibility.help - 표시 여부가 명시적으로 설정되지 않은 모든 [part] 파라미터의 EDA 표시 여부입니다. 활성화하면 모든 파라미터가 기본적으로 EDA 소프트웨어에 표시됩니다. - - - - - settings.misc.kicad_eda.default_orderdetails_visibility - 구매 정보의 기본 EDA 표시 여부 - - - - - settings.misc.kicad_eda.default_orderdetails_visibility.help - 표시 여부가 명시적으로 설정되지 않은 모든 구매 정보의 EDA 표시 여부입니다. 활성화하면 모든 구매 정보가 기본적으로 EDA 소프트웨어에 표시됩니다. - - - - - label_scanner.open - 상세 보기 - - - - - label_scanner.db_part_found - 바코드에 해당하는 데이터베이스 [part] 발견 - - - - - label_scanner.part_can_be_created - [Part] 생성 가능 - - - - - label_scanner.part_can_be_created.help - 데이터베이스에서 일치하는 [part]을(를) 찾지 못했지만, 이 바코드를 기반으로 새 [part]을(를) 생성할 수 있습니다. - - - - - label_scanner.part_create_btn - 바코드로 [part] 생성 - - - - - parts.create_from_scan.title - 라벨 스캔으로 [part] 생성 - - - - - scan_dialog.mode.amazon - Amazon 바코드 - - - - - scan_dialog.mode.tme - TME 바코드 - - - - - settings.ips.canopy - Canopy - - - - - settings.ips.canopy.alwaysGetDetails - 항상 상세 정보 가져오기 - - - - - settings.ips.canopy.alwaysGetDetails.help - 선택하면 부품 생성 시 Canopy에서 더 많은 상세 정보를 가져옵니다. API 요청이 추가로 발생하지만 제품 요점 설명과 카테고리 정보를 얻을 수 있습니다. - - - - - attachment.sandbox.warning - 경고: 사용자가 업로드한 첨부파일을 보고 있습니다. 신뢰할 수 없는 콘텐츠입니다. 주의해서 진행하세요. - - - - - attachment.sandbox.back_to_partdb - Part-DB로 돌아가기 - - - - - settings.system.attachments.showHTMLAttachments - 업로드된 HTML 첨부파일 표시 (샌드박스) - - - - - settings.system.attachments.showHTMLAttachments.help - ⚠️ 활성화하면 사용자가 업로드한 HTML 첨부파일을 브라우저에서 바로 볼 수 있습니다. 많은 잠재적 악성 기능이 제한되지만, 여전히 잠재적 보안 위험이므로 파일을 업로드할 수 있는 사용자를 신뢰하는 경우에만 활성화하세요. - - - - - attachment.sandbox.title - HTML [Attachment] - - - - - attachment.sandbox.as_plain_text - 일반 텍스트로 보기 - - - - - modal.cancel - 취소 - - - - - update_manager.web_updates_allowed - 웹 업데이트 허용됨 - - - - - update_manager.backup_restore_allowed - 백업 복원 허용됨 - - - - - update_manager.backup_download_allowed - 백업 다운로드 허용됨 - - - - - update_manager.docker.setup_title - Watchtower로 원클릭 Docker 업데이트 활성화 - - - - - update_manager.docker.setup_description - Part-DB는 오픈소스 컨테이너 업데이터인 Watchtower를 사용해 Docker 컨테이너를 자동으로 업데이트할 수 있습니다. Watchtower를 보조 컨테이너로 추가하고 아래에서 연결을 설정하세요. - - - - - update_manager.docker.setup_step1 - 1. docker-compose.yml에 Watchtower를 추가하세요: - - - - - update_manager.docker.setup_step2 - 2. Part-DB 컨테이너에 다음 환경 변수를 추가하세요: - - - - - update_manager.docker.setup_network_hint - Part-DB와 Watchtower가 같은 Docker 네트워크에 있는지 확인하세요. Watchtower에서 라벨 기반 필터링(WATCHTOWER_LABEL_ENABLE=true)을 사용한다면 Part-DB 컨테이너에 "com.centurylinklabs.watchtower.enable=true" 라벨을 추가하세요. - - - - - update_manager.docker.watchtower_unreachable_title - Watchtower에 연결할 수 없음 - - - - - update_manager.docker.watchtower_unreachable_description - Watchtower가 설정되어 있지만 연결할 수 없습니다. Watchtower 컨테이너가 실행 중인지, API URL과 토큰이 올바른지 확인하세요. - - - - - update_manager.docker.confirm_update - 정말 Watchtower로 Part-DB를 업데이트하시겠습니까? 컨테이너가 새 이미지로 재시작됩니다. Git 업데이트와 달리 Docker 업데이트는 자동으로 롤백할 수 없습니다. - - - - - update_manager.docker.update_via_watchtower - Watchtower로 업데이트: - - - - - update_manager.docker.no_rollback_warning - Docker 업데이트는 자동으로 롤백할 수 없습니다. 필요 시 데이터를 복원할 수 있도록 업데이트 전에 데이터베이스 백업이 생성됩니다. - - - - - update_manager.docker.progress_title - Docker 업데이트 진행 중 - - - - - update_manager.docker.waiting_for_watchtower - Watchtower가 새 이미지를 가져오기를 기다리는 중... - - - - - update_manager.docker.elapsed - 경과 시간 - - - - - update_manager.docker.waiting_title - 업데이트 시작됨 - - - - - update_manager.docker.waiting_description - Watchtower에 알림이 전송되었습니다. 최신 Docker 이미지를 가져오고 Part-DB 컨테이너를 재시작합니다. - - - - - update_manager.docker.watchtower_working - Watchtower가 업데이트를 처리하는 중... - - - - - update_manager.docker.watchtower_working_hint - 인터넷 속도와 이미지 크기에 따라 몇 분 정도 걸릴 수 있습니다. - - - - - update_manager.docker.restarting_title - 컨테이너 재시작 중 - - - - - update_manager.docker.restarting_description - Watchtower가 새 이미지를 가져왔으며 Part-DB 컨테이너를 재시작하고 있습니다. - - - - - update_manager.docker.restarting_hint - 서버가 다시 온라인 상태가 되면 페이지가 자동으로 감지합니다. 보통 10-30초 정도 걸립니다. - - - - - update_manager.docker.success_title - 업데이트 완료! - - - - - update_manager.docker.success_message - Watchtower를 통해 Part-DB가 업데이트되었습니다. - - - - - update_manager.docker.previous_version - 이전 버전 - - - - - update_manager.docker.new_version - 새 버전 - - - - - update_manager.docker.back_to_update_manager - 업데이트 관리자로 돌아가기 - - - - - update_manager.docker.go_to_homepage - 홈페이지로 이동 - - - - - update_manager.docker.timeout_title - 업데이트가 예상보다 오래 걸림 - - - - - update_manager.docker.timeout_message - 업데이트가 예상보다 오래 걸리고 있습니다. 자세한 내용은 Watchtower 컨테이너 로그를 확인하세요. 업데이트가 아직 진행 중일 수 있습니다. - - - - - update_manager.docker.retry - 재시도 - - - - - update_manager.docker.warning - 경고 - - - - - update_manager.docker.do_not_close - 이 페이지를 닫지 마세요. 업데이트가 완료되면 자동으로 감지됩니다. - - - - - update_manager.docker.updating_via_watchtower - Watchtower로 업데이트 중 - - - - - update_manager.docker.step_waiting - 이미지 가져오기 - - - - - update_manager.docker.steps - 업데이트 단계 - - - - - update_manager.docker.step_trigger - 업데이트 시작 - - - - - update_manager.docker.step_trigger_desc - Watchtower에 업데이트 확인 알림이 전송되었습니다 - - - - - update_manager.docker.step_pull - 새 이미지 가져오기 - - - - - update_manager.docker.step_pull_desc - 레지스트리에서 최신 Docker 이미지를 다운로드하는 중 - - - - - update_manager.docker.step_restart - 컨테이너 재시작 - - - - - update_manager.docker.step_restart_desc - 이전 컨테이너를 중지하고 새 컨테이너를 시작하는 중 - - - - - update_manager.docker.step_verify - 확인 - - - - - update_manager.docker.step_verify_desc - Part-DB가 새 버전으로 실행 중인지 확인하는 중 - - - - - update_manager.docker.watchtower_status - Watchtower - - - - - update_manager.docker.watchtower_connected - 연결됨 - - - - - update_manager.docker.watchtower_unreachable_short - 연결 불가 - - - - - update_manager.docker.watchtower_not_configured - 설정되지 않음 - - - - - update_manager.docker.step_stop - 컨테이너 중지 - - - - - update_manager.docker.step_stop_desc - 재생성 전에 현재 컨테이너를 정상적으로 중지하는 중 - - - - - update_manager.docker.step_health - 상태 확인 - - - - - update_manager.docker.step_health_desc - 새 컨테이너가 상태 확인을 통과하기를 기다리는 중 - - - - - update_manager.docker.updating - Docker로 Part-DB 업데이트 중... - - - - - part.create_from_info_provider.lot_filled_from_barcode - 바코드로 [Part_lot]이(가) 생성되었습니다. 데이터가 올바르고 의도한 대로인지 확인하세요. - - - - - project.bom_import.field_mapping.error.check_delimiter - 매핑 오류: 올바른 구분자를 선택했는지 확인하세요! - - - - - settings.ai - AI - - - - - settings.ai.openrouter - OpenRouter - - - - - settings.ai.lmstudio - LMStudio - - - - - settings.ips.ai_extractor.model - AI 모델 - - - - - settings.ips.ai_extractor.ai_platform - AI 플랫폼 - - - - - settings.ips.ai_extractor.model.help - 추출에 사용할 AI 모델입니다. 구조화된 출력을 지원해야 합니다. - - - - - settings.ips.ai_extractor.max_content_length - 최대 웹사이트 콘텐츠 길이 - - - - - settings.ips.ai_extractor.max_content_length.description - AI 서비스로 전송되는 웹사이트 콘텐츠의 최대 문자 수입니다. - - - - - settings.ips.ai_extractor.output_language - 출력 언어 - - - - - settings.ips.ai_extractor.output_language.description - 기본적으로 제공자는 웹사이트와 같은 언어로 정보를 반환합니다. 이 옵션으로 AI에게 번역을 요청할 수 있습니다. 일부 모델에서만 작동할 수 있습니다. - - - - - settings.ips.ai_extractor.additional_instructions - 추가 지시 사항 - - - - - settings.ips.ai_extractor.additional_instructions.description - 추가 지시 사항은 시스템 프롬프트에 덧붙여집니다. - - - - - info_providers.search.advanced_options - 고급 옵션 - - - - - info_providers.no_cache_search - 검색 결과 캐시 안 함 / 새로 검색 강제 - - - - - info_providers.no_cache_details - 결과 상세 캐시 안 함 / 부품 상세 정보 새로 가져오기 강제 - - - - - info_providers.from_url.method.generic_web - 클래식 웹 스크래퍼 - - - - - info_providers.from_url.method.ai_web - AI 웹 스크래퍼 - - - - - info_providers.from_url.method - 방식 - - - - - info_providers.from_url.no_cache - 캐시 무시 / 정보 새로 가져오기 강제 - - - - - info_providers.from_url.skip_delegation - 특화 정보 제공자에 위임하지 않음 - - - - - settings.ips.ai_extractor - AI 웹 추출기 - - - - - settings.ips.ai_extractor.description - 이 정보 제공자는 대규모 언어 모델(LLM)을 사용해 임의의 쇼핑몰 URL에서 상세한 부품 정보를 추출합니다. - - - - - settings.ai.openrouter.help - openrouter.ai를 통해 다양한 AI 모델에 접근 - - - - - settings.ai.lmstudio.hosturl - 호스트 URL - - - - - settings.ai.ollama - Ollama - - - - - settings.ai.ollama.endpoint - 엔드포인트 URL - - - - - settings.ai.ollama.apiKey - API 키 - - - - - settings.ai.timeout - 타임아웃 - - - - - settings.ai.timeout.help - 응답을 기다리는 최대 시간(초)입니다. 로컬 AI 추론은 몇 분이 걸릴 수 있으며, 클라우드 추론은 일반적으로 더 빠릅니다. - - - - - browser_plugin.recent_pages.title - 최근 브라우저 제출 - - - - - browser_plugin.recent_pages.help - 브라우저 확장 프로그램에서 최근 제출한 페이지입니다. 클릭하면 캡처된 HTML로 부품을 생성합니다. - - - - - settings.ips.browser_plugin - 브라우저 플러그인 - - - - - settings.ips.browser_plugin.description - 브라우저 플러그인을 사용하면 브라우저에서 직접 Part-DB로 페이지를 제출해 새 부품을 생성할 수 있습니다. HTML 콘텐츠가 제출되므로 DDoS 보호 페이지나 올바른 렌더링에 자바스크립트가 필요한 페이지에서도 추출이 가능합니다. 유용하게 사용하려면 일반 웹 또는 AI 웹 추출기가 활성화되어 있어야 합니다. - - - - - settings.ips.browser_plugin.enabled.help - 활성화하면 정보 제공자 권한이 있는 사용자가 Part-DB에 페이지를 제출하고 나중에 조회할 수 있습니다. - - - - - system.app_secret.insecure.title - 안전하지 않은 APP_SECRET - - - - - system.app_secret.insecure.message - <code>APP_SECRET</code> 환경 변수가 Part-DB에 기본으로 제공되는 값으로 설정되어 있습니다. 보안 위험입니다! <code>.env.local</code> 또는 <code>docker-compose.yaml</code> 파일에서 새 무작위 값으로 설정하세요. - - - - - system.app_secret.insecure.suggestion - 무작위로 생성된 이 값을 사용할 수 있습니다 (누구와도 공유하지 마세요): - - - - - info_providers.provider_key - 정보 제공자 - - - - - info_providers.provider_id - 제공자 ID - - - - - info_providers.provider_url - 제공자 URL - - - - - part.edit.provider_reference - 정보 제공자 참조 - - - - - log.element_edited.changed_fields.providerReference.provider_key - 정보 제공자 - - - - - log.element_edited.changed_fields.providerReference.provider_id - 제공자 ID - - - - - part.info_provider_reference.updated_never - 업데이트된 적 없음 - - - - - part.edit.provider_reference.warning - 경고: 여기서 값을 변경하면 정보 조회 메커니즘이 작동하지 않을 수 있습니다! 가능한 한 "정보 제공자로 업데이트" 기능을 사용하세요. - - - - diff --git a/translations/security.ko.xlf b/translations/security.ko.xlf deleted file mode 100644 index 4f11a770..00000000 --- a/translations/security.ko.xlf +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - user.login_error.user_disabled - 계정이 비활성화되어 있습니다! 오류라고 생각되면 관리자에게 문의하세요. - - - - - saml.error.cannot_login_local_user_per_saml - 로컬 사용자는 SSO로 로그인할 수 없습니다! 로컬 사용자 비밀번호를 사용하세요. - - - - - saml.error.cannot_login_saml_user_locally - SAML 사용자는 로컬 인증으로 로그인할 수 없습니다! SSO 로그인을 사용하세요. - - - - diff --git a/translations/validators.ko.xlf b/translations/validators.ko.xlf deleted file mode 100644 index 1ce63215..00000000 --- a/translations/validators.ko.xlf +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - part.master_attachment.must_be_picture - 미리보기 첨부파일은 유효한 사진이어야 합니다! - - - - - structural.entity.unique_name - 이 계층에 같은 이름의 요소가 이미 있습니다! - - - - - parameters.validator.min_lesser_typical - 값은 일반값({{ compared_value }}) 이하여야 합니다. - - - - - parameters.validator.min_lesser_max - 값은 최대값({{ compared_value }})보다 작아야 합니다. - - - - - parameters.validator.max_greater_typical - 값은 일반값({{ compared_value }}) 이상이어야 합니다. - - - - - validator.user.username_already_used - 같은 이름의 사용자가 이미 있습니다 - - - - - user.invalid_username - 사용자 이름은 문자, 숫자, 밑줄, 마침표, 더하기, 빼기만 포함할 수 있으며 @로 시작할 수 없습니다! - - - - - obsolete - - - validator.noneofitschild.self - 요소는 자기 자신의 상위가 될 수 없습니다! - - - - - obsolete - - - validator.noneofitschild.children - 하위 요소를 상위 요소로 지정할 수 없습니다 (순환이 발생합니다)! - - - - - validator.select_valid_category - 유효한 카테고리를 선택하세요! - - - - - validator.part_lot.only_existing - 이 위치는 "기존 항목만"으로 표시되어 새 부품을 추가할 수 없습니다 - - - - - validator.part_lot.location_full.no_increase - 위치가 가득 찼습니다. 수량을 늘릴 수 없습니다 (새 값은 {{ old_amount }}보다 작아야 합니다). - - - - - validator.part_lot.location_full - 위치가 가득 찼습니다. 새 부품을 추가할 수 없습니다. - - - - - validator.part_lot.single_part - 이 위치는 단일 부품만 보관할 수 있으며 이미 가득 찼습니다! - - - - - validator.attachment.must_not_be_null - 첨부파일 형식을 선택해야 합니다! - - - - - validator.orderdetail.supplier_must_not_be_null - 판매처를 선택해야 합니다! - - - - - validator.measurement_unit.use_si_prefix_needs_unit - SI 접두사를 사용하려면 단위 기호를 설정해야 합니다! - - - - - part.ipn.must_be_unique - 내부 부품 번호는 고유해야 합니다. {{ value }}은(는) 이미 사용 중입니다! - - - - - validator.project.bom_entry.name_or_part_needed - 부품 BOM 항목에는 부품을 선택하고, 부품이 아닌 BOM 항목에는 이름을 설정해야 합니다. - - - - - project.bom_entry.name_already_in_bom - 같은 이름의 BOM 항목이 이미 있습니다! - - - - - project.bom_entry.part_already_in_bom - 이 부품은 이미 BOM에 있습니다! - - - - - project.bom_entry.mountnames_quantity_mismatch - 장착 이름의 수는 BOM 수량과 일치해야 합니다! - - - - - project.bom_entry.can_not_add_own_builds_part - 프로젝트 자신의 빌드 부품을 BOM에 추가할 수 없습니다. - - - - - project.bom_has_to_include_all_subelement_parts - 프로젝트 BOM에는 모든 하위 프로젝트의 빌드 부품이 포함되어야 합니다. %project_name% 프로젝트의 %part_name% 부품이 누락되었습니다! - - - - - project.bom_entry.price_not_allowed_on_parts - 부품과 연결된 BOM 항목에는 가격을 설정할 수 없습니다. 대신 부품에 가격을 정의하세요. - - - - - validator.project_build.lot_bigger_than_needed - 필요한 것보다 많은 출고 수량을 선택했습니다! 불필요한 수량을 제거하세요. - - - - - validator.project_build.lot_smaller_than_needed - 제작에 필요한 것보다 적은 출고 수량을 선택했습니다! 수량을 추가하세요. - - - - - part.name.must_match_category_regex - 부품 이름이 카테고리에서 지정한 정규 표현식과 일치하지 않습니다: %regex% - - - - - validator.attachment.name_not_blank - 여기에 값을 설정하거나, 파일을 업로드하여 파일 이름을 첨부파일 이름으로 자동 사용하세요. - - - - - validator.part_lot.owner_must_match_storage_location_owner - 이 로트의 소유자는 선택한 보관 위치의 소유자(%owner_name%)와 일치해야 합니다! - - - - - validator.part_lot.owner_must_not_be_anonymous - 로트 소유자는 익명 사용자일 수 없습니다! - - - - - validator.part_association.must_set_an_value_if_type_is_other - 유형을 "기타"로 설정한 경우 이를 설명하는 값을 설정해야 합니다! - - - - - validator.part_association.part_cannot_be_associated_with_itself - 부품은 자기 자신과 연관될 수 없습니다! - - - - - validator.part_association.already_exists - 이 부품과의 연관이 이미 있습니다! - - - - - validator.part_lot.vendor_barcode_must_be_unique - 이 공급업체 바코드 값은 다른 로트에서 이미 사용되었습니다. 바코드는 고유해야 합니다! - - - - - validator.year_2038_bug_on_32bit - 기술적 제약으로 인해 32비트 시스템에서는 2038-01-19 이후의 날짜를 선택할 수 없습니다! - - - - - validator.fileSize.invalidFormat - 유효하지 않은 파일 크기 형식입니다. 정수와 함께 킬로, 메가, 기가바이트를 뜻하는 K, M, G 접미사를 사용하세요. - - - - - validator.invalid_range - 지정한 범위가 유효하지 않습니다! - - - - - validator.google_code.wrong_code - 유효하지 않은 코드입니다. 인증 앱이 올바르게 설정되어 있는지, 서버와 인증 기기의 시간이 정확한지 확인하세요. - - - - - settings.synonyms.type_synonyms.collection_type.duplicate - 이 유형과 언어에 대한 번역이 이미 정의되어 있습니다! - - - - - validator.invalid_gtin - 유효한 GTIN / EAN이 아닙니다! - - - - - info_providers.validation.provider_id_without_key - 제공자 ID를 지정하려면 정보 제공자도 지정하거나, 둘 다 제거해야 합니다. - - - - - info_providers.validation.provider_url_without_key - 제공자 URL을 지정하려면 정보 제공자도 지정해야 합니다. - - - - - info_providers.validation.provider_key_without_id - 정보 제공자를 지정하려면 제공자 ID도 지정하거나, 둘 다 제거해야 합니다. - - - - diff --git a/yarn.lock b/yarn.lock index 98bf3443..6f3b0ecc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2926,9 +2926,9 @@ domutils@^3.0.1: domhandler "^5.0.3" electron-to-chromium@^1.5.389: - version "1.5.393" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.393.tgz#aec971df2a6f4f7e51fbacb200d66cebfc7d3c17" - integrity sha512-kiDJdIUawuEIcp9XoICKp1iTYDEbgguIPq526N1Q7jIQDeQ3CqoMx71025PI/7E48Ddtw2HuWsVjY7afEgNxmg== + version "1.5.392" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.392.tgz#31e9f9af0d8df3d1489468a4242b173605617482" + integrity sha512-1yQq3VQCZRwsnYc67Oc+1fge6Lwtn0hzi6zmEVkB61Zx21kTbwJAW4dFLadl5Rc1tKhG/kSpYXnfiAhu0f0a1g== emoji-regex@^8.0.0: version "8.0.0" @@ -3048,9 +3048,9 @@ fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-uri@^3.0.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.4.tgz#3b3daf9ce68f41f956df0b505132c0cfce9ec7af" - integrity sha512-8JnbkQ4juDyvYs4mgFGQqg4yCYtFDtUtmp2QIQq11ZZe5CFQ5wcqm1rqDgAh/QdMySuBnPzMUiJUNZG5N/AiQw== + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.3.tgz#f695a40f006aba505631573a0021ddb21194ad11" + integrity sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg== fastest-levenshtein@1.0.16, fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" @@ -4065,7 +4065,7 @@ ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@^3.3.16: +nanoid@^3.3.12: version "3.3.16" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.16.tgz#a04d8ec4b1f10009d2d533947aefe4293737816c" integrity sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q== @@ -4455,11 +4455,11 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss@^8.2.14, postcss@^8.4.40: - version "8.5.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.20.tgz#316a139da79484ce55969fa7bb6f2f1abcc14060" - integrity sha512-lW616l85ucIQL+FocMmL7pQFPqBmwejrCMg+iPxyImlrANNJG9NHq/RkyCZopDhd8C3LA03PHRJDjkbGu8vvug== + version "8.5.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.19.tgz#45ad5cfde499408e20147348237551381a922037" + integrity sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ== dependencies: - nanoid "^3.3.16" + nanoid "^3.3.12" picocolors "^1.1.1" source-map-js "^1.2.1"