<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fi" sourcelanguage="en">
  <context>
    <name>AddCustomRepositoryDialog</name>
    <message>
      <location filename="../../AddonManagerOptions_AddCustomRepository.ui" line="14"/>
      <source>Custom repository</source>
      <translation>Omavalintainen tietovarasto</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions_AddCustomRepository.ui" line="20"/>
      <source>Repository URL</source>
      <translation>Tietovaraston URL-osoite</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions_AddCustomRepository.ui" line="30"/>
      <source>Branch</source>
      <translation>Haara</translation>
    </message>
  </context>
  <context>
    <name>CompactView</name>
    <message>
      <location filename="../../compact_view.py" line="77"/>
      <location filename="../../compact_view.ui" line="20"/>
      <source>Form</source>
      <translation>Lomake</translation>
    </message>
    <message>
      <location filename="../../compact_view.py" line="78"/>
      <location filename="../../compact_view.ui" line="59"/>
      <source>Icon</source>
      <translation>kuvake</translation>
    </message>
    <message>
      <location filename="../../compact_view.py" line="81"/>
      <location filename="../../compact_view.ui" line="66"/>
      <source>&lt;b&gt;Package Name&lt;/b&gt;</source>
      <translation>&lt;b&gt;Paketin nimi&lt;/b&gt;</translation>
    </message>
    <message>
      <location filename="../../compact_view.py" line="82"/>
      <location filename="../../compact_view.ui" line="73"/>
      <source>Version</source>
      <translation>Versio</translation>
    </message>
    <message>
      <location filename="../../compact_view.py" line="85"/>
      <location filename="../../compact_view.ui" line="86"/>
      <source>Description</source>
      <translation>Kuvaus</translation>
    </message>
    <message>
      <location filename="../../compact_view.py" line="88"/>
      <source>Update Available</source>
      <translation type="unfinished">Update Available</translation>
    </message>
    <message>
      <location filename="../../compact_view.ui" line="102"/>
      <source>UpdateAvailable</source>
      <translation type="unfinished">UpdateAvailable</translation>
    </message>
  </context>
  <context>
    <name>DependencyDialog</name>
    <message>
      <location filename="../../developer_mode_dependencies.ui" line="14"/>
      <source>Dependencies</source>
      <translation>Riippuvuudet</translation>
    </message>
    <message>
      <location filename="../../developer_mode_dependencies.ui" line="39"/>
      <source>Dependency type</source>
      <translation>Riippuvuuden tyyppi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_dependencies.ui" line="44"/>
      <source>Name</source>
      <translation>Nimi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_dependencies.ui" line="49"/>
      <source>Optional?</source>
      <translation>Valinnainen?</translation>
    </message>
  </context>
  <context>
    <name>DependencyResolutionDialog</name>
    <message>
      <location filename="../../dependency_resolution_dialog.ui" line="17"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="213"/>
      <source>Resolve Dependencies</source>
      <translation>Ratkaise riippuvuudet</translation>
    </message>
    <message>
      <location filename="../../dependency_resolution_dialog.ui" line="29"/>
      <source>This Addon has the following required and optional dependencies. You must install them before this Addon can be used.

Do you want the Addon Manager to install them automatically? Choose &quot;Ignore&quot; to install the Addon without installing the dependencies.</source>
      <translation type="unfinished">This Addon has the following required and optional dependencies. You must install them before this Addon can be used.

