mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-07-27 03:31:35 +00:00
Merge branch 'master' into mcp
This commit is contained in:
commit
7c0b47d8f8
173 changed files with 27011 additions and 7959 deletions
|
|
@ -55,5 +55,23 @@
|
|||
<target>Jdi!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Zrušit</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Ne</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Kom nu!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Annuller</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Nej</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,29 @@
|
|||
<target>Los!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8d38e7538" name="user.password_strength.crack_time">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.crack_time</source>
|
||||
<target>Geschätzte Zeit bis zum Knacken: %time%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Abbrechen</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Nein</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -7,5 +7,23 @@
|
|||
<target>Αναζήτηση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Ακύρωση</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Όχι</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
@ -55,5 +55,29 @@
|
|||
<target>Go!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8d38e7538" name="user.password_strength.crack_time">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.crack_time</source>
|
||||
<target>Estimated time to crack: %time%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Cancel</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>No</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>¡Vamos!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Cancelar</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>No</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Rechercher !</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Annuler</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Non</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Indítás!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Mégse</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Nem</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Cerca!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Annulla</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>No</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -19,5 +19,23 @@
|
|||
<target>検索</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>キャンセル</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>いいえ</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
83
translations/frontend.ko.xlf
Normal file
83
translations/frontend.ko.xlf
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="ko">
|
||||
<file id="frontend.en">
|
||||
<unit id="eLrezdb" name="search.placeholder">
|
||||
<segment state="translated">
|
||||
<source>search.placeholder</source>
|
||||
<target>검색</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="R4hoCqe" name="part.labelp">
|
||||
<segment state="translated">
|
||||
<source>part.labelp</source>
|
||||
<target>부품</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="S4CxO.T" name="entity.select.group.new_not_added_to_DB">
|
||||
<segment state="translated">
|
||||
<source>entity.select.group.new_not_added_to_DB</source>
|
||||
<target>신규 (아직 DB에 추가되지 않음)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9rnHbSK" name="user.password_strength.very_weak">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.very_weak</source>
|
||||
<target>매우 약함</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gKHmHwM" name="user.password_strength.weak">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.weak</source>
|
||||
<target>약함</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="c44gN8b" name="user.password_strength.medium">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.medium</source>
|
||||
<target>보통</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NwiBLHc" name="user.password_strength.strong">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.strong</source>
|
||||
<target>강함</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Bw.iCUm" name="user.password_strength.very_strong">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.very_strong</source>
|
||||
<target>매우 강함</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="U5IhkwB" name="search.submit">
|
||||
<segment state="translated">
|
||||
<source>search.submit</source>
|
||||
<target>이동!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8d38e7538" name="user.password_strength.crack_time">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.crack_time</source>
|
||||
<target>예상 해독 시간: %time%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>확인</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>취소</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>아니요</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Ga!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Annuleren</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Nee</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Idź!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Anuluj</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Nie</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Vá!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>OK</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Cancelar</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Não</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Поехали!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>ОК</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Отмена</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Нет</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -55,5 +55,23 @@
|
|||
<target>Почати!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>ОК</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>Скасувати</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>Ні</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<unit id="R4hoCqe" name="part.labelp">
|
||||
<segment state="translated">
|
||||
<source>part.labelp</source>
|
||||
<target>部件</target>
|
||||
<target>物料</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="S4CxO.T" name="entity.select.group.new_not_added_to_DB">
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<unit id="c44gN8b" name="user.password_strength.medium">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.medium</source>
|
||||
<target>中</target>
|
||||
<target>中等</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NwiBLHc" name="user.password_strength.strong">
|
||||
|
|
@ -52,7 +52,31 @@
|
|||
<unit id="U5IhkwB" name="search.submit">
|
||||
<segment state="translated">
|
||||
<source>search.submit</source>
|
||||
<target>GO!</target>
|
||||
<target>搜索</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8d38e7538" name="user.password_strength.crack_time">
|
||||
<segment state="translated">
|
||||
<source>user.password_strength.crack_time</source>
|
||||
<target>预计破解时间:%time%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnOk01" name="dialog.btn.ok">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.ok</source>
|
||||
<target>确定</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnCcl1" name="dialog.btn.cancel">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.cancel</source>
|
||||
<target>取消</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dBtnDny1" name="dialog.btn.deny">
|
||||
<segment state="translated">
|
||||
<source>dialog.btn.deny</source>
|
||||
<target>否</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
<unit id="KSFhj_3" name="currency.iso_code.caption">
|
||||
<segment state="translated">
|
||||
<source>currency.iso_code.caption</source>
|
||||
<target>ISO Code</target>
|
||||
<target>ISO-Code</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UqMuNZQ" name="currency.symbol.caption">
|
||||
|
|
@ -13635,6 +13635,36 @@ Buerklin-API-Authentication-Server:
|
|||
<target>Host-URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UeFbCNh" name="settings.ai.ollama">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama</source>
|
||||
<target>Ollama</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9nfJ_vr" name="settings.ai.ollama.endpoint">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama.endpoint</source>
|
||||
<target>Endpoint URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="67dSwE5" name="settings.ai.ollama.apiKey">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama.apiKey</source>
|
||||
<target>API Key</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="VxXEQUD" name="settings.ai.timeout">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.timeout</source>
|
||||
<target>Timeout</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vRgtpoJ" name="settings.ai.timeout.help">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.timeout.help</source>
|
||||
<target>Maximale Wartezeit in Sekunden auf eine Antwort. Die lokale KI-Inferenz kann mehrere Minuten dauern, die Inferenz in der Cloud ist in der Regel schneller.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kuDv.So" name="browser_plugin.recent_pages.title">
|
||||
<segment state="translated">
|
||||
<source>browser_plugin.recent_pages.title</source>
|
||||
|
|
@ -13665,5 +13695,89 @@ Buerklin-API-Authentication-Server:
|
|||
<target>Aktiviert das Browser-Plugin für diese Instanz.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JqcvhX_" name="system.app_secret.insecure.title">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.title</source>
|
||||
<target>Unsicheres APP_SECRET</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="XSSYWTJ" name="system.app_secret.insecure.message">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.message</source>
|
||||
<target>Die Umgebungsvariable <code>APP_SECRET</code> ist auf den Standardwert gesetzt, der mit Part-DB ausgeliefert wird. Dies stellt ein Sicherheitsrisiko dar! Setzen Sie sie in Ihrer Datei <code>.env.local</code> oder <code>docker-compose.yaml</code> auf einen neuen Zufallswert.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="e7.f3m0" name="system.app_secret.insecure.suggestion">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.suggestion</source>
|
||||
<target>Sie können diesen zufällig generierten Wert verwenden (geben Sie ihn niemandem weiter):</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="OP7MacF" name="system.trusted_hosts.unconfigured.title">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.title</source>
|
||||
<target>TRUSTED_HOSTS nicht konfiguriert</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="88NkHLV" name="system.trusted_hosts.unconfigured.message">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.message</source>
|
||||
<target>Die Umgebungsvariable <code>TRUSTED_HOSTS</code> ist nicht gesetzt. Das bedeutet, dass Part-DB Anfragen für jeden beliebigen Hostnamen akzeptiert, was ein Sicherheitsrisiko darstellen kann (z. B. HTTP-Host-Header-Injection). Es wird empfohlen, dies auf die Hostnamen zu beschränken, unter denen Part-DB tatsächlich erreichbar ist.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qZ_kgWT" name="system.trusted_hosts.unconfigured.suggestion">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.suggestion</source>
|
||||
<target>Legen Sie einen regulären Ausdruck fest, der alle Hostnamen abdeckt, unter denen Part-DB erreichbar sein soll, z. B. basierend auf dem Hostnamen, den Sie für den Zugriff auf diese Seite verwendet haben. Dies ist möglich in Ihrer Datei <code>.env.local</code> oder <code>docker-compose.yaml</code>:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="cEwxoSj" name="info_providers.provider_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_key</source>
|
||||
<target>Informationsquelle</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0sjPRNV" name="info_providers.provider_id">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_id</source>
|
||||
<target>Provider ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="2DzzAxZ" name="info_providers.provider_url">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_url</source>
|
||||
<target>Provider URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4v3QmF6" name="part.edit.provider_reference">
|
||||
<segment state="translated">
|
||||
<source>part.edit.provider_reference</source>
|
||||
<target>Referenz auf Informationsquelle</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9X2qEi7" name="log.element_edited.changed_fields.providerReference.provider_key">
|
||||
<segment state="translated">
|
||||
<source>log.element_edited.changed_fields.providerReference.provider_key</source>
|
||||
<target>Informationsquelle</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="MWXgWDb" name="log.element_edited.changed_fields.providerReference.provider_id">
|
||||
<segment state="translated">
|
||||
<source>log.element_edited.changed_fields.providerReference.provider_id</source>
|
||||
<target>Provider ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="83fSFvo" name="part.info_provider_reference.updated_never">
|
||||
<segment state="translated">
|
||||
<source>part.info_provider_reference.updated_never</source>
|
||||
<target>Niemals aktualisiert</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yIK_Wtj" name="part.edit.provider_reference.warning">
|
||||
<segment state="translated">
|
||||
<source>part.edit.provider_reference.warning</source>
|
||||
<target>Warnung: Das Ändern der Werte an dieser Stelle kann den Mechanismus zum Abrufen von Informationen beeinträchtigen! Sie sollten nach Möglichkeit die Funktion „Von Informationsquelle aktualisieren“ verwenden.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -490,7 +490,7 @@ The user will have to set up all two-factor authentication methods again and pri
|
|||
<unit id="BtSvnI0" name="entity.delete.confirm_title">
|
||||
<segment state="translated">
|
||||
<source>entity.delete.confirm_title</source>
|
||||
<target>You really want to delete %name%?</target>
|
||||
<target>Do you really want to delete %name%?</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="WR9DNyZ" name="entity.delete.message">
|
||||
|
|
@ -675,7 +675,7 @@ Sub elements will be moved upwards.</target>
|
|||
<unit id="maYlJO8" name="part_list.loading.message">
|
||||
<segment state="translated">
|
||||
<source>part_list.loading.message</source>
|
||||
<target>This can take a moment. If this message do not disappear, try to reload the page.</target>
|
||||
<target>This can take a moment. If this message does not disappear, try to reload the page.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="wKzcAZd" name="vendor.base.javascript_hint">
|
||||
|
|
@ -960,7 +960,7 @@ Sub elements will be moved upwards.</target>
|
|||
<unit id="I6zehgT" name="email.pw_reset.message">
|
||||
<segment state="translated">
|
||||
<source>email.pw_reset.message</source>
|
||||
<target>somebody (hopefully you) requested a reset of your password. If this request was not made by you, ignore this mail.</target>
|
||||
<target>Somebody (hopefully you) requested a reset of your password. If this request was not made by you, ignore this mail.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P8NjvoC" name="email.pw_reset.button">
|
||||
|
|
@ -2143,7 +2143,7 @@ Also note that without two-factor authentication, your account is no longer as w
|
|||
<unit id="h3376Kl" name="tfa_google.step.download">
|
||||
<segment state="translated">
|
||||
<source>tfa_google.step.download</source>
|
||||
<target>Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> oder <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>)</target>
|
||||
<target>Download an authenticator app (e.g. <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2">Google Authenticator</a> or <a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp">FreeOTP Authenticator</a>)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eriwJoR" name="tfa_google.step.scan">
|
||||
|
|
@ -3065,7 +3065,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can
|
|||
<unit id="AdYtBQG" name="attachment.edit.url.help">
|
||||
<segment state="translated">
|
||||
<source>attachment.edit.url.help</source>
|
||||
<target>You can specify an URL to an external file here, or input an keyword which is used to search in built-in resources (e.g. footprints)</target>
|
||||
<target>You can specify a URL to an external file here, or input a keyword which is used to search in built-in resources (e.g. footprints)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jXplbqd" name="attachment.edit.name">
|
||||
|
|
@ -4208,7 +4208,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>validator.noLockout</source>
|
||||
<target>You can not withdraw yourself the "change permission" permission, to prevent that you lockout yourself accidentally.</target>
|
||||
<target>You can not withdraw yourself the "change permission" permission, to prevent that you lock yourself out accidentally.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="tS2P7Jn" name="attachment_type.edit.filetype_filter">
|
||||
|
|
@ -4703,7 +4703,7 @@ Element 1 -> Element 1.2</target>
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>storelocation.edit.is_full.label</source>
|
||||
<target>Storelocation full</target>
|
||||
<target>Storage location full</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="XF4C7ZG" name="storelocation.edit.is_full.help">
|
||||
|
|
@ -4713,7 +4713,7 @@ Element 1 -> Element 1.2</target>
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>storelocation.edit.is_full.help</source>
|
||||
<target>If this option is selected, it is neither possible to add new [[part]] to this storelocation or to increase the amount of existing [[part]].</target>
|
||||
<target>If this option is selected, it is neither possible to add new [[part]] to this storage location or to increase the amount of existing [[part]].</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="V1su4ac" name="storelocation.limit_to_existing.label">
|
||||
|
|
@ -4733,7 +4733,7 @@ Element 1 -> Element 1.2</target>
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>storelocation.limit_to_existing.help</source>
|
||||
<target>If this option is activated, it is not possible to add new [[part]] to this storelocation, but the amount of existing [[part]] can be increased.</target>
|
||||
<target>If this option is activated, it is not possible to add new [[part]] to this storage location, but the amount of existing [[part]] can be increased.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="tGVVeof" name="storelocation.only_single_part.label">
|
||||
|
|
@ -5988,7 +5988,7 @@ Element 1 -> Element 1.2</target>
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>log.type.security.trusted_device_reset</source>
|
||||
<target>Trusted devices resetted</target>
|
||||
<target>Trusted devices reset</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="a.Le1i0" name="log.type.collection_element_deleted">
|
||||
|
|
@ -6123,7 +6123,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="uxw7_77" name="group.edit.enforce_2fa.help">
|
||||
<segment state="translated">
|
||||
<source>group.edit.enforce_2fa.help</source>
|
||||
<target>If this option is enabled, every direct member of this group, has to configure at least one second-factor for authentication. Recommended for administrative groups with much permissions.</target>
|
||||
<target>If this option is enabled, every direct member of this group, has to configure at least one second-factor for authentication. Recommended for administrative groups with many permissions.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NwsYm0P" name="selectpicker.nothing_selected">
|
||||
|
|
@ -6363,7 +6363,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="CdphPiM" name="tools.reel_calc.explanation">
|
||||
<segment state="translated">
|
||||
<source>tools.reel_calc.explanation</source>
|
||||
<target>This calculator gives you an estimation, how many parts are remaining on an SMD reel. Measure the noted the dimensions on the reel (or use some of the presets) and click "Update" to get an result.</target>
|
||||
<target>This calculator gives you an estimation, how many parts are remaining on an SMD reel. Measure the noted the dimensions on the reel (or use the presets) and click "Update" to get a result.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="21dEh63" name="perm.tools.reel_calculator">
|
||||
|
|
@ -7893,7 +7893,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="h9kfyaE" name="log.element_edited.changed_fields.is_full">
|
||||
<segment state="translated">
|
||||
<source>log.element_edited.changed_fields.is_full</source>
|
||||
<target>Storelocation full</target>
|
||||
<target>Storage location full</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="K754HtO" name="log.element_edited.changed_fields.limit_to_existing_parts">
|
||||
|
|
@ -8289,13 +8289,13 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="gt2SlQN" name="import.create_unknown_datastructures">
|
||||
<segment state="translated">
|
||||
<source>import.create_unknown_datastructures</source>
|
||||
<target>Create unknown datastructures</target>
|
||||
<target>Create unknown data structures</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id=".TjGPnB" name="import.create_unknown_datastructures.help">
|
||||
<segment state="translated">
|
||||
<source>import.create_unknown_datastructures.help</source>
|
||||
<target>If this is selected, datastructures (like categories, footprints, etc.) which does not exist in the database yet, will be automatically created. If this is not selected, only existing data structures will be used, and if no matching data structure is found, the part will get assigned nothing</target>
|
||||
<target>If this is selected, data structures (like categories, footprints, etc.) which does not exist in the database yet, will be automatically created. If this is not selected, only existing data structures will be used, and if no matching data structure is found, the part will get assigned nothing</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="y_rsaV8" name="import.path_delimiter">
|
||||
|
|
@ -8307,7 +8307,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="AOG.hXc" name="import.path_delimiter.help">
|
||||
<segment state="translated">
|
||||
<source>import.path_delimiter.help</source>
|
||||
<target>The delimiter used to mark different levels in data structure pathes like category, footprint, etc.</target>
|
||||
<target>The delimiter used to mark different levels in data structure paths like category, footprint, etc.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="p_IxB9K" name="parts.import.help_documentation">
|
||||
|
|
@ -8367,7 +8367,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="tNnYa0u" name="project.bom_import.type.kicad_pcbnew">
|
||||
<segment state="translated">
|
||||
<source>project.bom_import.type.kicad_pcbnew</source>
|
||||
<target>KiCAD Pcbnew BOM (CSV file)</target>
|
||||
<target>KiCad Pcbnew BOM (CSV file)</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="AtW_ooO" name="project.bom_import.clear_existing_bom">
|
||||
|
|
@ -8535,7 +8535,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="sg8NMZk" name="log.user_login.ip_anonymize_hint">
|
||||
<segment state="translated">
|
||||
<source>log.user_login.ip_anonymize_hint</source>
|
||||
<target>If the last digits of the IP address are missing, then the GDPR mode is enabled, in which IP addresses are anynomized.</target>
|
||||
<target>If the last digits of the IP address are missing, then the GDPR mode is enabled, in which IP addresses are anonymized.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="K_LOvwj" name="log.user_not_allowed.unauthorized_access_attempt_to">
|
||||
|
|
@ -8571,7 +8571,7 @@ Element 1 -> Element 1.2</target>
|
|||
<unit id="YQafwyc" name="error_table.error">
|
||||
<segment state="translated">
|
||||
<source>error_table.error</source>
|
||||
<target>An error occured during your request.</target>
|
||||
<target>An error occurred during your request.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="SgZGiGG" name="part.table.invalid_regex">
|
||||
|
|
@ -9347,7 +9347,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
|||
<unit id="Y8bGSEj" name="permission.legend.dependency_note">
|
||||
<segment state="translated">
|
||||
<source>permission.legend.dependency_note</source>
|
||||
<target>Please note that some permission operations depend on each other. If you encounter a warning that missing permissions were corrected and a permission was set to allow again, you have to set the dependent operation to forbid too. The dependents can normally found right of an operation.</target>
|
||||
<target>Please note that some permission operations depend on each other. If you encounter a warning that missing permissions were corrected and a permission was set to allow again, you have to set the dependent operation to forbid too. The dependents can normally be found right of an operation.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="zWj5h2X" name="log.part_stock_changed.timestamp">
|
||||
|
|
@ -12170,7 +12170,7 @@ Buerklin-API Authentication server:
|
|||
<unit id="RFhwYWd" name="info_providers.search.error.transport_exception">
|
||||
<segment state="translated">
|
||||
<source>info_providers.search.error.transport_exception</source>
|
||||
<target>Transport error while retrieving information from the providers. Check that your server has internet accesss. See server logs for more info.</target>
|
||||
<target>Transport error while retrieving information from the providers. Check that your server has internet access. See server logs for more info.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="PExOL_J" name="update_manager.title">
|
||||
|
|
@ -13637,6 +13637,36 @@ Buerklin-API Authentication server:
|
|||
<target>Host URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="UeFbCNh" name="settings.ai.ollama">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama</source>
|
||||
<target>Ollama</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9nfJ_vr" name="settings.ai.ollama.endpoint">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama.endpoint</source>
|
||||
<target>Endpoint URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="67dSwE5" name="settings.ai.ollama.apiKey">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.ollama.apiKey</source>
|
||||
<target>API Key</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="VxXEQUD" name="settings.ai.timeout">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.timeout</source>
|
||||
<target>Timeout</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vRgtpoJ" name="settings.ai.timeout.help">
|
||||
<segment state="translated">
|
||||
<source>settings.ai.timeout.help</source>
|
||||
<target>Maximum time in seconds to wait for a response. Local AI inference might take multiple minutes, cloud inference is normally faster.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="kuDv.So" name="browser_plugin.recent_pages.title">
|
||||
<segment state="translated">
|
||||
<source>browser_plugin.recent_pages.title</source>
|
||||
|
|
@ -13667,5 +13697,89 @@ Buerklin-API Authentication server:
|
|||
<target>When enabled users with the info provider permission can submit pages to Part-DB and retrieve them later.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="JqcvhX_" name="system.app_secret.insecure.title">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.title</source>
|
||||
<target>Insecure APP_SECRET</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="XSSYWTJ" name="system.app_secret.insecure.message">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.message</source>
|
||||
<target>The <code>APP_SECRET</code> environment variable is set to the default value shipped with Part-DB. This is a security risk! Set it to a new random value in your <code>.env.local</code> or <code>docker-compose.yaml</code> file.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="e7.f3m0" name="system.app_secret.insecure.suggestion">
|
||||
<segment state="translated">
|
||||
<source>system.app_secret.insecure.suggestion</source>
|
||||
<target>You can use this randomly generated value (share it with nobody):</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="OP7MacF" name="system.trusted_hosts.unconfigured.title">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.title</source>
|
||||
<target>TRUSTED_HOSTS not configured</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="88NkHLV" name="system.trusted_hosts.unconfigured.message">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.message</source>
|
||||
<target>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.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="qZ_kgWT" name="system.trusted_hosts.unconfigured.suggestion">
|
||||
<segment state="translated">
|
||||
<source>system.trusted_hosts.unconfigured.suggestion</source>
|
||||
<target>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:</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="cEwxoSj" name="info_providers.provider_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_key</source>
|
||||
<target>Info provider</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="0sjPRNV" name="info_providers.provider_id">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_id</source>
|
||||
<target>Provider ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="2DzzAxZ" name="info_providers.provider_url">
|
||||
<segment state="translated">
|
||||
<source>info_providers.provider_url</source>
|
||||
<target>Provider URL</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="4v3QmF6" name="part.edit.provider_reference">
|
||||
<segment state="translated">
|
||||
<source>part.edit.provider_reference</source>
|
||||
<target>Info provider reference</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="9X2qEi7" name="log.element_edited.changed_fields.providerReference.provider_key">
|
||||
<segment state="translated">
|
||||
<source>log.element_edited.changed_fields.providerReference.provider_key</source>
|
||||
<target>Information provider</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="MWXgWDb" name="log.element_edited.changed_fields.providerReference.provider_id">
|
||||
<segment state="translated">
|
||||
<source>log.element_edited.changed_fields.providerReference.provider_id</source>
|
||||
<target>Provider ID</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="83fSFvo" name="part.info_provider_reference.updated_never">
|
||||
<segment state="translated">
|
||||
<source>part.info_provider_reference.updated_never</source>
|
||||
<target>Never updated</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yIK_Wtj" name="part.edit.provider_reference.warning">
|
||||
<segment state="translated">
|
||||
<source>part.edit.provider_reference.warning</source>
|
||||
<target>Warning: Changing values here can break the info retrieval mechanism! You should use the "update from info provider" functionality whenever possible.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
13749
translations/messages.ko.xlf
Normal file
13749
translations/messages.ko.xlf
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
23
translations/security.ko.xlf
Normal file
23
translations/security.ko.xlf
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="ko">
|
||||
<file id="security.en">
|
||||
<unit id="GrLNa9P" name="user.login_error.user_disabled">
|
||||
<segment state="translated">
|
||||
<source>user.login_error.user_disabled</source>
|
||||
<target>계정이 비활성화되어 있습니다! 오류라고 생각되면 관리자에게 문의하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="IFQ5XrG" name="saml.error.cannot_login_local_user_per_saml">
|
||||
<segment state="translated">
|
||||
<source>saml.error.cannot_login_local_user_per_saml</source>
|
||||
<target>로컬 사용자는 SSO로 로그인할 수 없습니다! 로컬 사용자 비밀번호를 사용하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="wOYPZmb" name="saml.error.cannot_login_saml_user_locally">
|
||||
<segment state="translated">
|
||||
<source>saml.error.cannot_login_saml_user_locally</source>
|
||||
<target>SAML 사용자는 로컬 인증으로 로그인할 수 없습니다! SSO 로그인을 사용하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
@ -4,19 +4,19 @@
|
|||
<unit id="GrLNa9P" name="user.login_error.user_disabled">
|
||||
<segment state="translated">
|
||||
<source>user.login_error.user_disabled</source>
|
||||
<target>账户已被禁用。请联系管理员</target>
|
||||
<target>此账户已被禁用!如果这是个错误请联系管理员。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="IFQ5XrG" name="saml.error.cannot_login_local_user_per_saml">
|
||||
<segment state="translated">
|
||||
<source>saml.error.cannot_login_local_user_per_saml</source>
|
||||
<target>无法通过 SSO 以本地用户身份登录。请使用本地用户密码</target>
|
||||
<target>无法通过SSO以本地用户身份登录!请使用本地用户和密码登录。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="wOYPZmb" name="saml.error.cannot_login_saml_user_locally">
|
||||
<segment state="translated">
|
||||
<source>saml.error.cannot_login_saml_user_locally</source>
|
||||
<target>无法使用本地身份验证器以SAML用户身份登录!请改用SSO登录</target>
|
||||
<target>禁止使用本地认证以SAML用户身份登录!请使用SSO登录。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -253,5 +253,23 @@
|
|||
<target>Dies ist keine gültige GTIN / EAN!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vnpejmb" name="info_providers.validation.provider_id_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_id_without_key</source>
|
||||
<target>Wenn Sie eine Anbieter-ID angeben, müssen Sie auch einen Info-Anbieter angeben oder beide entfernen.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yFlA5OA" name="info_providers.validation.provider_url_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_url_without_key</source>
|
||||
<target>Wenn Sie eine Anbieter-URL angeben, müssen Sie auch einen Info-Anbieter angeben.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gUHUXoV" name="info_providers.validation.provider_key_without_id">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_key_without_id</source>
|
||||
<target>Wenn Sie einen Info-Anbieter angeben, müssen Sie auch eine Anbieter-ID angeben oder beides entfernen.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
|
|
@ -253,5 +253,23 @@
|
|||
<target>This is not an valid GTIN / EAN!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vnpejmb" name="info_providers.validation.provider_id_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_id_without_key</source>
|
||||
<target>If you specify an provider ID, you also need to specify an info provider or remove both.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yFlA5OA" name="info_providers.validation.provider_url_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_url_without_key</source>
|
||||
<target>If you specify an provider URL, you also need to specify an info provider.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gUHUXoV" name="info_providers.validation.provider_key_without_id">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_key_without_id</source>
|
||||
<target>If you specify an info provider, you also need to provide an provider id, or remove both.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
|||
275
translations/validators.ko.xlf
Normal file
275
translations/validators.ko.xlf
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="ko">
|
||||
<file id="validators.en">
|
||||
<unit id="cRbk.cm" name="part.master_attachment.must_be_picture">
|
||||
<segment state="translated">
|
||||
<source>part.master_attachment.must_be_picture</source>
|
||||
<target>미리보기 첨부파일은 유효한 사진이어야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="v8HkcJB" name="structural.entity.unique_name">
|
||||
<segment state="translated">
|
||||
<source>structural.entity.unique_name</source>
|
||||
<target>이 계층에 같은 이름의 요소가 이미 있습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dW7b2B_" name="parameters.validator.min_lesser_typical">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.min_lesser_typical</source>
|
||||
<target>값은 일반값({{ compared_value }}) 이하여야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Yfp2uC5" name="parameters.validator.min_lesser_max">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.min_lesser_max</source>
|
||||
<target>값은 최대값({{ compared_value }})보다 작아야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P6b.8Ou" name="parameters.validator.max_greater_typical">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.max_greater_typical</source>
|
||||
<target>값은 일반값({{ compared_value }}) 이상이어야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P41193Y" name="validator.user.username_already_used">
|
||||
<segment state="translated">
|
||||
<source>validator.user.username_already_used</source>
|
||||
<target>같은 이름의 사용자가 이미 있습니다</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="EKPQiyf" name="user.invalid_username">
|
||||
<segment state="translated">
|
||||
<source>user.invalid_username</source>
|
||||
<target>사용자 이름은 문자, 숫자, 밑줄, 마침표, 더하기, 빼기만 포함할 수 있으며 @로 시작할 수 없습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="_v.DMg." name="validator.noneofitschild.self">
|
||||
<notes>
|
||||
<note category="state" priority="1">obsolete</note>
|
||||
</notes>
|
||||
<segment state="translated">
|
||||
<source>validator.noneofitschild.self</source>
|
||||
<target>요소는 자기 자신의 상위가 될 수 없습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="W90LyFQ" name="validator.noneofitschild.children">
|
||||
<notes>
|
||||
<note category="state" priority="1">obsolete</note>
|
||||
</notes>
|
||||
<segment state="translated">
|
||||
<source>validator.noneofitschild.children</source>
|
||||
<target>하위 요소를 상위 요소로 지정할 수 없습니다 (순환이 발생합니다)!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GAUS.LK" name="validator.select_valid_category">
|
||||
<segment state="translated">
|
||||
<source>validator.select_valid_category</source>
|
||||
<target>유효한 카테고리를 선택하세요!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="h6qELde" name="validator.part_lot.only_existing">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.only_existing</source>
|
||||
<target>이 위치는 "기존 항목만"으로 표시되어 새 부품을 추가할 수 없습니다</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Prriyy0" name="validator.part_lot.location_full.no_increase">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.location_full.no_increase</source>
|
||||
<target>위치가 가득 찼습니다. 수량을 늘릴 수 없습니다 (새 값은 {{ old_amount }}보다 작아야 합니다).</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eeEjB4s" name="validator.part_lot.location_full">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.location_full</source>
|
||||
<target>위치가 가득 찼습니다. 새 부품을 추가할 수 없습니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="2yWi8eP" name="validator.part_lot.single_part">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.single_part</source>
|
||||
<target>이 위치는 단일 부품만 보관할 수 있으며 이미 가득 찼습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="A.TFhbb" name="validator.attachment.must_not_be_null">
|
||||
<segment state="translated">
|
||||
<source>validator.attachment.must_not_be_null</source>
|
||||
<target>첨부파일 형식을 선택해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id=".lqKoij" name="validator.orderdetail.supplier_must_not_be_null">
|
||||
<segment state="translated">
|
||||
<source>validator.orderdetail.supplier_must_not_be_null</source>
|
||||
<target>판매처를 선택해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bcNZzK." name="validator.measurement_unit.use_si_prefix_needs_unit">
|
||||
<segment state="translated">
|
||||
<source>validator.measurement_unit.use_si_prefix_needs_unit</source>
|
||||
<target>SI 접두사를 사용하려면 단위 기호를 설정해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gZ5FFL1" name="part.ipn.must_be_unique">
|
||||
<segment state="translated">
|
||||
<source>part.ipn.must_be_unique</source>
|
||||
<target>내부 부품 번호는 고유해야 합니다. {{ value }}은(는) 이미 사용 중입니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P31Yg.d" name="validator.project.bom_entry.name_or_part_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project.bom_entry.name_or_part_needed</source>
|
||||
<target>부품 BOM 항목에는 부품을 선택하고, 부품이 아닌 BOM 항목에는 이름을 설정해야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5CEup_N" name="project.bom_entry.name_already_in_bom">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.name_already_in_bom</source>
|
||||
<target>같은 이름의 BOM 항목이 이미 있습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jB3B50E" name="project.bom_entry.part_already_in_bom">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.part_already_in_bom</source>
|
||||
<target>이 부품은 이미 BOM에 있습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NdkzP1n" name="project.bom_entry.mountnames_quantity_mismatch">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.mountnames_quantity_mismatch</source>
|
||||
<target>장착 이름의 수는 BOM 수량과 일치해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8teRCgR" name="project.bom_entry.can_not_add_own_builds_part">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.can_not_add_own_builds_part</source>
|
||||
<target>프로젝트 자신의 빌드 부품을 BOM에 추가할 수 없습니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="asBxPxe" name="project.bom_has_to_include_all_subelement_parts">
|
||||
<segment state="translated">
|
||||
<source>project.bom_has_to_include_all_subelement_parts</source>
|
||||
<target>프로젝트 BOM에는 모든 하위 프로젝트의 빌드 부품이 포함되어야 합니다. %project_name% 프로젝트의 %part_name% 부품이 누락되었습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uxaE9Ct" name="project.bom_entry.price_not_allowed_on_parts">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.price_not_allowed_on_parts</source>
|
||||
<target>부품과 연결된 BOM 항목에는 가격을 설정할 수 없습니다. 대신 부품에 가격을 정의하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xZ68Nzl" name="validator.project_build.lot_bigger_than_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project_build.lot_bigger_than_needed</source>
|
||||
<target>필요한 것보다 많은 출고 수량을 선택했습니다! 불필요한 수량을 제거하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="68_.V_X" name="validator.project_build.lot_smaller_than_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project_build.lot_smaller_than_needed</source>
|
||||
<target>제작에 필요한 것보다 적은 출고 수량을 선택했습니다! 수량을 추가하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yZGS8uZ" name="part.name.must_match_category_regex">
|
||||
<segment state="translated">
|
||||
<source>part.name.must_match_category_regex</source>
|
||||
<target>부품 이름이 카테고리에서 지정한 정규 표현식과 일치하지 않습니다: %regex%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Q8wP5Jd" name="validator.attachment.name_not_blank">
|
||||
<segment state="translated">
|
||||
<source>validator.attachment.name_not_blank</source>
|
||||
<target>여기에 값을 설정하거나, 파일을 업로드하여 파일 이름을 첨부파일 이름으로 자동 사용하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="DH0IkNR" name="validator.part_lot.owner_must_match_storage_location_owner">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.owner_must_match_storage_location_owner</source>
|
||||
<target>이 로트의 소유자는 선택한 보관 위치의 소유자(%owner_name%)와 일치해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="TzySicw" name="validator.part_lot.owner_must_not_be_anonymous">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.owner_must_not_be_anonymous</source>
|
||||
<target>로트 소유자는 익명 사용자일 수 없습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GthNWUb" name="validator.part_association.must_set_an_value_if_type_is_other">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.must_set_an_value_if_type_is_other</source>
|
||||
<target>유형을 "기타"로 설정한 경우 이를 설명하는 값을 설정해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Be4Im81" name="validator.part_association.part_cannot_be_associated_with_itself">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.part_cannot_be_associated_with_itself</source>
|
||||
<target>부품은 자기 자신과 연관될 수 없습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="q5Ej6Xm" name="validator.part_association.already_exists">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.already_exists</source>
|
||||
<target>이 부품과의 연관이 이미 있습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="HbI5bga" name="validator.part_lot.vendor_barcode_must_be_unique">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.vendor_barcode_must_be_unique</source>
|
||||
<target>이 공급업체 바코드 값은 다른 로트에서 이미 사용되었습니다. 바코드는 고유해야 합니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ufQJh7E" name="validator.year_2038_bug_on_32bit">
|
||||
<segment state="translated">
|
||||
<source>validator.year_2038_bug_on_32bit</source>
|
||||
<target>기술적 제약으로 인해 32비트 시스템에서는 2038-01-19 이후의 날짜를 선택할 수 없습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iM9yb_p" name="validator.fileSize.invalidFormat">
|
||||
<segment state="translated">
|
||||
<source>validator.fileSize.invalidFormat</source>
|
||||
<target>유효하지 않은 파일 크기 형식입니다. 정수와 함께 킬로, 메가, 기가바이트를 뜻하는 K, M, G 접미사를 사용하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ZFxQ0BZ" name="validator.invalid_range">
|
||||
<segment state="translated">
|
||||
<source>validator.invalid_range</source>
|
||||
<target>지정한 범위가 유효하지 않습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="m4gp2P_" name="validator.google_code.wrong_code">
|
||||
<segment state="translated">
|
||||
<source>validator.google_code.wrong_code</source>
|
||||
<target>유효하지 않은 코드입니다. 인증 앱이 올바르게 설정되어 있는지, 서버와 인증 기기의 시간이 정확한지 확인하세요.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="I330cr5" name="settings.synonyms.type_synonyms.collection_type.duplicate">
|
||||
<segment state="translated">
|
||||
<source>settings.synonyms.type_synonyms.collection_type.duplicate</source>
|
||||
<target>이 유형과 언어에 대한 번역이 이미 정의되어 있습니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="zT_j_oQ" name="validator.invalid_gtin">
|
||||
<segment state="translated">
|
||||
<source>validator.invalid_gtin</source>
|
||||
<target>유효한 GTIN / EAN이 아닙니다!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="vnpejmb" name="info_providers.validation.provider_id_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_id_without_key</source>
|
||||
<target>제공자 ID를 지정하려면 정보 제공자도 지정하거나, 둘 다 제거해야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yFlA5OA" name="info_providers.validation.provider_url_without_key">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_url_without_key</source>
|
||||
<target>제공자 URL을 지정하려면 정보 제공자도 지정해야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gUHUXoV" name="info_providers.validation.provider_key_without_id">
|
||||
<segment state="translated">
|
||||
<source>info_providers.validation.provider_key_without_id</source>
|
||||
<target>정보 제공자를 지정하려면 제공자 ID도 지정하거나, 둘 다 제거해야 합니다.</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
@ -4,31 +4,31 @@
|
|||
<unit id="cRbk.cm" name="part.master_attachment.must_be_picture">
|
||||
<segment state="translated">
|
||||
<source>part.master_attachment.must_be_picture</source>
|
||||
<target>预览附件必须是有效的图片</target>
|
||||
<target>预览附件必须是有效的图片!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="v8HkcJB" name="structural.entity.unique_name">
|
||||
<segment state="translated">
|
||||
<source>structural.entity.unique_name</source>
|
||||
<target>相同层下已存在同名元素</target>
|
||||
<target>当前层级已存在同名元素!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="dW7b2B_" name="parameters.validator.min_lesser_typical">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.min_lesser_typical</source>
|
||||
<target>值必须小于或等于标称值 ({{compare_value}})。</target>
|
||||
<target>值必须小于或等于标称值({{ compared_value }})。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Yfp2uC5" name="parameters.validator.min_lesser_max">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.min_lesser_max</source>
|
||||
<target>值必须小于最大值 ({{compare_value}})。</target>
|
||||
<target>值必须小于最大值({{ compared_value }})。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P6b.8Ou" name="parameters.validator.max_greater_typical">
|
||||
<segment state="translated">
|
||||
<source>parameters.validator.max_greater_typical</source>
|
||||
<target>值必须大于或等于标称值 ({{compare_value}})。</target>
|
||||
<target>值必须大于或等于标称值({{ compared_value }})。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P41193Y" name="validator.user.username_already_used">
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
<unit id="EKPQiyf" name="user.invalid_username">
|
||||
<segment state="translated">
|
||||
<source>user.invalid_username</source>
|
||||
<target>用户名只能包含字母、数字、下划线、点、加号或减号。</target>
|
||||
<target>用户名只能包含字母、数字、下划线、点、加号或减号,且不能以@开头!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="_v.DMg." name="validator.noneofitschild.self">
|
||||
|
|
@ -49,7 +49,7 @@
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>validator.noneofitschild.self</source>
|
||||
<target>一个元素不能是它自己的父元素。</target>
|
||||
<target>元素不能成为自生的父级!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="W90LyFQ" name="validator.noneofitschild.children">
|
||||
|
|
@ -58,199 +58,199 @@
|
|||
</notes>
|
||||
<segment state="translated">
|
||||
<source>validator.noneofitschild.children</source>
|
||||
<target>不能将子元素指定为父元素(会导致循环)。</target>
|
||||
<target>不能将子元素指定为自身父级,这会导致循环引用!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GAUS.LK" name="validator.select_valid_category">
|
||||
<segment state="translated">
|
||||
<source>validator.select_valid_category</source>
|
||||
<target>请选择一个有效的类别。</target>
|
||||
<target>请选择有效的分类!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="h6qELde" name="validator.part_lot.only_existing">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.only_existing</source>
|
||||
<target>无法将新部件添加到此位置,因为它被标记为 "仅现有"</target>
|
||||
<target>无法向此位置增加新物料,因为它被标记为"仅限已有物料"</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Prriyy0" name="validator.part_lot.location_full.no_increase">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.location_full.no_increase</source>
|
||||
<target>位置已满。数量无法增加(增加值必须小于 {{ old_amount }})。</target>
|
||||
<target>位置已满。数量无法增加(要求必须小于 {{ old_amount }})。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="eeEjB4s" name="validator.part_lot.location_full">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.location_full</source>
|
||||
<target>位置已满。无法添加新部件。</target>
|
||||
<target>位置已满。无法向其中增加新物料。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="2yWi8eP" name="validator.part_lot.single_part">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.single_part</source>
|
||||
<target>该位置只能储存一个部件。</target>
|
||||
<target>此位置只能包含单个物料并且已满!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="A.TFhbb" name="validator.attachment.must_not_be_null">
|
||||
<segment state="translated">
|
||||
<source>validator.attachment.must_not_be_null</source>
|
||||
<target>必须选择附件类型。</target>
|
||||
<target>必须选择附件类型!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id=".lqKoij" name="validator.orderdetail.supplier_must_not_be_null">
|
||||
<segment state="translated">
|
||||
<source>validator.orderdetail.supplier_must_not_be_null</source>
|
||||
<target>必须选择供应商。</target>
|
||||
<target>必须选择供应商!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="bcNZzK." name="validator.measurement_unit.use_si_prefix_needs_unit">
|
||||
<segment state="translated">
|
||||
<source>validator.measurement_unit.use_si_prefix_needs_unit</source>
|
||||
<target>要启用 SI 前缀,必须设置单位符号。</target>
|
||||
<target>要启用SI前缀,必须设置单位符号!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="gZ5FFL1" name="part.ipn.must_be_unique">
|
||||
<segment state="translated">
|
||||
<source>part.ipn.must_be_unique</source>
|
||||
<target>内部部件号是唯一的。{{ value }} 已被使用!</target>
|
||||
<target>内部物料号必须唯一。{{ value }} 已被使用!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="P31Yg.d" name="validator.project.bom_entry.name_or_part_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project.bom_entry.name_or_part_needed</source>
|
||||
<target>您必须为 BOM 条目选择部件,或为非部件 BOM 条目设置名称。</target>
|
||||
<target>必须为[物料BOM条目]选择一个物料,或为[非物料BOM条目]设定名称。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="5CEup_N" name="project.bom_entry.name_already_in_bom">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.name_already_in_bom</source>
|
||||
<target>已存在具有该名称的 BOM 条目。</target>
|
||||
<target>已存在同名BOM条目!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="jB3B50E" name="project.bom_entry.part_already_in_bom">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.part_already_in_bom</source>
|
||||
<target>该部件已存在于 BOM 中。</target>
|
||||
<target>此物料已存在于BOM中!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="NdkzP1n" name="project.bom_entry.mountnames_quantity_mismatch">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.mountnames_quantity_mismatch</source>
|
||||
<target>挂载名称的数量必须与 BOM 数量匹配。</target>
|
||||
<target>装配名称数量必须与BOM数量匹配!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="8teRCgR" name="project.bom_entry.can_not_add_own_builds_part">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.can_not_add_own_builds_part</source>
|
||||
<target>您无法将项目自己的生产映射部件添加到 BOM 中。</target>
|
||||
<target>不能将[项目自身]的[组装输出物料]增加到BOM中。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="asBxPxe" name="project.bom_has_to_include_all_subelement_parts">
|
||||
<segment state="translated">
|
||||
<source>project.bom_has_to_include_all_subelement_parts</source>
|
||||
<target>项目 BOM 必须包括所有子项目生产的部件。项目 %project_name% 的 %part_name% 部件丢失。</target>
|
||||
<target>项目BOM必须包含所有子项目的组装物料。缺少项目 %project_name% 的物料 %part_name%!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="uxaE9Ct" name="project.bom_entry.price_not_allowed_on_parts">
|
||||
<segment state="translated">
|
||||
<source>project.bom_entry.price_not_allowed_on_parts</source>
|
||||
<target>与部件关联的 BOM 条目上不允许有价格。请在部件上定义价格。</target>
|
||||
<target>与物料关联的BOM条目不允许设置价格。请在物料上定义价格。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="xZ68Nzl" name="validator.project_build.lot_bigger_than_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project_build.lot_bigger_than_needed</source>
|
||||
<target>选择的提取数量超出所需数量。</target>
|
||||
<target>选择的数量超过所需数量!请减少到所需数量。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="68_.V_X" name="validator.project_build.lot_smaller_than_needed">
|
||||
<segment state="translated">
|
||||
<source>validator.project_build.lot_smaller_than_needed</source>
|
||||
<target>选择的提取数量少于所需数量。</target>
|
||||
<target>选择的数量少于所需数量!请增加到所需数量。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="yZGS8uZ" name="part.name.must_match_category_regex">
|
||||
<segment state="translated">
|
||||
<source>part.name.must_match_category_regex</source>
|
||||
<target>部件名称与类别指定的正则表达式不匹配:%regex%</target>
|
||||
<target>物料名称与分类指定的正则表达式不匹配:%regex%</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Q8wP5Jd" name="validator.attachment.name_not_blank">
|
||||
<segment state="translated">
|
||||
<source>validator.attachment.name_not_blank</source>
|
||||
<target>手动设置值,或上传文件使用其文件名作为附件的名称。</target>
|
||||
<target>在此处设置值,或上传文件后自动使用其文件名作为附件名称。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="DH0IkNR" name="validator.part_lot.owner_must_match_storage_location_owner">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.owner_must_match_storage_location_owner</source>
|
||||
<target>该 批次的所有者 必须与 所选存储位置的所有者(%owner_name%) 匹配!</target>
|
||||
<target>此物料批号的所有者必须与所选存储位置的所有者(%owner_name%)匹配!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="TzySicw" name="validator.part_lot.owner_must_not_be_anonymous">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.owner_must_not_be_anonymous</source>
|
||||
<target>批次所有者不能是匿名用户。</target>
|
||||
<target>物料批号所有者不能是匿名用户!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="GthNWUb" name="validator.part_association.must_set_an_value_if_type_is_other">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.must_set_an_value_if_type_is_other</source>
|
||||
<target>如果将类型设置为 "other" 则必须为其设置一个描述性值。</target>
|
||||
<target>当类型设置为"其他"时必须为其设定描述性值!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="Be4Im81" name="validator.part_association.part_cannot_be_associated_with_itself">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.part_cannot_be_associated_with_itself</source>
|
||||
<target>部件不能与自己关联。</target>
|
||||
<target>物料不能与自身关联!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="q5Ej6Xm" name="validator.part_association.already_exists">
|
||||
<segment state="translated">
|
||||
<source>validator.part_association.already_exists</source>
|
||||
<target>与此部件的关联已存在。</target>
|
||||
<target>与此物料的关联已存在!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="HbI5bga" name="validator.part_lot.vendor_barcode_must_be_unique">
|
||||
<segment state="translated">
|
||||
<source>validator.part_lot.vendor_barcode_must_be_unique</source>
|
||||
<target>该供应商条码已在另一批次中使用。条形码必须是唯一的</target>
|
||||
<target>此供应商条码值已在另一物料批号中使用。条码必须唯一!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ufQJh7E" name="validator.year_2038_bug_on_32bit">
|
||||
<segment state="translated">
|
||||
<source>validator.year_2038_bug_on_32bit</source>
|
||||
<target>由于技术限制,在32位系统中无法选择2038年1月19日之后的日期!</target>
|
||||
<target>由于技术限制,在32位系统上无法选择2038-01-19之后的日期!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="iM9yb_p" name="validator.fileSize.invalidFormat">
|
||||
<segment state="translated">
|
||||
<source>validator.fileSize.invalidFormat</source>
|
||||
<target>文件大小格式无效。请使用整数并以 K、M 或 G 作为后缀,分别代表 KB、MB 或 GB。</target>
|
||||
<target>无效的文件大小格式。请使用整数后加 K(KByte)、M(MByte)、G(GByte)的后缀。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="ZFxQ0BZ" name="validator.invalid_range">
|
||||
<segment state="translated">
|
||||
<source>validator.invalid_range</source>
|
||||
<target>给定的范围无效</target>
|
||||
<target>指定的范围无效!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="m4gp2P_" name="validator.google_code.wrong_code">
|
||||
<segment state="translated">
|
||||
<source>validator.google_code.wrong_code</source>
|
||||
<target>验证码无效。请检查验证器应用设置是否正确,并确保服务器与认证设备的时间均已同步。</target>
|
||||
<target>验证码无效。请检查验证器应用是否正确设置,并且切薄服务器和验证设备的时间均正确。</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="I330cr5" name="settings.synonyms.type_synonyms.collection_type.duplicate">
|
||||
<segment state="translated">
|
||||
<source>settings.synonyms.type_synonyms.collection_type.duplicate</source>
|
||||
<target>该类型在此语言下已存在翻译定义!</target>
|
||||
<target>已为此类型和语言定义了翻译!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
<unit id="zT_j_oQ" name="validator.invalid_gtin">
|
||||
<segment state="translated">
|
||||
<source>validator.invalid_gtin</source>
|
||||
<target>无效的GTIN / EAN 码。</target>
|
||||
<target>这不是有效的GTIN/EAN!</target>
|
||||
</segment>
|
||||
</unit>
|
||||
</file>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue