Made the titles of the settings categories translatable
Some checks are pending
Build assets artifact / Build assets artifact (push) Waiting to run
Docker Image Build / docker (push) Waiting to run
Docker Image Build (FrankenPHP) / docker (push) Waiting to run
Static analysis / Static analysis (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, mysql) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, postgres) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.2, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.3, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.4, sqlite) (push) Waiting to run
PHPUnit Tests / PHPUnit and coverage Test (PHP 8.5, sqlite) (push) Waiting to run

This fixes issue #1037
This commit is contained in:
Jan Böhmer 2025-10-17 00:35:01 +02:00
parent 41dbc27e27
commit c735bfdb1d
6 changed files with 87 additions and 64 deletions

View file

@ -26,7 +26,7 @@ namespace App\Settings;
use App\Settings\BehaviorSettings\BehaviorSettings; use App\Settings\BehaviorSettings\BehaviorSettings;
use App\Settings\InfoProviderSystem\InfoProviderSettings; use App\Settings\InfoProviderSystem\InfoProviderSettings;
use App\Settings\MiscSettings\MiscSettings; use App\Settings\MiscSettings\MiscSettings;
use App\Settings\SystemSettings\AttachmentsSettings; use App\Settings\SystemSettings\SystemSettings;
use Jbtronics\SettingsBundle\Settings\EmbeddedSettings; use Jbtronics\SettingsBundle\Settings\EmbeddedSettings;
use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\Settings;
use Jbtronics\SettingsBundle\Settings\SettingsTrait; use Jbtronics\SettingsBundle\Settings\SettingsTrait;

View file