Do you want the Addon Manager to install them automatically? Choose &quot;Ignore&quot; to install the Addon without installing the dependencies.</translation>
    </message>
    <message>
      <location filename="../../dependency_resolution_dialog.ui" line="43"/>
      <source>FreeCAD Addons</source>
      <translation>FreeCAD-lisäosat</translation>
    </message>
    <message>
      <location filename="../../dependency_resolution_dialog.ui" line="55"/>
      <source>Required Python modules</source>
      <translation>Vaaditut Python-moduulit</translation>
    </message>
    <message>
      <location filename="../../dependency_resolution_dialog.ui" line="67"/>
      <source>Optional Python modules</source>
      <translation>Valinnaiset Python-moduulit</translation>
    </message>
  </context>
  <context>
    <name>DeveloperModeDialog</name>
    <message>
      <location filename="../../developer_mode.ui" line="14"/>
      <source>Addon Developer Tools</source>
      <translation type="unfinished">Addon Developer Tools</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="25"/>
      <source>Path to Addon</source>
      <translation>Polku lisäosaan</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="45"/>
      <location filename="../../developer_mode.ui" line="195"/>
      <source>Browse...</source>
      <translation>Selaa...</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="54"/>
      <source>Metadata</source>
      <translation type="unfinished">Metadata</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="65"/>
      <source>Primary branch</source>
      <translation>Ensisijainen haara</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="77"/>
      <location filename="../../developer_mode.ui" line="160"/>
      <source>Explanation of what this Addon provides. Displayed in the Addon Manager. It is not necessary for this to state that this is a FreeCAD Addon.</source>
      <translation type="unfinished">Explanation of what this Addon provides. Displayed in the Addon Manager. It is not necessary for this to state that this is a FreeCAD Addon.</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="80"/>
      <source>Description</source>
      <translation>Kuvaus</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="90"/>
      <source>Discussion URL</source>
      <translation type="unfinished">Discussion URL</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="97"/>
      <source>Icon</source>
      <translation>kuvake</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="104"/>
      <source>Bugtracker URL</source>
      <translation type="unfinished">Bugtracker URL</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="113"/>
      <source>Semantic (1.2.3-beta) or CalVer (2022.08.30) styles supported</source>
      <translation>Semanttinen tyyli (1.2.3-beta) ja CalVer-tyyli (2022.08.30) tuettu</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="120"/>
      <source>Set to today (CalVer style)</source>
      <translation>Aseta tähän päivään (CalVer-tyyli)</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="132"/>
      <location filename="../../developer_mode.ui" line="146"/>
      <location filename="../../developer_mode.ui" line="180"/>
      <location filename="../../developer_mode.ui" line="218"/>
      <source>(Optional)</source>
      <translation>(Valinnainen)</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="139"/>
      <location filename="../../developer_mode.ui" line="225"/>
      <source>Displayed in the Addon Manager&apos;s list of Addons. Should not include the word &quot;FreeCAD&quot;, and must be a valid directory name on all support operating systems.</source>
      <translation type="unfinished">Displayed in the Addon Manager&apos;s list of Addons. Should not include the word &quot;FreeCAD&quot;, and must be a valid directory name on all support operating systems.</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="153"/>
      <source>README URL</source>
      <translation>README:n osoite</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="166"/>
      <source>TIP: Since this is displayed within FreeCAD, in the Addon Manager, it is not necessary to take up space saying things like &quot;This is a FreeCAD Addon...&quot; -- just say what it does.</source>
      <translation type="unfinished">TIP: Since this is displayed within FreeCAD, in the Addon Manager, it is not necessary to take up space saying things like &quot;This is a FreeCAD Addon...&quot; -- just say what it does.</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="173"/>
      <source>Repository URL</source>
      <translation>Tietovaraston URL-osoite</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="204"/>
      <source>Website URL</source>
      <translation>Sivuston osoite</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="211"/>
      <source>Documentation URL</source>
      <translation>Dokumentaation osoite</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="228"/>
      <source>Addon Name</source>
      <translation>Lisäosan nimi</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="235"/>
      <source>Version</source>
      <translation>Versio</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="242"/>
      <source>(Recommended)</source>
      <translation>(Suositeltu)</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="249"/>
      <source>Minimum Python</source>
      <translation>Pythonin vähimmäisversio</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="258"/>
      <source>(Optional, only 3.x version supported)</source>
      <translation>(Valinnainen, vain versiot 3.x tuettu)</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="265"/>
      <source>Detect...</source>
      <translation>Tunnista...</translation>
    </message>
    <message>
      <location filename="../../developer_mode.ui" line="277"/>
      <source>Addon Contents</source>
      <translation>Lisäosan sisältö</translation>
    </message>
  </context>
  <context>
    <name>Dialog</name>
    <message>
      <location filename="../../AddonManager.ui" line="14"/>
      <source>Addon Manager</source>
      <translation>Lisäosien hallinta</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="64"/>
      <source>Downloading info...</source>
      <translation>Ladataan tietoja...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="71"/>
      <source>Stop the cache update</source>
      <translation type="unfinished">Stop the cache update</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="103"/>
      <source>Refresh local cache</source>
      <translation type="unfinished">Refresh local cache</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="110"/>
      <source>Download and apply all available updates</source>
      <translation>Lataa ja käytä kaikkia saatavilla olevia päivityksiä</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="113"/>
      <source>Update all Addons</source>
      <translation>Päivitä kaikki lisäosat</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="120"/>
      <source>Check for updates</source>
      <translation>Tarkista päivitykset</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="130"/>
      <source>View and update Python package dependencies</source>
      <translation type="unfinished">View and update Python package dependencies</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="133"/>
      <source>Python dependencies...</source>
      <translation>Python-riippuvuudet...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="140"/>
      <source>Developer tools...</source>
      <translation>Kehittäjätyökalut...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="160"/>
      <source>Close the Addon Manager</source>
      <translation>Sulje lisäosien hallinta</translation>
    </message>
    <message>
      <location filename="../../AddonManager.ui" line="163"/>
      <source>Close</source>
      <translation>Sulje</translation>
    </message>
    <message>
      <location filename="../../developer_mode_tags.ui" line="14"/>
      <source>Edit Tags</source>
      <translation>Muokkaa tageja</translation>
    </message>
    <message>
      <location filename="../../developer_mode_tags.ui" line="20"/>
      <source>Comma-separated list of tags describing this item:</source>
      <translation type="unfinished">Comma-separated list of tags describing this item:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_tags.ui" line="35"/>
      <source>HINT: Common tags include &quot;Assembly&quot;, &quot;FEM&quot;, &quot;Mesh&quot;, &quot;NURBS&quot;, etc.</source>
      <translation type="unfinished">HINT: Common tags include &quot;Assembly&quot;, &quot;FEM&quot;, &quot;Mesh&quot;, &quot;NURBS&quot;, etc.</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="17"/>
      <source>Welcome to the Addon Manager</source>
      <translation>Tervetuloa lisäosien hallintaan</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="23"/>
      <source>The addons that can be installed here are not officially part of FreeCAD, and are not reviewed by the FreeCAD team. Make sure you know what you are installing!</source>
      <translation type="unfinished">The addons that can be installed here are not officially part of FreeCAD, and are not reviewed by the FreeCAD team. Make sure you know what you are installing!</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="46"/>
      <source>Download Settings</source>
      <translation>Latausasetukset</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="53"/>
      <source>Automatically check installed Addons for updates</source>
      <translation type="unfinished">Automatically check installed Addons for updates</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="60"/>
      <source>Download Macro metadata (approximately 10MB)</source>
      <translation type="unfinished">Download Macro metadata (approximately 10MB)</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="70"/>
      <source>No proxy</source>
      <translation>Ei välityspalvelinta</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="75"/>
      <source>System proxy</source>
      <translation type="unfinished">System proxy</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="80"/>
      <source>User-defined proxy:</source>
      <translation type="unfinished">User-defined proxy:</translation>
    </message>
    <message>
      <location filename="../../first_run.ui" line="93"/>
      <source>These and other settings are available in the FreeCAD Preferences window.</source>
      <translation type="unfinished">These and other settings are available in the FreeCAD Preferences window.</translation>
    </message>
  </context>
  <context>
    <name>EditDependencyDialog</name>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="14"/>
      <source>Edit Dependency</source>
      <translation>Muokkaa riippuvuutta</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="20"/>
      <source>Dependency Type</source>
      <translation>Riippuvuuden tyyppi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="30"/>
      <source>Dependency</source>
      <translation>Riippuvuus</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="42"/>
      <source>Package name, if &quot;Other...&quot;</source>
      <translation type="unfinished">Package name, if &quot;Other...&quot;</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="54"/>
      <source>NOTE: If &quot;Other...&quot; is selected, the package is not in the ALLOWED_PYTHON_PACKAGES.txt file, and will not be automatically installed by the Addon Manager. Submit a PR at &lt;a href=&quot;https://github.com/FreeCAD/FreeCAD-addons&quot;&gt;https://github.com/FreeCAD/FreeCAD-addons&lt;/a&gt; to request addition of a package.</source>
      <translation type="unfinished">NOTE: If &quot;Other...&quot; is selected, the package is not in the ALLOWED_PYTHON_PACKAGES.txt file, and will not be automatically installed by the Addon Manager. Submit a PR at &lt;a href=&quot;https://github.com/FreeCAD/FreeCAD-addons&quot;&gt;https://github.com/FreeCAD/FreeCAD-addons&lt;/a&gt; to request addition of a package.</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="69"/>
      <source>If this is an optional dependency, the Addon Manager will offer to install it (when possible), but will not block installation if the user chooses not to, or cannot, install the package.</source>
      <translation type="unfinished">If this is an optional dependency, the Addon Manager will offer to install it (when possible), but will not block installation if the user chooses not to, or cannot, install the package.</translation>
    </message>
    <message>
      <location filename="../../developer_mode_edit_dependency.ui" line="72"/>
      <source>Optional</source>
      <translation>Valinnainen</translation>
    </message>
  </context>
  <context>
    <name>ExpandedView</name>
    <message>
      <location filename="../../expanded_view.py" line="116"/>
      <location filename="../../expanded_view.ui" line="20"/>
      <source>Form</source>
      <translation>Lomake</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="117"/>
      <location filename="../../expanded_view.ui" line="68"/>
      <source>Icon</source>
      <translation>kuvake</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="120"/>
      <location filename="../../expanded_view.ui" line="101"/>
      <source>&lt;h1&gt;Package Name&lt;/h1&gt;</source>
      <translation>&lt;h1&gt;Paketin nimi&lt;/h1&gt;</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="121"/>
      <location filename="../../expanded_view.ui" line="114"/>
      <source>Version</source>
      <translation>Versio</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="122"/>
      <location filename="../../expanded_view.ui" line="121"/>
      <source>(tags)</source>
      <translation type="unfinished">(tags)</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="125"/>
      <location filename="../../expanded_view.ui" line="149"/>
      <source>Description</source>
      <translation>Kuvaus</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="126"/>
      <location filename="../../expanded_view.ui" line="171"/>
      <source>Maintainer</source>
      <translation>Ylläpitäjä</translation>
    </message>
    <message>
      <location filename="../../expanded_view.py" line="129"/>
      <source>Update Available</source>
      <translation type="unfinished">Update Available</translation>
    </message>
    <message>
      <location filename="../../expanded_view.ui" line="186"/>
      <source>UpdateAvailable</source>
      <translation type="unfinished">UpdateAvailable</translation>
    </message>
  </context>
  <context>
    <name>Form</name>
    <message>
      <location filename="../../developer_mode_licenses_table.ui" line="14"/>
      <location filename="../../developer_mode_people_table.ui" line="14"/>
      <source>Form</source>
      <translation>Lomake</translation>
    </message>
    <message>
      <location filename="../../developer_mode_licenses_table.ui" line="38"/>
      <source>Licenses</source>
      <translation>Lisenssit</translation>
    </message>
    <message>
      <location filename="../../developer_mode_licenses_table.ui" line="69"/>
      <source>License</source>
      <translation>Lisenssi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_licenses_table.ui" line="74"/>
      <source>License file</source>
      <translation>Lisenssitiedosto</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people_table.ui" line="26"/>
      <source>People</source>
      <translation type="unfinished">People</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people_table.ui" line="57"/>
      <source>Kind</source>
      <translation type="unfinished">Kind</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people_table.ui" line="62"/>
      <source>Name</source>
      <translation>Nimi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people_table.ui" line="67"/>
      <source>Email</source>
      <translation>Sähköposti</translation>
    </message>
  </context>
  <context>
    <name>FreeCADVersionToBranchMapDialog</name>
    <message>
      <location filename="../../developer_mode_advanced_freecad_versions.ui" line="14"/>
      <source>Advanced Version Mapping</source>
      <translation type="unfinished">Advanced Version Mapping</translation>
    </message>
    <message>
      <location filename="../../developer_mode_advanced_freecad_versions.ui" line="20"/>
      <source>Upcoming versions of the FreeCAD Addon Manager will support developers&apos; setting a specific branch or tag for use with a specific version of FreeCAD (e.g. setting a specific tag as the last version of your Addon to support v0.19, etc.)</source>
      <translation type="unfinished">Upcoming versions of the FreeCAD Addon Manager will support developers&apos; setting a specific branch or tag for use with a specific version of FreeCAD (e.g. setting a specific tag as the last version of your Addon to support v0.19, etc.)</translation>
    </message>
    <message>
      <location filename="../../developer_mode_advanced_freecad_versions.ui" line="43"/>
      <source>FreeCAD Version</source>
      <translation>FreeCAD:in versio</translation>
    </message>
    <message>
      <location filename="../../developer_mode_advanced_freecad_versions.ui" line="48"/>
      <source>Best-available branch, tag, or commit</source>
      <translation type="unfinished">Best-available branch, tag, or commit</translation>
    </message>
  </context>
  <context>
    <name>FreeCADVersionsDialog</name>
    <message>
      <location filename="../../developer_mode_freecad_versions.ui" line="14"/>
      <source>Supported FreeCAD Versions</source>
      <translation>Tuetut FreeCAD-versiot</translation>
    </message>
    <message>
      <location filename="../../developer_mode_freecad_versions.ui" line="20"/>
      <source>Minimum FreeCAD Version Supported</source>
      <translation>Pienin tuettu FreeCAD-versio</translation>
    </message>
    <message>
      <location filename="../../developer_mode_freecad_versions.ui" line="27"/>
      <location filename="../../developer_mode_freecad_versions.ui" line="41"/>
      <source>Optional</source>
      <translation>Valinnainen</translation>
    </message>
    <message>
      <location filename="../../developer_mode_freecad_versions.ui" line="34"/>
      <source>Maximum FreeCAD Version Supported</source>
      <translation>Suurin tuettu FreeCAD-versio</translation>
    </message>
    <message>
      <location filename="../../developer_mode_freecad_versions.ui" line="48"/>
      <source>Advanced version mapping...</source>
      <translation type="unfinished">Advanced version mapping...</translation>
    </message>
  </context>
  <context>
    <name>Gui::Dialog::DlgSettingsAddonManager</name>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="14"/>
      <source>Addon manager options</source>
      <translation>Lisäosien hallinnan asetukset</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="20"/>
      <source>If this option is selected, when launching the Addon Manager,
installed addons will be checked for available updates
(this requires the GitPython package installed on your system)</source>
      <translation type="unfinished">If this option is selected, when launching the Addon Manager,
installed addons will be checked for available updates
(this requires the GitPython package installed on your system)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="25"/>
      <source>Automatically check for updates at start (requires git)</source>
      <translation type="unfinished">Automatically check for updates at start (requires git)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="41"/>
      <source>Download Macro metadata (approximately 10MB)</source>
      <translation type="unfinished">Download Macro metadata (approximately 10MB)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="56"/>
      <source>Cache update frequency</source>
      <translation type="unfinished">Cache update frequency</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="76"/>
      <source>Manual (no automatic updates)</source>
      <translation type="unfinished">Manual (no automatic updates)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="81"/>
      <source>Daily</source>
      <translation>Päivittäin</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="86"/>
      <source>Weekly</source>
      <translation>Viikottain</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="96"/>
      <source>Hide Addons marked Python 2 Only</source>
      <translation type="unfinished">Hide Addons marked Python 2 Only</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="112"/>
      <source>Hide Addons marked Obsolete</source>
      <translation type="unfinished">Hide Addons marked Obsolete</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="128"/>
      <source>Hide Addons that require a newer version of FreeCAD</source>
      <translation type="unfinished">Hide Addons that require a newer version of FreeCAD</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="150"/>
      <source>Custom repositories</source>
      <translation type="unfinished">Custom repositories</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="204"/>
      <source>Proxy</source>
      <translation type="unfinished">Proxy</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="210"/>
      <source>No proxy</source>
      <translation>Ei välityspalvelinta</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="226"/>
      <source>User system proxy</source>
      <translation type="unfinished">User system proxy</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="239"/>
      <source>User-defined proxy:</source>
      <translation type="unfinished">User-defined proxy:</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="276"/>
      <source>Path to Python executable (optional):</source>
      <translation>Polku Python-suoritustiedostoon (valinnainen):</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="308"/>
      <source>Path to git executable (optional):</source>
      <translation>Polku git-suoritustiedostoon (valinnainen):</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="295"/>
      <source>The path to the Python executable for package installation with pip. Autodetected if needed and not specified.</source>
      <translation type="unfinished">The path to the Python executable for package installation with pip. Autodetected if needed and not specified.</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="327"/>
      <source>The path to the git executable. Autodetected if needed and not specified.</source>
      <translation type="unfinished">The path to the git executable. Autodetected if needed and not specified.</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="348"/>
      <source>Advanced Options</source>
      <translation>Lisäasetukset</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="354"/>
      <source>Show option to change branches (requires git)</source>
      <translation type="unfinished">Show option to change branches (requires git)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="367"/>
      <source>Disable git (fall back to ZIP downloads only)</source>
      <translation type="unfinished">Disable git (fall back to ZIP downloads only)</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="380"/>
      <source>Activate Addon Manager options intended for developers of new Addons.</source>
      <translation type="unfinished">Activate Addon Manager options intended for developers of new Addons.</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.ui" line="383"/>
      <source>Addon developer mode</source>
      <translation type="unfinished">Addon developer mode</translation>
    </message>
  </context>
  <context>
    <name>PackageDetails</name>
    <message>
      <location filename="../../package_details.ui" line="14"/>
      <source>Form</source>
      <translation>Lomake</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="49"/>
      <source>Uninstalls a selected macro or workbench</source>
      <translation type="unfinished">Uninstalls a selected macro or workbench</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="52"/>
      <source>Install</source>
      <translation>Asenna</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="59"/>
      <source>Uninstall</source>
      <translation>Poista asennus</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="66"/>
      <source>Update</source>
      <translation>Päivitä</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="73"/>
      <source>Run Macro</source>
      <translation>Suorita makro</translation>
    </message>
    <message>
      <location filename="../../package_details.ui" line="80"/>
      <source>Change branch</source>
      <translation>Vaihda haaraa</translation>
    </message>
  </context>
  <context>
    <name>PythonDependencyUpdateDialog</name>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="14"/>
      <source>Manage Python Dependencies</source>
      <translation>Hallitse Python-riippuvuuksia</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="20"/>
      <source>The following Python packages have been installed locally by the Addon Manager to satisfy Addon dependencies. Installation location:</source>
      <translation type="unfinished">The following Python packages have been installed locally by the Addon Manager to satisfy Addon dependencies. Installation location:</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="59"/>
      <source>Package name</source>
      <translation>Paketin nimi</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="64"/>
      <source>Installed version</source>
      <translation>Asennettu versio</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="69"/>
      <source>Available version</source>
      <translation>Saatavilla oleva versio</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="74"/>
      <source>Used by</source>
      <translation type="unfinished">Used by</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="87"/>
      <source>An asterisk (*) in the &quot;Used by&quot; column indicates an optional dependency. Note that Used by only records direct imports in the Addon. Other Python packages that those packages depend upon may have been installed as well.</source>
      <translation type="unfinished">An asterisk (*) in the &quot;Used by&quot; column indicates an optional dependency. Note that Used by only records direct imports in the Addon. Other Python packages that those packages depend upon may have been installed as well.</translation>
    </message>
    <message>
      <location filename="../../PythonDependencyUpdateDialog.ui" line="99"/>
      <source>Update all available</source>
      <translation>Päivitä kaikki saatavilla olevat</translation>
    </message>
  </context>
  <context>
    <name>SelectFromList</name>
    <message>
      <location filename="../../developer_mode_select_from_list.ui" line="14"/>
      <source>Dialog</source>
      <translation>Dialogi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_select_from_list.ui" line="20"/>
      <source>TextLabel</source>
      <translation>TekstiSelite</translation>
    </message>
  </context>
  <context>
    <name>UpdateAllDialog</name>
    <message>
      <location filename="../../update_all.ui" line="14"/>
      <source>Updating Addons</source>
      <translation>Päivitetään lisäosia</translation>
    </message>
    <message>
      <location filename="../../update_all.ui" line="23"/>
      <source>Updating out-of-date addons...</source>
      <translation>Päivitetään vanhentuneita lisäosia...</translation>
    </message>
  </context>
  <context>
    <name>addContentDialog</name>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="14"/>
      <source>Content Item</source>
      <translation type="unfinished">Content Item</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="25"/>
      <source>Content type:</source>
      <translation>Sisältötyyppi:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="33"/>
      <source>Macro</source>
      <translation>Makro</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="38"/>
      <source>Preference Pack</source>
      <translation type="unfinished">Preference Pack</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="43"/>
      <source>Workbench</source>
      <translation>Työpöytä</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="51"/>
      <source>If this is the only thing in the Addon, all other metadata can be inherited from the top level, and does not need to be specified here.</source>
      <translation type="unfinished">If this is the only thing in the Addon, all other metadata can be inherited from the top level, and does not need to be specified here.</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="54"/>
      <source>This is the only item in the Addon</source>
      <translation type="unfinished">This is the only item in the Addon</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="86"/>
      <source>Main macro file</source>
      <translation type="unfinished">Main macro file</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="93"/>
      <source>The file with the macro&apos;s metadata in it</source>
      <translation type="unfinished">The file with the macro&apos;s metadata in it</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="100"/>
      <location filename="../../developer_mode_add_content.ui" line="161"/>
      <location filename="../../developer_mode_add_content.ui" line="193"/>
      <source>Browse...</source>
      <translation>Selaa...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="111"/>
      <source>Preference Pack Name</source>
      <translation type="unfinished">Preference Pack Name</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="125"/>
      <source>Workbench class name</source>
      <translation type="unfinished">Workbench class name</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="132"/>
      <source>Class that defines &quot;Icon&quot; data member</source>
      <translation type="unfinished">Class that defines &quot;Icon&quot; data member</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="145"/>
      <source>Subdirectory</source>
      <translation type="unfinished">Subdirectory</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="154"/>
      <source>Optional, defaults to name of content item</source>
      <translation type="unfinished">Optional, defaults to name of content item</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="170"/>
      <source>Icon</source>
      <translation>kuvake</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="186"/>
      <source>Optional, defaults to inheriting from top-level Addon</source>
      <translation type="unfinished">Optional, defaults to inheriting from top-level Addon</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="206"/>
      <source>Tags...</source>
      <translation>Tagit...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="213"/>
      <source>Dependencies...</source>
      <translation>Riippuvuudet...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="220"/>
      <source>FreeCAD Versions...</source>
      <translation>FreeCAD-versiot...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="258"/>
      <source>Other Metadata</source>
      <translation>Muut metatiedot</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="264"/>
      <source>Displayed in the Addon Manager&apos;s list of Addons. Should not include the word &quot;FreeCAD&quot;.</source>
      <translation type="unfinished">Displayed in the Addon Manager&apos;s list of Addons. Should not include the word &quot;FreeCAD&quot;.</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="278"/>
      <source>Version</source>
      <translation>Versio</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="285"/>
      <source>Description</source>
      <translation>Kuvaus</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="297"/>
      <source>Semantic (1.2.3-beta) or CalVer (2022.08.30) styles supported</source>
      <translation>Semanttinen tyyli (1.2.3-beta) ja CalVer-tyyli (2022.08.30) tuettu</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="304"/>
      <source>Set to today (CalVer style)</source>
      <translation>Aseta tähän päivään (CalVer-tyyli)</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="313"/>
      <source>Display Name</source>
      <translation type="unfinished">Display Name</translation>
    </message>
    <message>
      <location filename="../../developer_mode_add_content.ui" line="330"/>
      <source>Any fields left blank are inherited from the top-level Addon metadata, so technically they are all optional. For Addons with multiple content items, each item should provide a unique Display Name and Description.</source>
      <translation type="unfinished">Any fields left blank are inherited from the top-level Addon metadata, so technically they are all optional. For Addons with multiple content items, each item should provide a unique Display Name and Description.</translation>
    </message>
  </context>
  <context>
    <name>add_toolbar_button_dialog</name>
    <message>
      <location filename="../../add_toolbar_button_dialog.ui" line="14"/>
      <source>Add button?</source>
      <translation>Lisätäänkö painike?</translation>
    </message>
    <message>
      <location filename="../../add_toolbar_button_dialog.ui" line="20"/>
      <source>Add a toolbar button for this macro?</source>
      <translation type="unfinished">Add a toolbar button for this macro?</translation>
    </message>
    <message>
      <location filename="../../add_toolbar_button_dialog.ui" line="32"/>
      <source>Yes</source>
      <translation>Kyllä</translation>
    </message>
    <message>
      <location filename="../../add_toolbar_button_dialog.ui" line="39"/>
      <source>No</source>
      <translation>Ei</translation>
    </message>
    <message>
      <location filename="../../add_toolbar_button_dialog.ui" line="46"/>
      <source>Never</source>
      <translation>Ei koskaan</translation>
    </message>
  </context>
  <context>
    <name>change_branch</name>
    <message>
      <location filename="../../change_branch.ui" line="14"/>
      <source>Change Branch</source>
      <translation>Vaihda haaraa</translation>
    </message>
    <message>
      <location filename="../../change_branch.ui" line="23"/>
      <source>Change to branch or tag:</source>
      <translation>Vaihda haaraan tai tagiin:</translation>
    </message>
  </context>
  <context>
    <name>copyrightInformationDialog</name>
    <message>
      <location filename="../../developer_mode_copyright_info.ui" line="14"/>
      <source>Copyright Information</source>
      <translation>Tekijänoikeustiedot</translation>
    </message>
    <message>
      <location filename="../../developer_mode_copyright_info.ui" line="22"/>
      <source>Copyright holder:</source>
      <translation>Tekijänoikeuden haltija:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_copyright_info.ui" line="32"/>
      <source>Copyright year:</source>
      <translation>Tekijänoikeuden vuosi:</translation>
    </message>
  </context>
  <context>
    <name>personDialog</name>
    <message>
      <location filename="../../developer_mode_people.ui" line="14"/>
      <source>Add Person</source>
      <translation>Lisää henkilö</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people.ui" line="20"/>
      <source>A maintainer is someone with current commit access on this project. An author is anyone else you&apos;d like to give credit to.</source>
      <translation type="unfinished">A maintainer is someone with current commit access on this project. An author is anyone else you&apos;d like to give credit to.</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people.ui" line="29"/>
      <source>Name:</source>
      <translation>Nimi:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people.ui" line="39"/>
      <source>Email:</source>
      <translation>Sähköposti:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_people.ui" line="46"/>
      <source>Email is required for maintainers, and optional for authors.</source>
      <translation type="unfinished">Email is required for maintainers, and optional for authors.</translation>
    </message>
  </context>
  <context>
    <name>proxy_authentication</name>
    <message>
      <location filename="../../proxy_authentication.ui" line="14"/>
      <source>Proxy login required</source>
      <translation type="unfinished">Proxy login required</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="20"/>
      <source>Proxy requires authentication</source>
      <translation type="unfinished">Proxy requires authentication</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="29"/>
      <source>Proxy:</source>
      <translation type="unfinished">Proxy:</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="42"/>
      <source>Placeholder for proxy address</source>
      <translation type="unfinished">Placeholder for proxy address</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="49"/>
      <source>Realm:</source>
      <translation type="unfinished">Realm:</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="56"/>
      <source>Placeholder for proxy realm</source>
      <translation type="unfinished">Placeholder for proxy realm</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="67"/>
      <source>Username</source>
      <translation>Käyttäjätunnus</translation>
    </message>
    <message>
      <location filename="../../proxy_authentication.ui" line="77"/>
      <source>Password</source>
      <translation>Salasana</translation>
    </message>
  </context>
  <context>
    <name>selectLicenseDialog</name>
    <message>
      <location filename="../../developer_mode_license.ui" line="14"/>
      <source>Select a license</source>
      <translation>Valitse lisenssi</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="35"/>
      <source>About...</source>
      <translation>Tietoja...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="46"/>
      <source>License name:</source>
      <translation>Lisenssin nimi:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="60"/>
      <source>Path to license file:</source>
      <translation>Polku lisenssitiedostoon:</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="67"/>
      <source>(if required by license)</source>
      <translation>(jos lisenssi sitä edellyttää)</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="74"/>
      <source>Browse...</source>
      <translation>Selaa...</translation>
    </message>
    <message>
      <location filename="../../developer_mode_license.ui" line="81"/>
      <source>Create...</source>
      <translation>Luo...</translation>
    </message>
  </context>
  <context>
    <name>select_toolbar_dialog</name>
    <message>
      <location filename="../../select_toolbar_dialog.ui" line="14"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="458"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="474"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="493"/>
      <source>Select Toolbar</source>
      <translation type="unfinished">Select Toolbar</translation>
    </message>
    <message>
      <location filename="../../select_toolbar_dialog.ui" line="26"/>
      <source>Select a toolbar to add this macro to:</source>
      <translation type="unfinished">Select a toolbar to add this macro to:</translation>
    </message>
    <message>
      <location filename="../../select_toolbar_dialog.ui" line="36"/>
      <source>Ask every time</source>
      <translation>Kysy joka kerta</translation>
    </message>
  </context>
  <context>
    <name>toolbar_button</name>
    <message>
      <location filename="../../toolbar_button.ui" line="14"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="552"/>
      <source>Add button?</source>
      <translation>Lisätäänkö painike?</translation>
    </message>
    <message>
      <location filename="../../toolbar_button.ui" line="20"/>
      <source>Add a toolbar button for this macro?</source>
      <translation type="unfinished">Add a toolbar button for this macro?</translation>
    </message>
    <message>
      <location filename="../../toolbar_button.ui" line="32"/>
      <source>Yes</source>
      <translation>Kyllä</translation>
    </message>
    <message>
      <location filename="../../toolbar_button.ui" line="39"/>
      <source>No</source>
      <translation>Ei</translation>
    </message>
    <message>
      <location filename="../../toolbar_button.ui" line="46"/>
      <source>Never</source>
      <translation>Ei koskaan</translation>
    </message>
  </context>
  <context>
    <name>AddonsInstaller</name>
    <message>
      <location filename="../../AddonManager.py" line="229"/>
      <source>Starting up...</source>
      <translation type="unfinished">Starting up...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="268"/>
      <source>Loading addon information</source>
      <translation type="unfinished">Loading addon information</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="294"/>
      <source>Worker process {} is taking a long time to stop...</source>
      <translation type="unfinished">Worker process {} is taking a long time to stop...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="350"/>
      <source>Previous cache process was interrupted, restarting...