@ -26,8 +26,9 @@ namespace App\Settings\BehaviorSettings;
use Jbtronics\SettingsBundle\Settings\EmbeddedSettings; use Jbtronics\SettingsBundle\Settings\EmbeddedSettings;
use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\Settings;
use Jbtronics\SettingsBundle\Settings\SettingsTrait; use Jbtronics\SettingsBundle\Settings\SettingsTrait;
use Symfony\Component\Translation\TranslatableMessage as TM;
#[Settings] #[Settings(label: new TM("settings.behavior"))]
class BehaviorSettings class BehaviorSettings
{ {
use SettingsTrait; use SettingsTrait;

View file

@ -27,8 +27,9 @@ use Jbtronics\SettingsBundle\Settings\EmbeddedSettings;
use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\Settings;
use Jbtronics\SettingsBundle\Settings\SettingsParameter; use Jbtronics\SettingsBundle\Settings\SettingsParameter;
use Jbtronics\SettingsBundle\Settings\SettingsTrait; use Jbtronics\SettingsBundle\Settings\SettingsTrait;
use Symfony\Component\Translation\TranslatableMessage as TM;
#[Settings()] #[Settings(label: new TM("settings.ips"))]
class InfoProviderSettings class InfoProviderSettings
{ {
use SettingsTrait; use SettingsTrait;

View file

@ -25,8 +25,9 @@ namespace App\Settings\MiscSettings;
use Jbtronics\SettingsBundle\Settings\EmbeddedSettings; use Jbtronics\SettingsBundle\Settings\EmbeddedSettings;
use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\Settings;
use Symfony\Component\Translation\TranslatableMessage as TM;
#[Settings] #[Settings(label: new TM("settings.misc"))]
class MiscSettings class MiscSettings
{ {
#[EmbeddedSettings] #[EmbeddedSettings]

View file

@ -21,17 +21,13 @@
declare(strict_types=1); declare(strict_types=1);
namespace App\Settings; namespace App\Settings\SystemSettings;
use App\Settings\SystemSettings\AttachmentsSettings;
use App\Settings\SystemSettings\CustomizationSettings;
use App\Settings\SystemSettings\HistorySettings;
use App\Settings\SystemSettings\LocalizationSettings;
use App\Settings\SystemSettings\PrivacySettings;
use Jbtronics\SettingsBundle\Settings\EmbeddedSettings; use Jbtronics\SettingsBundle\Settings\EmbeddedSettings;
use Jbtronics\SettingsBundle\Settings\Settings; use Jbtronics\SettingsBundle\Settings\Settings;
use Symfony\Component\Translation\TranslatableMessage as TM;
#[Settings] #[Settings(label: new TM("settings.system"))]
class SystemSettings class SystemSettings
{ {
#[EmbeddedSettings()] #[EmbeddedSettings()]

View file

@ -242,7 +242,7 @@
</notes> </notes>
<segment state="final"> <segment state="final">
<source>part.info.timetravel_hint</source> <source>part.info.timetravel_hint</source>
<target>This is how the part appeared before %timestamp%. &lt;i&gt;Please note that this feature is experimental, so the info may not be correct.&lt;/i&gt;</target> <target><![CDATA[This is how the part appeared before %timestamp%. <i>Please note that this feature is experimental, so the info may not be correct.</i>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="3exvSpl" name="standard.label"> <unit id="3exvSpl" name="standard.label">
@ -731,10 +731,10 @@
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>user.edit.tfa.disable_tfa_message</source> <source>user.edit.tfa.disable_tfa_message</source>
<target>This will disable &lt;b&gt;all active two-factor authentication methods of the user&lt;/b&gt; and delete the &lt;b&gt;backup codes&lt;/b&gt;! <target><![CDATA[This will disable <b>all active two-factor authentication methods of the user</b> and delete the <b>backup codes</b>!
&lt;br&gt; <br>
The user will have to set up all two-factor authentication methods again and print new backup codes! &lt;br&gt;&lt;br&gt; The user will have to set up all two-factor authentication methods again and print new backup codes! <br><br>
&lt;b&gt;Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!&lt;/b&gt;</target> <b>Only do this if you are absolutely sure about the identity of the user (seeking help), otherwise the account could be compromised by an attacker!</b>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="APsHYu0" name="user.edit.tfa.disable_tfa.btn"> <unit id="APsHYu0" name="user.edit.tfa.disable_tfa.btn">
@ -885,9 +885,9 @@ The user will have to set up all two-factor authentication methods again and pri
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>entity.delete.message</source> <source>entity.delete.message</source>
<target>This can not be undone! <target><![CDATA[This can not be undone!
&lt;br&gt; <br>
Sub elements will be moved upwards.</target> Sub elements will be moved upwards.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="2tKAqHw" name="entity.delete"> <unit id="2tKAqHw" name="entity.delete">
@ -1441,7 +1441,7 @@ Sub elements will be moved upwards.</target>
</notes> </notes>
<segment state="final"> <segment state="final">
<source>homepage.github.text</source> <source>homepage.github.text</source>
<target>Source, downloads, bug reports, to-do-list etc. can be found on &lt;a href="%href%" class="link-external" target="_blank"&gt;GitHub project page&lt;/a&gt;</target> <target><![CDATA[Source, downloads, bug reports, to-do-list etc. can be found on <a href="%href%" class="link-external" target="_blank">GitHub project page</a>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="D5OKsgU" name="homepage.help.caption"> <unit id="D5OKsgU" name="homepage.help.caption">
@ -1463,7 +1463,7 @@ Sub elements will be moved upwards.</target>
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>homepage.help.text</source> <source>homepage.help.text</source>
<target>Help and tips can be found in Wiki the &lt;a href="%href%" class="link-external" target="_blank"&gt;GitHub page&lt;/a&gt;</target> <target><![CDATA[Help and tips can be found in Wiki the <a href="%href%" class="link-external" target="_blank">GitHub page</a>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="dnirx4v" name="homepage.forum.caption"> <unit id="dnirx4v" name="homepage.forum.caption">
@ -1705,7 +1705,7 @@ Sub elements will be moved upwards.</target>
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>email.pw_reset.fallback</source> <source>email.pw_reset.fallback</source>
<target>If this does not work for you, go to &lt;a href="%url%"&gt;%url%&lt;/a&gt; and enter the following info</target> <target><![CDATA[If this does not work for you, go to <a href="%url%">%url%</a> and enter the following info]]></target>
</segment> </segment>
</unit> </unit>
<unit id="DduL9Hu" name="email.pw_reset.username"> <unit id="DduL9Hu" name="email.pw_reset.username">
@ -1735,7 +1735,7 @@ Sub elements will be moved upwards.</target>
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>email.pw_reset.valid_unit %date%</source> <source>email.pw_reset.valid_unit %date%</source>
<target>The reset token will be valid until &lt;i&gt;%date%&lt;/i&gt;.</target> <target><![CDATA[The reset token will be valid until <i>%date%</i>.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="8sBnjRy" name="orderdetail.delete"> <unit id="8sBnjRy" name="orderdetail.delete">
@ -3578,8 +3578,8 @@ Sub elements will be moved upwards.</target>
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>tfa_google.disable.confirm_message</source> <source>tfa_google.disable.confirm_message</source>
<target>If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.&lt;br&gt; <target><![CDATA[If you disable the Authenticator App, all backup codes will be deleted, so you may need to reprint them.<br>
Also note that without two-factor authentication, your account is no longer as well protected against attackers!</target> Also note that without two-factor authentication, your account is no longer as well protected against attackers!]]></target>
</segment> </segment>
</unit> </unit>
<unit id="yu9MSt5" name="tfa_google.disabled_message"> <unit id="yu9MSt5" name="tfa_google.disabled_message">
@ -3599,7 +3599,7 @@ Also note that without two-factor authentication, your account is no longer as w
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>tfa_google.step.download</source> <source>tfa_google.step.download</source>
<target>Download an authenticator app (e.g. &lt;a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2"&gt;Google Authenticator&lt;/a&gt; oder &lt;a class="link-external" target="_blank" href="https://play.google.com/store/apps/details?id=org.fedorahosted.freeotp"&gt;FreeOTP Authenticator&lt;/a&gt;)</target> <target><![CDATA[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>
</segment> </segment>
</unit> </unit>
<unit id="eriwJoR" name="tfa_google.step.scan"> <unit id="eriwJoR" name="tfa_google.step.scan">
@ -3841,8 +3841,8 @@ Also note that without two-factor authentication, your account is no longer as w
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>tfa_trustedDevices.explanation</source> <source>tfa_trustedDevices.explanation</source>
<target>When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed. <target><![CDATA[When checking the second factor, the current computer can be marked as trustworthy, so no more two-factor checks on this computer are needed.
If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of &lt;i&gt;all &lt;/i&gt;computers here.</target> If you have done this incorrectly or if a computer is no longer trusted, you can reset the status of <i>all </i>computers here.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="FZINq8z" name="tfa_trustedDevices.invalidate.confirm_title"> <unit id="FZINq8z" name="tfa_trustedDevices.invalidate.confirm_title">
@ -5313,7 +5313,7 @@ If you have done this incorrectly or if a computer is no longer trusted, you can
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>label_options.lines_mode.help</source> <source>label_options.lines_mode.help</source>
<target>If you select Twig here, the content field is interpreted as Twig template. See &lt;a href="https://twig.symfony.com/doc/3.x/templates.html"&gt;Twig documentation&lt;/a&gt; and &lt;a href="https://docs.part-db.de/usage/labels.html#twig-mode"&gt;Wiki&lt;/a&gt; for more information.</target> <target><![CDATA[If you select Twig here, the content field is interpreted as Twig template. See <a href="https://twig.symfony.com/doc/3.x/templates.html">Twig documentation</a> and <a href="https://docs.part-db.de/usage/labels.html#twig-mode">Wiki</a> for more information.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="isvxbiX" name="label_options.page_size.label"> <unit id="isvxbiX" name="label_options.page_size.label">
@ -7157,15 +7157,15 @@ Exampletown</target>
</notes> </notes>
<segment state="translated"> <segment state="translated">
<source>mass_creation.lines.placeholder</source> <source>mass_creation.lines.placeholder</source>
<target>Element 1 <target><![CDATA[Element 1
Element 1.1 Element 1.1
Element 1.1.1 Element 1.1.1
Element 1.2 Element 1.2
Element 2 Element 2
Element 3 Element 3
Element 1 -&gt; Element 1.1 Element 1 -> Element 1.1
Element 1 -&gt; Element 1.2</target> Element 1 -> Element 1.2]]></target>
</segment> </segment>
</unit> </unit>
<unit id="TWSqPFi" name="entity.mass_creation.btn"> <unit id="TWSqPFi" name="entity.mass_creation.btn">
@ -9444,25 +9444,25 @@ Element 1 -&gt; Element 1.2</target>
<unit id="r4vDLAt" name="filter.parameter_value_constraint.operator.&lt;"> <unit id="r4vDLAt" name="filter.parameter_value_constraint.operator.&lt;">
<segment state="translated"> <segment state="translated">
<source>filter.parameter_value_constraint.operator.&lt;</source> <source>filter.parameter_value_constraint.operator.&lt;</source>
<target>Typ. Value &lt;</target> <target><![CDATA[Typ. Value <]]></target>
</segment> </segment>
</unit> </unit>
<unit id="X9SA3UP" name="filter.parameter_value_constraint.operator.&gt;"> <unit id="X9SA3UP" name="filter.parameter_value_constraint.operator.&gt;">
<segment state="translated"> <segment state="translated">
<source>filter.parameter_value_constraint.operator.&gt;</source> <source>filter.parameter_value_constraint.operator.&gt;</source>
<target>Typ. Value &gt;</target> <target><![CDATA[Typ. Value >]]></target>
</segment> </segment>
</unit> </unit>
<unit id="BQGaoQS" name="filter.parameter_value_constraint.operator.&lt;="> <unit id="BQGaoQS" name="filter.parameter_value_constraint.operator.&lt;=">
<segment state="translated"> <segment state="translated">
<source>filter.parameter_value_constraint.operator.&lt;=</source> <source>filter.parameter_value_constraint.operator.&lt;=</source>
<target>Typ. Value &lt;=</target> <target><![CDATA[Typ. Value <=]]></target>
</segment> </segment>
</unit> </unit>
<unit id="2ha3P6g" name="filter.parameter_value_constraint.operator.&gt;="> <unit id="2ha3P6g" name="filter.parameter_value_constraint.operator.&gt;=">
<segment state="translated"> <segment state="translated">
<source>filter.parameter_value_constraint.operator.&gt;=</source> <source>filter.parameter_value_constraint.operator.&gt;=</source>
<target>Typ. Value &gt;=</target> <target><![CDATA[Typ. Value >=]]></target>
</segment> </segment>
</unit> </unit>
<unit id="4DaBace" name="filter.parameter_value_constraint.operator.BETWEEN"> <unit id="4DaBace" name="filter.parameter_value_constraint.operator.BETWEEN">
@ -9570,7 +9570,7 @@ Element 1 -&gt; Element 1.2</target>
<unit id="4tHhDtU" name="parts_list.search.searching_for"> <unit id="4tHhDtU" name="parts_list.search.searching_for">
<segment state="translated"> <segment state="translated">
<source>parts_list.search.searching_for</source> <source>parts_list.search.searching_for</source>
<target>Searching parts with keyword &lt;b&gt;%keyword%&lt;/b&gt;</target> <target><![CDATA[Searching parts with keyword <b>%keyword%</b>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="4vomKLa" name="parts_list.search_options.caption"> <unit id="4vomKLa" name="parts_list.search_options.caption">
@ -10230,13 +10230,13 @@ Element 1 -&gt; Element 1.2</target>
<unit id="NdZ1t7a" name="project.builds.number_of_builds_possible"> <unit id="NdZ1t7a" name="project.builds.number_of_builds_possible">
<segment state="translated"> <segment state="translated">
<source>project.builds.number_of_builds_possible</source> <source>project.builds.number_of_builds_possible</source>
<target>You have enough stocked to build &lt;b&gt;%max_builds%&lt;/b&gt; builds of this project.</target> <target><![CDATA[You have enough stocked to build <b>%max_builds%</b> builds of this project.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="iuSpPbg" name="project.builds.check_project_status"> <unit id="iuSpPbg" name="project.builds.check_project_status">
<segment state="translated"> <segment state="translated">
<source>project.builds.check_project_status</source> <source>project.builds.check_project_status</source>
<target>The current project status is &lt;b&gt;"%project_status%"&lt;/b&gt;. You should check if you really want to build the project with this status!</target> <target><![CDATA[The current project status is <b>"%project_status%"</b>. You should check if you really want to build the project with this status!]]></target>
</segment> </segment>
</unit> </unit>
<unit id="Y7vSSxi" name="project.builds.following_bom_entries_miss_instock_n"> <unit id="Y7vSSxi" name="project.builds.following_bom_entries_miss_instock_n">
@ -10338,7 +10338,7 @@ Element 1 -&gt; Element 1.2</target>
<unit id="GzqIwHH" name="entity.select.add_hint"> <unit id="GzqIwHH" name="entity.select.add_hint">
<segment state="translated"> <segment state="translated">
<source>entity.select.add_hint</source> <source>entity.select.add_hint</source>
<target>Use -&gt; to create nested structures, e.g. "Node 1-&gt;Node 1.1"</target> <target><![CDATA[Use -> to create nested structures, e.g. "Node 1->Node 1.1"]]></target>
</segment> </segment>
</unit> </unit>
<unit id="S4CxO.T" name="entity.select.group.new_not_added_to_DB"> <unit id="S4CxO.T" name="entity.select.group.new_not_added_to_DB">
@ -10362,13 +10362,13 @@ Element 1 -&gt; Element 1.2</target>
<unit id="XLnXtsR" name="homepage.first_steps.introduction"> <unit id="XLnXtsR" name="homepage.first_steps.introduction">
<segment state="translated"> <segment state="translated">
<source>homepage.first_steps.introduction</source> <source>homepage.first_steps.introduction</source>
<target>Your database is still empty. You might want to read the &lt;a href="%url%"&gt;documentation&lt;/a&gt; or start to creating the following data structures:</target> <target><![CDATA[Your database is still empty. You might want to read the <a href="%url%">documentation</a> or start to creating the following data structures:]]></target>
</segment> </segment>
</unit> </unit>
<unit id="Q79MOIk" name="homepage.first_steps.create_part"> <unit id="Q79MOIk" name="homepage.first_steps.create_part">
<segment state="translated"> <segment state="translated">
<source>homepage.first_steps.create_part</source> <source>homepage.first_steps.create_part</source>
<target>Or you can directly &lt;a href="%url%"&gt;create a new part&lt;/a&gt;.</target> <target><![CDATA[Or you can directly <a href="%url%">create a new part</a>.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="vplYq4f" name="homepage.first_steps.hide_hint"> <unit id="vplYq4f" name="homepage.first_steps.hide_hint">
@ -10380,7 +10380,7 @@ Element 1 -&gt; Element 1.2</target>
<unit id="MJoZl4f" name="homepage.forum.text"> <unit id="MJoZl4f" name="homepage.forum.text">
<segment state="translated"> <segment state="translated">
<source>homepage.forum.text</source> <source>homepage.forum.text</source>
<target>For questions about Part-DB use the &lt;a href="%href%" class="link-external" target="_blank"&gt;discussion forum&lt;/a&gt;</target> <target><![CDATA[For questions about Part-DB use the <a href="%href%" class="link-external" target="_blank">discussion forum</a>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="YsukbnK" name="log.element_edited.changed_fields.category"> <unit id="YsukbnK" name="log.element_edited.changed_fields.category">
@ -11040,7 +11040,7 @@ Element 1 -&gt; Element 1.2</target>
<unit id="p_IxB9K" name="parts.import.help_documentation"> <unit id="p_IxB9K" name="parts.import.help_documentation">
<segment state="translated"> <segment state="translated">
<source>parts.import.help_documentation</source> <source>parts.import.help_documentation</source>
<target>See the &lt;a href="%link%"&gt;documentation&lt;/a&gt; for more information on the file format.</target> <target><![CDATA[See the <a href="%link%">documentation</a> for more information on the file format.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="awbvhVq" name="parts.import.help"> <unit id="awbvhVq" name="parts.import.help">
@ -11220,7 +11220,7 @@ Element 1 -&gt; Element 1.2</target>
<unit id="o5u.Nnz" name="part.filter.lessThanDesired"> <unit id="o5u.Nnz" name="part.filter.lessThanDesired">
<segment state="translated"> <segment state="translated">
<source>part.filter.lessThanDesired</source> <source>part.filter.lessThanDesired</source>
<target>In stock less than desired (total amount &lt; min. amount)</target> <target><![CDATA[In stock less than desired (total amount < min. amount)]]></target>
</segment> </segment>
</unit> </unit>
<unit id="YN9eLcZ" name="part.filter.lotOwner"> <unit id="YN9eLcZ" name="part.filter.lotOwner">
@ -12032,13 +12032,13 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="i68lU5x" name="part.merge.confirm.title"> <unit id="i68lU5x" name="part.merge.confirm.title">
<segment state="translated"> <segment state="translated">
<source>part.merge.confirm.title</source> <source>part.merge.confirm.title</source>
<target>Do you really want to merge &lt;b&gt;%other%&lt;/b&gt; into &lt;b&gt;%target%&lt;/b&gt;?</target> <target><![CDATA[Do you really want to merge <b>%other%</b> into <b>%target%</b>?]]></target>
</segment> </segment>
</unit> </unit>
<unit id="k0anzYV" name="part.merge.confirm.message"> <unit id="k0anzYV" name="part.merge.confirm.message">
<segment state="translated"> <segment state="translated">
<source>part.merge.confirm.message</source> <source>part.merge.confirm.message</source>
<target>&lt;b&gt;%other%&lt;/b&gt; will be deleted, and the part will be saved with the shown information.</target> <target><![CDATA[<b>%other%</b> will be deleted, and the part will be saved with the shown information.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="mmW5Yl1" name="part.info.merge_modal.title"> <unit id="mmW5Yl1" name="part.info.merge_modal.title">
@ -12392,7 +12392,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="p7LGAIX" name="settings.ips.element14.apiKey.help"> <unit id="p7LGAIX" name="settings.ips.element14.apiKey.help">
<segment state="translated"> <segment state="translated">
<source>settings.ips.element14.apiKey.help</source> <source>settings.ips.element14.apiKey.help</source>
<target>You can register for an API key on &lt;a href="https://partner.element14.com/"&gt;https://partner.element14.com/&lt;/a&gt;.</target> <target><![CDATA[You can register for an API key on <a href="https://partner.element14.com/">https://partner.element14.com/</a>.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="ZdUHpZc" name="settings.ips.element14.storeId"> <unit id="ZdUHpZc" name="settings.ips.element14.storeId">
@ -12404,7 +12404,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="XXGUxF6" name="settings.ips.element14.storeId.help"> <unit id="XXGUxF6" name="settings.ips.element14.storeId.help">
<segment state="translated"> <segment state="translated">
<source>settings.ips.element14.storeId.help</source> <source>settings.ips.element14.storeId.help</source>
<target>The store domain to retrieve the data from. This decides the language and currency of results. See &lt;a href="https://partner.element14.com/docs/Product_Search_API_REST__Description"&gt;here&lt;/a&gt; for a list of valid domains.</target> <target><![CDATA[The store domain to retrieve the data from. This decides the language and currency of results. See <a href="https://partner.element14.com/docs/Product_Search_API_REST__Description">here</a> for a list of valid domains.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="WKWZIm2" name="settings.ips.tme"> <unit id="WKWZIm2" name="settings.ips.tme">
@ -12422,7 +12422,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="_pYLrPT" name="settings.ips.tme.token.help"> <unit id="_pYLrPT" name="settings.ips.tme.token.help">
<segment state="translated"> <segment state="translated">
<source>settings.ips.tme.token.help</source> <source>settings.ips.tme.token.help</source>
<target>You can get an API token and secret on &lt;a href="https://developers.tme.eu/en/"&gt;https://developers.tme.eu/en/&lt;/a&gt;.</target> <target><![CDATA[You can get an API token and secret on <a href="https://developers.tme.eu/en/">https://developers.tme.eu/en/</a>.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="yswx4bq" name="settings.ips.tme.secret"> <unit id="yswx4bq" name="settings.ips.tme.secret">
@ -12470,7 +12470,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="gu.JlpT" name="settings.ips.mouser.apiKey.help"> <unit id="gu.JlpT" name="settings.ips.mouser.apiKey.help">
<segment state="translated"> <segment state="translated">
<source>settings.ips.mouser.apiKey.help</source> <source>settings.ips.mouser.apiKey.help</source>
<target>You can register for an API key on &lt;a href="https://eu.mouser.com/api-hub/"&gt;https://eu.mouser.com/api-hub/&lt;/a&gt;.</target> <target><![CDATA[You can register for an API key on <a href="https://eu.mouser.com/api-hub/">https://eu.mouser.com/api-hub/</a>.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="Q66CNjw" name="settings.ips.mouser.searchLimit"> <unit id="Q66CNjw" name="settings.ips.mouser.searchLimit">
@ -12548,7 +12548,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="kKv0J3." name="settings.system.attachments"> <unit id="kKv0J3." name="settings.system.attachments">
<segment state="translated"> <segment state="translated">
<source>settings.system.attachments</source> <source>settings.system.attachments</source>
<target>Attachments &amp; Files</target> <target><![CDATA[Attachments & Files]]></target>
</segment> </segment>
</unit> </unit>
<unit id="dsRff8T" name="settings.system.attachments.maxFileSize"> <unit id="dsRff8T" name="settings.system.attachments.maxFileSize">
@ -12572,7 +12572,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="T.PBu5P" name="settings.system.attachments.allowDownloads.help"> <unit id="T.PBu5P" name="settings.system.attachments.allowDownloads.help">
<segment state="translated"> <segment state="translated">
<source>settings.system.attachments.allowDownloads.help</source> <source>settings.system.attachments.allowDownloads.help</source>
<target>With this option users can download external files into Part-DB by providing an URL. &lt;b&gt;Attention: This can be a security issue, as it might allow users to access intranet ressources via Part-DB!&lt;/b&gt;</target> <target><![CDATA[With this option users can download external files into Part-DB by providing an URL. <b>Attention: This can be a security issue, as it might allow users to access intranet ressources via Part-DB!</b>]]></target>
</segment> </segment>
</unit> </unit>
<unit id=".OyihML" name="settings.system.attachments.downloadByDefault"> <unit id=".OyihML" name="settings.system.attachments.downloadByDefault">
@ -12746,8 +12746,8 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="0GRlEe5" name="settings.system.localization.base_currency_description"> <unit id="0GRlEe5" name="settings.system.localization.base_currency_description">
<segment state="translated"> <segment state="translated">
<source>settings.system.localization.base_currency_description</source> <source>settings.system.localization.base_currency_description</source>
<target>The currency that is used to store price information and exchange rates in. This currency is assumed, when no currency is set for a price information. <target><![CDATA[The currency that is used to store price information and exchange rates in. This currency is assumed, when no currency is set for a price information.
&lt;b&gt;Please note that the currencies are not converted, when changing this value. So changing the default currency after you already added price information, will result in wrong prices!&lt;/b&gt;</target> <b>Please note that the currencies are not converted, when changing this value. So changing the default currency after you already added price information, will result in wrong prices!</b>]]></target>
</segment> </segment>
</unit> </unit>
<unit id="cvpTUeY" name="settings.system.privacy"> <unit id="cvpTUeY" name="settings.system.privacy">
@ -12777,7 +12777,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="w07P3Dt" name="settings.misc.kicad_eda.category_depth.help"> <unit id="w07P3Dt" name="settings.misc.kicad_eda.category_depth.help">
<segment state="translated"> <segment state="translated">
<source>settings.misc.kicad_eda.category_depth.help</source> <source>settings.misc.kicad_eda.category_depth.help</source>
<target>This value determines the depth of the category tree, that is visible inside KiCad. 0 means that only the top level categories are visible. Set to a value &gt; 0 to show more levels. Set to -1, to show all parts of Part-DB inside a sigle cnategory in KiCad.</target> <target><![CDATA[This value determines the depth of the category tree, that is visible inside KiCad. 0 means that only the top level categories are visible. Set to a value > 0 to show more levels. Set to -1, to show all parts of Part-DB inside a sigle cnategory in KiCad.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="VwvmcWE" name="settings.behavior.sidebar"> <unit id="VwvmcWE" name="settings.behavior.sidebar">
@ -12795,7 +12795,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="jc0JTvL" name="settings.behavior.sidebar.items.help"> <unit id="jc0JTvL" name="settings.behavior.sidebar.items.help">
<segment state="translated"> <segment state="translated">
<source>settings.behavior.sidebar.items.help</source> <source>settings.behavior.sidebar.items.help</source>
<target>The menus which appear at the sidebar by default. Order of items can be changed via drag &amp; drop.</target> <target><![CDATA[The menus which appear at the sidebar by default. Order of items can be changed via drag & drop.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="gVSWDkE" name="settings.behavior.sidebar.rootNodeEnabled"> <unit id="gVSWDkE" name="settings.behavior.sidebar.rootNodeEnabled">
@ -12843,7 +12843,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="SUD8H3b" name="settings.behavior.table.parts_default_columns.help"> <unit id="SUD8H3b" name="settings.behavior.table.parts_default_columns.help">
<segment state="translated"> <segment state="translated">
<source>settings.behavior.table.parts_default_columns.help</source> <source>settings.behavior.table.parts_default_columns.help</source>
<target>The columns to show by default in part tables. Order of items can be changed via drag &amp; drop.</target> <target><![CDATA[The columns to show by default in part tables. Order of items can be changed via drag & drop.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="hazr_g5" name="settings.ips.oemsecrets"> <unit id="hazr_g5" name="settings.ips.oemsecrets">
@ -12897,7 +12897,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="KLJYfJ0" name="settings.ips.oemsecrets.sortMode.M"> <unit id="KLJYfJ0" name="settings.ips.oemsecrets.sortMode.M">
<segment state="translated"> <segment state="translated">
<source>settings.ips.oemsecrets.sortMode.M</source> <source>settings.ips.oemsecrets.sortMode.M</source>
<target>Completeness &amp; Manufacturer name</target> <target><![CDATA[Completeness & Manufacturer name]]></target>
</segment> </segment>
</unit> </unit>
<unit id="8C9ijHM" name="entity.export.flash.error.no_entities"> <unit id="8C9ijHM" name="entity.export.flash.error.no_entities">
@ -13509,7 +13509,7 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<unit id="FsrRdkp" name="settings.behavior.homepage.items.help"> <unit id="FsrRdkp" name="settings.behavior.homepage.items.help">
<segment state="translated"> <segment state="translated">
<source>settings.behavior.homepage.items.help</source> <source>settings.behavior.homepage.items.help</source>
<target>The items to show at the homepage. Order can be changed via drag &amp; drop.</target> <target><![CDATA[The items to show at the homepage. Order can be changed via drag & drop.]]></target>
</segment> </segment>
</unit> </unit>
<unit id="CYw3_pS" name="settings.system.customization.showVersionOnHomepage"> <unit id="CYw3_pS" name="settings.system.customization.showVersionOnHomepage">
@ -14190,5 +14190,29 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<target>Maximum number of mappings reached</target> <target>Maximum number of mappings reached</target>
</segment> </segment>
</unit> </unit>
<unit id="LWLi016" name="settings.system">
<segment>
<source>settings.system</source>
<target>System</target>
</segment>
</unit>
<unit id="8syOoyh" name="settings.behavior">
<segment>
<source>settings.behavior</source>
<target>Behavior</target>
</segment>
</unit>
<unit id="lAiL2Jw" name="settings.ips">
<segment>
<source>settings.ips</source>
<target>Info providers</target>
</segment>
</unit>
<unit id="GuUZqpX" name="settings.misc">
<segment>
<source>settings.misc</source>
<target>Misc</target>
</segment>
</unit>
</file> </file>
</xliff> </xliff>