</source>
      <translation type="unfinished">Previous cache process was interrupted, restarting...
</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="369"/>
      <source>Custom repo list changed, forcing recache...
</source>
      <translation type="unfinished">Custom repo list changed, forcing recache...
</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="422"/>
      <source>Addon manager</source>
      <translation type="unfinished">Addon manager</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="429"/>
      <source>You must restart FreeCAD for changes to take effect.</source>
      <translation type="unfinished">You must restart FreeCAD for changes to take effect.</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="435"/>
      <source>Restart now</source>
      <translation type="unfinished">Restart now</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="436"/>
      <source>Restart later</source>
      <translation type="unfinished">Restart later</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="501"/>
      <location filename="../../AddonManager.py" line="934"/>
      <source>Refresh local cache</source>
      <translation type="unfinished">Refresh local cache</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="629"/>
      <source>Updating cache...</source>
      <translation type="unfinished">Updating cache...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="663"/>
      <source>Could not find addon &apos;{}&apos; to select
</source>
      <translation type="unfinished">Could not find addon &apos;{}&apos; to select
</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="691"/>
      <location filename="../../AddonManager.py" line="724"/>
      <source>Checking for updates...</source>
      <translation type="unfinished">Checking for updates...</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="719"/>
      <source>Apply {} update(s)</source>
      <translation type="unfinished">Apply {} update(s)</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="728"/>
      <source>No updates available</source>
      <translation type="unfinished">No updates available</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="861"/>
      <location filename="../../AddonManager.py" line="887"/>
      <location filename="../../AddonManager.py" line="988"/>
      <source>Cannot launch a new installer until the previous one has finished.</source>
      <translation type="unfinished">Cannot launch a new installer until the previous one has finished.</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="974"/>
      <source>Execution of macro failed. See console for failure details.</source>
      <translation type="unfinished">Execution of macro failed. See console for failure details.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_people_table.py" line="88"/>
      <location filename="../../addonmanager_devmode.py" line="116"/>
      <location filename="../../package_list.py" line="398"/>
      <location filename="../../addonmanager_devmode_person_editor.py" line="47"/>
      <source>Maintainer</source>
      <translation>Ylläpitäjä</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_people_table.py" line="89"/>
      <location filename="../../addonmanager_devmode.py" line="117"/>
      <location filename="../../package_list.py" line="435"/>
      <location filename="../../addonmanager_devmode_person_editor.py" line="50"/>
      <source>Author</source>
      <translation>Kehittäjä</translation>
    </message>
    <message>
      <location filename="../../manage_python_dependencies.py" line="166"/>
      <source>New Python Version Detected</source>
      <translation type="unfinished">New Python Version Detected</translation>
    </message>
    <message>
      <location filename="../../manage_python_dependencies.py" line="170"/>
      <source>This appears to be the first time this version of Python has been used with the Addon Manager. Would you like to install the same auto-installed dependencies for it?</source>
      <translation type="unfinished">This appears to be the first time this version of Python has been used with the Addon Manager. Would you like to install the same auto-installed dependencies for it?</translation>
    </message>
    <message>
      <location filename="../../manage_python_dependencies.py" line="202"/>
      <source>Processing, please wait...</source>
      <translation type="unfinished">Processing, please wait...</translation>
    </message>
    <message>
      <location filename="../../manage_python_dependencies.py" line="253"/>
      <location filename="../../package_details.py" line="918"/>
      <source>Update</source>
      <translation>Päivitä</translation>
    </message>
    <message>
      <location filename="../../manage_python_dependencies.py" line="355"/>
      <source>Updating...</source>
      <translation type="unfinished">Updating...</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="96"/>
      <source>Could not import QtNetwork -- it does not appear to be installed on your system. Your provider may have a package for this dependency (often called &quot;python3-pyside2.qtnetwork&quot;)</source>
      <translation type="unfinished">Could not import QtNetwork -- it does not appear to be installed on your system. Your provider may have a package for this dependency (often called &quot;python3-pyside2.qtnetwork&quot;)</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="221"/>
      <source>Failed to convert the specified proxy port &apos;{}&apos; to a port number</source>
      <translation type="unfinished">Failed to convert the specified proxy port &apos;{}&apos; to a port number</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="252"/>
      <source>Parameter error: mutually exclusive proxy options set. Resetting to default.</source>
      <translation type="unfinished">Parameter error: mutually exclusive proxy options set. Resetting to default.</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="267"/>
      <source>Parameter error: user proxy indicated, but no proxy provided. Resetting to default.</source>
      <translation type="unfinished">Parameter error: user proxy indicated, but no proxy provided. Resetting to default.</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="406"/>
      <source>Addon Manager: Unexpected {} response from server</source>
      <translation type="unfinished">Addon Manager: Unexpected {} response from server</translation>
    </message>
    <message>
      <location filename="../../NetworkManager.py" line="506"/>
      <source>Error with encrypted connection</source>
      <translation type="unfinished">Error with encrypted connection</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="84"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="61"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="75"/>
      <source>Confirm remove</source>
      <translation type="unfinished">Confirm remove</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="87"/>
      <source>Are you sure you want to uninstall {}?</source>
      <translation type="unfinished">Are you sure you want to uninstall {}?</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="95"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="91"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="108"/>
      <source>Removing Addon</source>
      <translation type="unfinished">Removing Addon</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="96"/>
      <source>Removing {}</source>
      <translation type="unfinished">Removing {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="121"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="131"/>
      <source>Uninstall complete</source>
      <translation type="unfinished">Uninstall complete</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="135"/>
      <location filename="../../AddonManagerTest/gui/test_uninstaller_gui.py" line="144"/>
      <source>Uninstall failed</source>
      <translation type="unfinished">Uninstall failed</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="63"/>
      <source>Addon Manager Warning: Could not import QtWebEngineWidgets -- README data will display as text-only</source>
      <translation type="unfinished">Addon Manager Warning: Could not import QtWebEngineWidgets -- README data will display as text-only</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="187"/>
      <source>Version {version} installed on {date}</source>
      <translation type="unfinished">Version {version} installed on {date}</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="192"/>
      <source>Version {version} installed</source>
      <translation type="unfinished">Version {version} installed</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="196"/>
      <source>Installed on {date}</source>
      <translation type="unfinished">Installed on {date}</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="200"/>
      <location filename="../../package_list.py" line="449"/>
      <location filename="../../package_list.py" line="507"/>
      <location filename="../../package_list.py" line="822"/>
      <source>Installed</source>
      <translation type="unfinished">Installed</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="210"/>
      <source>On branch {}, update available to version</source>
      <translation type="unfinished">On branch {}, update available to version</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="219"/>
      <source>Update available to version</source>
      <translation type="unfinished">Update available to version</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="230"/>
      <source>An update is available</source>
      <translation type="unfinished">An update is available</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="248"/>
      <source>Git tag &apos;{}&apos; checked out, no updates possible</source>
      <translation type="unfinished">Git tag &apos;{}&apos; checked out, no updates possible</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="256"/>
      <source>This is the latest version available for branch {}</source>
      <translation type="unfinished">This is the latest version available for branch {}</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="264"/>
      <source>Updated, please restart FreeCAD to use</source>
      <translation type="unfinished">Updated, please restart FreeCAD to use</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="271"/>
      <source>Update check in progress</source>
      <translation type="unfinished">Update check in progress</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="276"/>
      <source>Automatic update checks disabled</source>
      <translation type="unfinished">Automatic update checks disabled</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="298"/>
      <source>Installation location</source>
      <translation type="unfinished">Installation location</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="345"/>
      <source>WARNING: This addon is obsolete</source>
      <translation type="unfinished">WARNING: This addon is obsolete</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="355"/>
      <source>WARNING: This addon is Python 2 Only</source>
      <translation type="unfinished">WARNING: This addon is Python 2 Only</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="365"/>
      <source>WARNING: This addon requires FreeCAD </source>
      <translation type="unfinished">WARNING: This addon requires FreeCAD </translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="379"/>
      <source>WARNING: This addon is currently installed, but disabled. Use the &apos;enable&apos; button to re-enable.</source>
      <translation type="unfinished">WARNING: This addon is currently installed, but disabled. Use the &apos;enable&apos; button to re-enable.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="510"/>
      <location filename="../../package_details.py" line="523"/>
      <source>No URL or wiki page provided by this macro</source>
      <translation type="unfinished">No URL or wiki page provided by this macro</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="627"/>
      <source>Could not load README data from URL {}</source>
      <translation type="unfinished">Could not load README data from URL {}</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="653"/>
      <source>This Addon will be enabled next time you restart FreeCAD.</source>
      <translation type="unfinished">This Addon will be enabled next time you restart FreeCAD.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="671"/>
      <source>This Addon will be disabled next time you restart FreeCAD.</source>
      <translation type="unfinished">This Addon will be disabled next time you restart FreeCAD.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="949"/>
      <source>QtWebEngine Python bindings not installed -- using fallback README display.</source>
      <translation type="unfinished">QtWebEngine Python bindings not installed -- using fallback README display.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="682"/>
      <location filename="../../addonmanager_installer_gui.py" line="476"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="54"/>
      <source>Success</source>
      <translation type="unfinished">Success</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="686"/>
      <source>Branch change succeeded, please restart to use the new version.</source>
      <translation type="unfinished">Branch change succeeded, please restart to use the new version.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="707"/>
      <source>Changed to git ref &apos;{}&apos; -- please restart to use Addon.</source>
      <translation type="unfinished">Changed to git ref &apos;{}&apos; -- please restart to use Addon.</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="757"/>
      <source>Page JavaScript reported</source>
      <translation type="unfinished">Page JavaScript reported</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="912"/>
      <source>Install</source>
      <translation>Asenna</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="915"/>
      <source>Uninstall</source>
      <translation>Poista asennus</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="923"/>
      <source>Check for Update</source>
      <translation type="unfinished">Check for Update</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="926"/>
      <source>Run Macro</source>
      <translation>Suorita makro</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="929"/>
      <source>Change Branch</source>
      <translation>Vaihda haaraa</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="932"/>
      <source>Enable</source>
      <translation>Käytä</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="935"/>
      <source>Disable</source>
      <translation>Ota pois käytöstä</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="940"/>
      <source>Return to package list</source>
      <translation type="unfinished">Return to package list</translation>
    </message>
    <message>
      <location filename="../../package_details.py" line="957"/>
      <source>The page is taking a long time to load... showing the data we have so far...</source>
      <translation type="unfinished">The page is taking a long time to load... showing the data we have so far...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_connection_checker.py" line="68"/>
      <source>Checking connection</source>
      <translation type="unfinished">Checking connection</translation>
    </message>
    <message>
      <location filename="../../addonmanager_connection_checker.py" line="69"/>
      <source>Checking for connection to GitHub...</source>
      <translation type="unfinished">Checking for connection to GitHub...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_connection_checker.py" line="95"/>
      <source>Connection failed</source>
      <translation type="unfinished">Connection failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_connection_checker.py" line="101"/>
      <source>Missing dependency</source>
      <translation type="unfinished">Missing dependency</translation>
    </message>
    <message>
      <location filename="../../addonmanager_connection_checker.py" line="105"/>
      <source>Could not import QtNetwork -- see Report View for details. Addon Manager unavailable.</source>
      <translation type="unfinished">Could not import QtNetwork -- see Report View for details. Addon Manager unavailable.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_license_selector.py" line="114"/>
      <source>Other...</source>
      <comment>For providing a license other than one listed</comment>
      <translation type="unfinished">Other...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_license_selector.py" line="208"/>
      <source>Select the corresponding license file in your Addon</source>
      <translation type="unfinished">Select the corresponding license file in your Addon</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_license_selector.py" line="241"/>
      <source>Location for new license file</source>
      <translation type="unfinished">Location for new license file</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer.py" line="348"/>
      <source>Received {} response code from server</source>
      <translation type="unfinished">Received {} response code from server</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer.py" line="497"/>
      <source>Failed to install macro {}</source>
      <translation type="unfinished">Failed to install macro {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="137"/>
      <source>Unrecognized content kind &apos;{}&apos;</source>
      <translation type="unfinished">Unrecognized content kind &apos;{}&apos;</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="202"/>
      <source>Unable to locate icon at {}</source>
      <translation type="unfinished">Unable to locate icon at {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="279"/>
      <source>Select an icon file for this content item</source>
      <translation type="unfinished">Select an icon file for this content item</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="293"/>
      <location filename="../../addonmanager_devmode_add_content.py" line="332"/>
      <location filename="../../addonmanager_devmode.py" line="732"/>
      <source>{} is not a subdirectory of {}</source>
      <translation type="unfinished">{} is not a subdirectory of {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="311"/>
      <source>Select the subdirectory for this content item</source>
      <translation type="unfinished">Select the subdirectory for this content item</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="452"/>
      <source>Automatic</source>
      <translation>Automaattinen</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="453"/>
      <source>Workbench</source>
      <translation>Työpöytä</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="454"/>
      <source>Addon</source>
      <translation>Lisäosa</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="455"/>
      <source>Python</source>
      <translation type="unfinished">Python</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="465"/>
      <source>Yes</source>
      <translation>Kyllä</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="521"/>
      <source>Internal Workbench</source>
      <translation type="unfinished">Internal Workbench</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="524"/>
      <source>External Addon</source>
      <translation type="unfinished">External Addon</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="527"/>
      <source>Python Package</source>
      <translation type="unfinished">Python Package</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode_add_content.py" line="597"/>
      <location filename="../../addonmanager_devmode_add_content.py" line="610"/>
      <source>Other...</source>
      <translation type="unfinished">Other...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="153"/>
      <source>This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually:</source>
      <translation type="unfinished">This addon requires Python packages that are not installed, and cannot be installed automatically. To use this workbench you must install the following Python packages manually:</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="159"/>
      <source>Too many to list</source>
      <translation type="unfinished">Too many to list</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="164"/>
      <location filename="../../addonmanager_installer_gui.py" line="201"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="146"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="163"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="178"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="193"/>
      <source>Missing Requirement</source>
      <translation type="unfinished">Missing Requirement</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="184"/>
      <source>Addon &apos;{}&apos; requires &apos;{}&apos;, which is not available in your copy of FreeCAD.</source>
      <translation type="unfinished">Addon &apos;{}&apos; requires &apos;{}&apos;, which is not available in your copy of FreeCAD.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="192"/>
      <source>Addon &apos;{}&apos; requires the following workbenches, which are not available in your copy of FreeCAD:</source>
      <translation type="unfinished">Addon &apos;{}&apos; requires the following workbenches, which are not available in your copy of FreeCAD:</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="199"/>
      <source>Press OK to install anyway.</source>
      <translation type="unfinished">Press OK to install anyway.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="243"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="231"/>
      <source>Incompatible Python version</source>
      <translation type="unfinished">Incompatible Python version</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="247"/>
      <source>This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled.</source>
      <translation type="unfinished">This Addon (or one if its dependencies) requires Python {}.{}, and your system is running {}.{}. Installation cancelled.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="268"/>
      <source>Optional dependency on {} ignored because it is not in the allow-list</source>
      <translation type="unfinished">Optional dependency on {} ignored because it is not in the allow-list</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="314"/>
      <location filename="../../addonmanager_installer_gui.py" line="315"/>
      <source>Installing dependencies</source>
      <translation type="unfinished">Installing dependencies</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="340"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="84"/>
      <source>Cannot execute Python</source>
      <translation type="unfinished">Cannot execute Python</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="345"/>
      <source>Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python.</source>
      <translation type="unfinished">Failed to automatically locate your Python executable, or the path is set incorrectly. Please check the Addon Manager preferences setting for the path to Python.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="349"/>
      <source>Dependencies could not be installed. Continue with installation of {} anyway?</source>
      <translation type="unfinished">Dependencies could not be installed. Continue with installation of {} anyway?</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="364"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="98"/>
      <source>Cannot execute pip</source>
      <translation type="unfinished">Cannot execute pip</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="369"/>
      <source>Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: </source>
      <translation type="unfinished">Failed to execute pip, which may be missing from your Python installation. Please ensure your system has pip installed and try again. The failed command was: </translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="373"/>
      <location filename="../../addonmanager_installer_gui.py" line="398"/>
      <source>Continue with installation of {} anyway?</source>
      <translation type="unfinished">Continue with installation of {} anyway?</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="390"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="112"/>
      <source>Package installation failed</source>
      <translation type="unfinished">Package installation failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="394"/>
      <source>See Report View for detailed failure log.</source>
      <translation type="unfinished">See Report View for detailed failure log.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="435"/>
      <source>Installing Addon</source>
      <translation type="unfinished">Installing Addon</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="436"/>
      <source>Installing FreeCAD Addon &apos;{}&apos;</source>
      <translation type="unfinished">Installing FreeCAD Addon &apos;{}&apos;</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="450"/>
      <source>Cancelling</source>
      <translation type="unfinished">Cancelling</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="451"/>
      <source>Cancelling installation of &apos;{}&apos;</source>
      <translation type="unfinished">Cancelling installation of &apos;{}&apos;</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="477"/>
      <source>{} was installed successfully</source>
      <translation type="unfinished">{} was installed successfully</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="489"/>
      <location filename="../../AddonManagerTest/gui/test_installer_gui.py" line="68"/>
      <source>Installation Failed</source>
      <translation type="unfinished">Installation Failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="490"/>
      <source>Failed to install {}</source>
      <translation type="unfinished">Failed to install {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="607"/>
      <location filename="../../install_to_toolbar.py" line="102"/>
      <source>Create new toolbar</source>
      <translation type="unfinished">Create new toolbar</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="733"/>
      <location filename="../../install_to_toolbar.py" line="245"/>
      <source>A macro installed with the FreeCAD Addon Manager</source>
      <translation type="unfinished">A macro installed with the FreeCAD Addon Manager</translation>
    </message>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="735"/>
      <location filename="../../install_to_toolbar.py" line="247"/>
      <source>Run</source>
      <comment>Indicates a macro that can be &apos;run&apos;</comment>
      <translation>Suorita</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_utility.py" line="61"/>
      <source>Unable to read data from GitHub: check your internet connection and proxy settings and try again.</source>
      <translation type="unfinished">Unable to read data from GitHub: check your internet connection and proxy settings and try again.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="197"/>
      <source>XML failure while reading metadata from file {}</source>
      <translation type="unfinished">XML failure while reading metadata from file {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="204"/>
      <source>Invalid metadata in file {}</source>
      <translation type="unfinished">Invalid metadata in file {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="246"/>
      <source>WARNING: Path specified in package.xml metadata does not match currently checked-out branch.</source>
      <translation type="unfinished">WARNING: Path specified in package.xml metadata does not match currently checked-out branch.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="268"/>
      <source>Name</source>
      <translation>Nimi</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="271"/>
      <source>Class</source>
      <translation>Luokka</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="276"/>
      <source>Description</source>
      <translation>Kuvaus</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="282"/>
      <source>Subdirectory</source>
      <translation type="unfinished">Subdirectory</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="288"/>
      <source>Files</source>
      <translation>Tiedostot</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="464"/>
      <source>Select the folder containing your Addon</source>
      <translation type="unfinished">Select the folder containing your Addon</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="593"/>
      <source>No Vermin, cancelling operation.</source>
      <comment>NOTE: Vermin is a Python package and proper noun - do not translate</comment>
      <translation type="unfinished">No Vermin, cancelling operation.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="600"/>
      <source>Scanning Addon for Python version compatibility</source>
      <translation type="unfinished">Scanning Addon for Python version compatibility</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="631"/>
      <source>Minimum Python Version Detected</source>
      <translation type="unfinished">Minimum Python Version Detected</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="635"/>
      <source>Vermin auto-detected a required version of Python 3.{}</source>
      <translation type="unfinished">Vermin auto-detected a required version of Python 3.{}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="647"/>
      <source>Install Vermin?</source>
      <translation type="unfinished">Install Vermin?</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="651"/>
      <source>Auto-detecting the required version of Python for this Addon requires Vermin (https://pypi.org/project/vermin/). OK to install?</source>
      <translation type="unfinished">Auto-detecting the required version of Python for this Addon requires Vermin (https://pypi.org/project/vermin/). OK to install?</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="658"/>
      <source>Attempting to install Vermin from PyPi</source>
      <translation type="unfinished">Attempting to install Vermin from PyPi</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="685"/>
      <location filename="../../addonmanager_devmode.py" line="700"/>
      <source>Installation failed</source>
      <translation type="unfinished">Installation failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="690"/>
      <source>Failed to install Vermin -- check Report View for details.</source>
      <comment>&apos;Vermin&apos; is the name of a Python package, do not translate</comment>
      <translation type="unfinished">Failed to install Vermin -- check Report View for details.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="705"/>
      <source>Failed to import vermin after installation -- cannot scan Addon.</source>
      <comment>&apos;vermin&apos; is the name of a Python package, do not translate</comment>
      <translation type="unfinished">Failed to import vermin after installation -- cannot scan Addon.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_devmode.py" line="718"/>
      <source>Select an icon file for this package</source>
      <translation type="unfinished">Select an icon file for this package</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="167"/>
      <source>Filter is valid</source>
      <translation type="unfinished">Filter is valid</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="173"/>
      <source>Filter regular expression is invalid</source>
      <translation type="unfinished">Filter regular expression is invalid</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="232"/>
      <source>Click for details about package {}</source>
      <translation type="unfinished">Click for details about package {}</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="236"/>
      <source>Click for details about workbench {}</source>
      <translation type="unfinished">Click for details about workbench {}</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="240"/>
      <source>Click for details about macro {}</source>
      <translation type="unfinished">Click for details about macro {}</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="403"/>
      <source>Maintainers:</source>
      <translation type="unfinished">Maintainers:</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="408"/>
      <source>Tags</source>
      <translation type="unfinished">Tags</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="428"/>
      <source>updated</source>
      <translation type="unfinished">updated</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="451"/>
      <location filename="../../package_list.py" line="511"/>
      <source>Up-to-date</source>
      <translation type="unfinished">Up-to-date</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="453"/>
      <location filename="../../package_list.py" line="515"/>
      <location filename="../../package_list.py" line="832"/>
      <source>Update available</source>
      <translation type="unfinished">Update available</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="456"/>
      <location filename="../../package_list.py" line="521"/>
      <source>Pending restart</source>
      <translation type="unfinished">Pending restart</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="463"/>
      <location filename="../../package_list.py" line="528"/>
      <source>DISABLED</source>
      <translation type="unfinished">DISABLED</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="479"/>
      <source>Installed version</source>
      <translation>Asennettu versio</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="487"/>
      <source>Unknown version</source>
      <translation type="unfinished">Unknown version</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="490"/>
      <source>Installed on</source>
      <translation type="unfinished">Installed on</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="501"/>
      <source>Available version</source>
      <translation>Saatavilla oleva versio</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="797"/>
      <source>Show Addons containing:</source>
      <translation type="unfinished">Show Addons containing:</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="800"/>
      <source>All</source>
      <translation>Kaikki</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="803"/>
      <source>Workbenches</source>
      <translation>Työpöydät</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="806"/>
      <source>Macros</source>
      <translation>Makrot</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="811"/>
      <source>Preference Packs</source>
      <translation type="unfinished">Preference Packs</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="815"/>
      <source>Status:</source>
      <translation type="unfinished">Status:</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="818"/>
      <source>Any</source>
      <translation>Mikä tahansa</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="826"/>
      <source>Not installed</source>
      <translation type="unfinished">Not installed</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="836"/>
      <source>Filter</source>
      <translation>Suodatin</translation>
    </message>
    <message>
      <location filename="../../package_list.py" line="839"/>
      <source>OK</source>
      <translation>OK</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="102"/>
      <source>DANGER: Developer feature</source>
      <translation type="unfinished">DANGER: Developer feature</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="106"/>
      <source>DANGER: Switching branches is intended for developers and beta testers, and may result in broken, non-backwards compatible documents, instability, crashes, and/or the premature heat death of the universe. Are you sure you want to continue?</source>
      <translation type="unfinished">DANGER: Switching branches is intended for developers and beta testers, and may result in broken, non-backwards compatible documents, instability, crashes, and/or the premature heat death of the universe. Are you sure you want to continue?</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="115"/>
      <source>There are local changes</source>
      <translation type="unfinished">There are local changes</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="119"/>
      <source>WARNING: This repo has uncommitted local changes. Are you sure you want to change branches (bringing the changes with you)?</source>
      <translation type="unfinished">WARNING: This repo has uncommitted local changes. Are you sure you want to change branches (bringing the changes with you)?</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="171"/>
      <location filename="../../change_branch.py" line="185"/>
      <location filename="../../change_branch.py" line="193"/>
      <source>Branch</source>
      <comment>git terminology</comment>
      <translation>Haara</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="179"/>
      <source>Tag</source>
      <comment>git terminology</comment>
      <translation type="unfinished">Tag</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="262"/>
      <source>Kind</source>
      <comment>Table header for git ref type (e.g. either Tag or Branch)</comment>
      <translation type="unfinished">Kind</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="266"/>
      <source>Local name</source>
      <comment>Table header for git ref name</comment>
      <translation type="unfinished">Local name</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="272"/>
      <source>Tracking</source>
      <comment>Table header for git remote tracking branch name name</comment>
      <translation>Seuranta</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="278"/>
      <source>Local updated</source>
      <comment>Table header for git update time of local branch</comment>
      <translation type="unfinished">Local updated</translation>
    </message>
    <message>
      <location filename="../../change_branch.py" line="284"/>
      <source>Remote updated</source>
      <comment>Table header for git update time of remote branch</comment>
      <translation type="unfinished">Remote updated</translation>
    </message>
    <message>
      <location filename="../../addonmanager_dependency_installer.py" line="129"/>
      <source>Installation of Python package {} failed</source>
      <translation type="unfinished">Installation of Python package {} failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_dependency_installer.py" line="157"/>
      <source>Installation of optional package failed</source>
      <translation type="unfinished">Installation of optional package failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_dependency_installer.py" line="187"/>
      <source>Installing required dependency {}</source>
      <translation type="unfinished">Installing required dependency {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_dependency_installer.py" line="201"/>
      <source>Installation of Addon {} failed</source>
      <translation type="unfinished">Installation of Addon {} failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="174"/>
      <source>Downloaded package.xml for {}</source>
      <translation type="unfinished">Downloaded package.xml for {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="207"/>
      <source>Failed to decode {} file for Addon &apos;{}&apos;</source>
      <translation type="unfinished">Failed to decode {} file for Addon &apos;{}&apos;</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="216"/>
      <source>Any dependency information in this file will be ignored</source>
      <translation type="unfinished">Any dependency information in this file will be ignored</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="223"/>
      <source>Downloaded metadata.txt for {}</source>
      <translation type="unfinished">Downloaded metadata.txt for {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="268"/>
      <source>Downloaded requirements.txt for {}</source>
      <translation type="unfinished">Downloaded requirements.txt for {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_installation.py" line="286"/>
      <source>Downloaded icon for {}</source>
      <translation type="unfinished">Downloaded icon for {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="150"/>
      <source>Unable to open macro wiki page at {}</source>
      <translation type="unfinished">Unable to open macro wiki page at {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="164"/>
      <source>Unable to fetch the code of this macro.</source>
      <translation type="unfinished">Unable to fetch the code of this macro.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="179"/>
      <source>Unable to retrieve a description from the wiki for macro {}</source>
      <translation type="unfinished">Unable to retrieve a description from the wiki for macro {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="212"/>
      <source>Unable to open macro code URL {}</source>
      <translation type="unfinished">Unable to open macro code URL {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="371"/>
      <source>Unable to fetch macro-specified file {} from {}</source>
      <translation type="unfinished">Unable to fetch macro-specified file {} from {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_macro.py" line="379"/>
      <source>Could not locate macro-specified file {} (expected at {})</source>
      <translation type="unfinished">Could not locate macro-specified file {} (expected at {})</translation>
    </message>
    <message>
      <location filename="../../Addon.py" line="348"/>
      <source>{}: Unrecognized internal workbench &apos;{}&apos;</source>
      <translation type="unfinished">{}: Unrecognized internal workbench &apos;{}&apos;</translation>
    </message>
    <message>
      <location filename="../../Addon.py" line="381"/>
      <source>Addon Developer Warning: Repository URL set in package.xml file for addon {} ({}) does not match the URL it was fetched from ({})</source>
      <translation type="unfinished">Addon Developer Warning: Repository URL set in package.xml file for addon {} ({}) does not match the URL it was fetched from ({})</translation>
    </message>
    <message>
      <location filename="../../Addon.py" line="389"/>
      <source>Addon Developer Warning: Repository branch set in package.xml file for addon {} ({}) does not match the branch it was fetched from ({})</source>
      <translation type="unfinished">Addon Developer Warning: Repository branch set in package.xml file for addon {} ({}) does not match the branch it was fetched from ({})</translation>
    </message>
    <message>
      <location filename="../../Addon.py" line="767"/>
      <location filename="../../Addon.py" line="783"/>
      <source>Got an error when trying to import {}</source>
      <translation type="unfinished">Got an error when trying to import {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="104"/>
      <source>An unknown error occurred</source>
      <translation type="unfinished">An unknown error occurred</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="127"/>
      <source>Could not find addon {} to remove it.</source>
      <translation type="unfinished">Could not find addon {} to remove it.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="151"/>
      <source>Execution of Addon&apos;s uninstall.py script failed. Proceeding with uninstall...</source>
      <translation type="unfinished">Execution of Addon&apos;s uninstall.py script failed. Proceeding with uninstall...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="176"/>
      <source>Removed extra installed file {}</source>
      <translation type="unfinished">Removed extra installed file {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="188"/>
      <source>Error while trying to remove extra installed file {}</source>
      <translation type="unfinished">Error while trying to remove extra installed file {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller.py" line="249"/>
      <source>Error while trying to remove macro file {}: </source>
      <translation type="unfinished">Error while trying to remove macro file {}: </translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="121"/>
      <source>Failed to connect to GitHub. Check your connection and proxy settings.</source>
      <translation type="unfinished">Failed to connect to GitHub. Check your connection and proxy settings.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="183"/>
      <source>WARNING: Duplicate addon {} ignored</source>
      <translation type="unfinished">WARNING: Duplicate addon {} ignored</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="256"/>
      <source>Workbenches list was updated.</source>
      <translation type="unfinished">Workbenches list was updated.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="272"/>
      <source>Git is disabled, skipping git macros</source>
      <translation type="unfinished">Git is disabled, skipping git macros</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="320"/>
      <source>Attempting to change non-git Macro setup to use git
</source>
      <translation type="unfinished">Attempting to change non-git Macro setup to use git
</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="337"/>
      <source>An error occurred updating macros from GitHub, trying clean checkout...</source>
      <translation type="unfinished">An error occurred updating macros from GitHub, trying clean checkout...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="342"/>
      <source>Attempting to do a clean checkout...</source>
      <translation type="unfinished">Attempting to do a clean checkout...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="354"/>
      <source>Clean checkout succeeded</source>
      <translation type="unfinished">Clean checkout succeeded</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="364"/>
      <source>Failed to update macros from GitHub -- try clearing the Addon Manager&apos;s cache.</source>
      <translation type="unfinished">Failed to update macros from GitHub -- try clearing the Addon Manager&apos;s cache.</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="387"/>
      <source>Error connecting to the Wiki, FreeCAD cannot retrieve the Wiki macro list at this time</source>
      <translation type="unfinished">Error connecting to the Wiki, FreeCAD cannot retrieve the Wiki macro list at this time</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="602"/>
      <source>Unable to fetch git updates for workbench {}</source>
      <translation type="unfinished">Unable to fetch git updates for workbench {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="617"/>
      <source>git status failed for {}</source>
      <translation type="unfinished">git status failed for {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="662"/>
      <source>Failed to read metadata from {name}</source>
      <translation type="unfinished">Failed to read metadata from {name}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="687"/>
      <source>Failed to fetch code for macro &apos;{name}&apos;</source>
      <translation type="unfinished">Failed to fetch code for macro &apos;{name}&apos;</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="742"/>
      <source>Caching macro code...</source>
      <translation type="unfinished">Caching macro code...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="765"/>
      <source>Addon Manager: a worker process failed to complete while fetching {name}</source>
      <translation type="unfinished">Addon Manager: a worker process failed to complete while fetching {name}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="780"/>
      <source>Out of {num_macros} macros, {num_failed} timed out while processing</source>
      <translation type="unfinished">Out of {num_macros} macros, {num_failed} timed out while processing</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="802"/>
      <source>Addon Manager: a worker process failed to halt ({name})</source>
      <translation type="unfinished">Addon Manager: a worker process failed to halt ({name})</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="843"/>
      <source>Getting metadata from macro {}</source>
      <translation type="unfinished">Getting metadata from macro {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="857"/>
      <source>Timeout while fetching metadata for macro {}</source>
      <translation type="unfinished">Timeout while fetching metadata for macro {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="868"/>
      <source>Failed to kill process for macro {}!
</source>
      <translation type="unfinished">Failed to kill process for macro {}!
</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="891"/>
      <source>Retrieving macro description...</source>
      <translation type="unfinished">Retrieving macro description...</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="895"/>
      <source>Retrieving info from git</source>
      <translation type="unfinished">Retrieving info from git</translation>
    </message>
    <message>
      <location filename="../../addonmanager_workers_startup.py" line="900"/>
      <source>Retrieving info from wiki</source>
      <translation type="unfinished">Retrieving info from wiki</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.py" line="274"/>
      <source>Repository URL</source>
      <comment>Preferences header for custom repositories</comment>
      <translation>Tietovaraston URL-osoite</translation>
    </message>
    <message>
      <location filename="../../AddonManagerOptions.py" line="280"/>
      <source>Branch name</source>
      <comment>Preferences header for custom repositories</comment>
      <translation type="unfinished">Branch name</translation>
    </message>
    <message>
      <location filename="../../addonmanager_git.py" line="99"/>
      <source>Basic git update failed with the following message:</source>
      <translation type="unfinished">Basic git update failed with the following message:</translation>
    </message>
    <message>
      <location filename="../../addonmanager_git.py" line="107"/>
      <source>Backing up the original directory and re-cloning</source>
      <translation type="unfinished">Backing up the original directory and re-cloning</translation>
    </message>
    <message>
      <location filename="../../addonmanager_git.py" line="218"/>
      <source>Failed to clone {} into {} using git</source>
      <translation type="unfinished">Failed to clone {} into {} using git</translation>
    </message>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="74"/>
      <source>Installing</source>
      <translation type="unfinished">Installing</translation>
    </message>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="77"/>
      <source>Succeeded</source>
      <translation type="unfinished">Succeeded</translation>
    </message>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="79"/>
      <source>Failed</source>
      <translation type="unfinished">Failed</translation>
    </message>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="203"/>
      <source>Update was cancelled</source>
      <translation type="unfinished">Update was cancelled</translation>
    </message>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="204"/>
      <source>some addons may have been updated</source>
      <translation type="unfinished">some addons may have been updated</translation>
    </message>
  </context>
  <context>
    <name>Std_AddonMgr</name>
    <message>
      <location filename="../../AddonManager.py" line="151"/>
      <source>&amp;Addon manager</source>
      <translation type="unfinished">&amp;Addon manager</translation>
    </message>
    <message>
      <location filename="../../AddonManager.py" line="155"/>
      <source>Manage external workbenches, macros, and preference packs</source>
      <translation type="unfinished">Manage external workbenches, macros, and preference packs</translation>
    </message>
  </context>
  <context>
    <name>AddonInstaller</name>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="122"/>
      <source>Finished removing {}</source>
      <translation type="unfinished">Finished removing {}</translation>
    </message>
    <message>
      <location filename="../../addonmanager_uninstaller_gui.py" line="137"/>
      <source>Failed to remove some files</source>
      <translation type="unfinished">Failed to remove some files</translation>
    </message>
  </context>
  <context>
    <name>Addons installer</name>
    <message>
      <location filename="../../addonmanager_update_all_gui.py" line="197"/>
      <source>Finished updating the following addons</source>
      <translation type="unfinished">Finished updating the following addons</translation>
    </message>
  </context>
  <context>
    <name>Workbench</name>
    <message>
      <location filename="../../addonmanager_installer_gui.py" line="652"/>
      <source>Auto-Created Macro Toolbar</source>
      <translation type="unfinished">Auto-Created Macro Toolbar</translation>
    </message>
  </context>
  <context>
    <name>QObject</name>
    <message>
      <location filename="../../AddonManager.py" line="124"/>
      <source>Addon Manager</source>
      <translation>Lisäosien hallinta</translation>
    </message>
  </context>
</TS>
