goldendict-ng/sources.ui
Xiao YiFang 2407cf2a88 use QTextToSpeech module to play tts.
fix code smells
2023-03-29 23:16:01 +08:00

863 lines
28 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Sources</class>
<widget class="QWidget" name="Sources">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>831</width>
<height>531</height>
</rect>
</property>
<property name="windowTitle">
<string notr="true">Sources</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<property name="iconSize">
<size>
<width>15</width>
<height>15</height>
</size>
</property>
<property name="elideMode">
<enum>Qt::ElideNone</enum>
</property>
<property name="usesScrollButtons">
<bool>true</bool>
</property>
<widget class="QWidget" name="filesTab">
<attribute name="icon">
<iconset>
<normaloff>:/icons/folders.svg</normaloff>:/icons/folders.svg</iconset>
</attribute>
<attribute name="title">
<string>Files</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Paths to search for the dictionary files:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTreeView" name="paths"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="addPath">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removePath">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>17</width>
<height>68</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="rescan">
<property name="text">
<string>Re&amp;scan now</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab">
<attribute name="icon">
<iconset>
<normaloff>:/icons/folder-sound.svg</normaloff>:/icons/folder-sound.svg</iconset>
</attribute>
<attribute name="title">
<string>Sound Dirs</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Make dictionaries from bunches of audiofiles by adding paths here:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QTreeView" name="soundDirs"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QPushButton" name="addSoundDir">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeSoundDir">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="icon">
<iconset>
<normaloff>:/icons/icon32_hunspell.png</normaloff>:/icons/icon32_hunspell.png</iconset>
</attribute>
<attribute name="title">
<string>Morphology</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Path to a directory with Hunspell/Myspell dictionaries:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="hunspellPath">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="changeHunspellPath">
<property name="text">
<string>&amp;Change...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Available morphology dictionaries:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QTreeView" name="hunspellDictionaries"/>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Each morphology dictionary appears as a
separate auxiliary dictionary which
provides stem words for searches and
spelling suggestions for mistyped words.
Add appropriate dictionaries to the bottoms
of the appropriate groups to use them.</string>
</property>
<property name="textFormat">
<enum>Qt::PlainText</enum>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="mediaWikisTab">
<attribute name="icon">
<iconset>
<normaloff>:/icons/icon32_wiki.png</normaloff>:/icons/icon32_wiki.png</iconset>
</attribute>
<attribute name="title">
<string>Wikipedia</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Wikipedia (MediaWiki) sites:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QTreeView" name="mediaWikis"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QPushButton" name="addMediaWiki">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeMediaWiki">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="icon">
<iconset>
<normaloff>:/icons/internet.svg</normaloff>:/icons/internet.svg</iconset>
</attribute>
<attribute name="title">
<string>Websites</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Any websites. A string %GDWORD% will be replaced with the query word:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QTreeView" name="webSites"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<widget class="QPushButton" name="addWebSite">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeWebSite">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="label_10">
<property name="text">
<string>Alternatively, use %GD1251% for CP1251, %GDISO1%...%GDISO16% for ISO 8859-1...ISO 8859-16 respectively,
%GDBIG5% for Big-5, %GDBIG5HKSCS% for Big5-HKSCS, %GDGBK% for GBK and GB18030, %GDSHIFTJIS% for Shift-JIS.</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="dictdTab">
<attribute name="icon">
<iconset>
<normaloff>:/icons/network.svg</normaloff>:/icons/network.svg</iconset>
</attribute>
<attribute name="title">
<string>DICT servers</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="QLabel" name="label_116">
<property name="text">
<string>DICT servers:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<widget class="QTreeView" name="dictServers"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_17">
<item>
<widget class="QPushButton" name="addDictServer">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeDictServer">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_18">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_6">
<attribute name="icon">
<iconset>
<normaloff>:/icons/programs.svg</normaloff>:/icons/programs.svg</iconset>
</attribute>
<attribute name="title">
<string>Programs</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_15">
<item>
<widget class="QLabel" name="label_16">
<property name="text">
<string>Any external programs. A string %GDWORD% will be replaced with the query word. A string %GDSEARCH% will be replaced with the text in the search bar. If both of the parameters are not provided, the headword will be fed into standard input.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QTreeView" name="programs"/>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_14">
<item>
<widget class="QPushButton" name="addProgram">
<property name="text">
<string>&amp;Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="removeProgram">
<property name="text">
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_12">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_lingua">
<attribute name="icon">
<iconset>
<normaloff>:/icons/lingualibre.svg</normaloff>:/icons/lingualibre.svg</iconset>
</attribute>
<attribute name="title">
<string>Lingua Libre</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QLabel" name="label_17">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Prouncations provied by &lt;a href=&quot;https://lingualibre.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#2980b9;&quot;&gt;Lingua Libre&lt;/span&gt;&lt;/a&gt;, a collaborative linguistic media library of Wikimedia France. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="linguaEnabled">
<property name="title">
<string>Enable Lingua Libre</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>ISO 639-3 language code</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="linguaLangCode"/>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Examples: &amp;quot;eng&amp;quot; for Enligh, &amp;quot;fra&amp;quot; for French) &lt;br&gt;
Full list of availiable languages can be found &lt;a href=&quot;https://lingualibre.org/wiki/LinguaLibre:Stats/Languages&quot;&gt; here &lt;/a&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="icon">
<iconset>
<normaloff>:/icons/forvo.png</normaloff>:/icons/forvo.png</iconset>
</attribute>
<attribute name="title">
<string>Forvo</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<widget class="QLabel" name="label_11">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Live pronunciations from &lt;a href=&quot;http://www.forvo.com/&quot;&gt;forvo.com&lt;/a&gt;. The site allows people to record and share word pronunciations. You can listen to them from GoldenDict.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="forvoEnabled">
<property name="title">
<string>Enable pronunciations from Forvo</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>API Key:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="forvoApiKey">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Use of Forvo currently requires an API key, register on the site to get your own key.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>18</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_13">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Get your own key &lt;a href=&quot;http://api.forvo.com/key/&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;here&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Language codes (comma-separated):</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="forvoLanguageCodes">
<property name="toolTip">
<string>List of language codes you would like to have. Example: &quot;en, ru&quot;.</string>
</property>
</widget>
</item>
<item row="3" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>18</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Full list of language codes is available &lt;a href=&quot;http://www.forvo.com/languages-codes/&quot;&gt;here&lt;/a&gt;.</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_10">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="icon">
<iconset>
<normaloff>:/icons/transliteration.png</normaloff>:/icons/transliteration.png</iconset>
</attribute>
<attribute name="title">
<string>Transliteration</string>
</attribute>
<layout class="QVBoxLayout" name="transliterationLayout">
<property name="spacing">
<number>6</number>
</property>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="1">
<widget class="QCheckBox" name="enableGreekTransliteration">
<property name="text">
<string>Greek transliteration</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/flags/gr.png</normaloff>:/flags/gr.png</iconset>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="enableRussianTransliteration">
<property name="text">
<string>Russian transliteration</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/flags/ru.png</normaloff>:/flags/ru.png</iconset>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="enableGermanTransliteration">
<property name="text">
<string>German transliteration</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/flags/de.png</normaloff>:/flags/de.png</iconset>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="enableBelarusianTransliteration">
<property name="text">
<string>Belarusian transliteration</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/flags/by.png</normaloff>:/flags/by.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="enableRomaji">
<property name="toolTip">
<string>Enables to use the Latin alphabet to write the Japanese language</string>
</property>
<property name="title">
<string>Japanese Romaji</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Systems:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="enableHepburn">
<property name="toolTip">
<string>The most widely used method of transcription of Japanese,
based on English phonology</string>
</property>
<property name="text">
<string>Hepburn</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QCheckBox" name="enableNihonShiki">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>The most regular system, having a one-to-one relation to the
kana writing systems. Standardized as ISO 3602
Not implemented yet in GoldenDict.</string>
</property>
<property name="text">
<string>Nihon-shiki</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QCheckBox" name="enableKunreiShiki">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Based on Nihon-shiki system, but modified for modern standard Japanese.
Standardized as ISO 3602
Not implemented yet in GoldenDict.</string>
</property>
<property name="text">
<string>Kunrei-shiki</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Syllabaries:</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="enableHiragana">
<property name="toolTip">
<string>Hiragana Japanese syllabary</string>
</property>
<property name="text">
<string>Hiragana</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="enableKatakana">
<property name="toolTip">
<string>Katakana Japanese syllabary</string>
</property>
<property name="text">
<string>Katakana</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<tabstops>
<tabstop>enableRussianTransliteration</tabstop>
<tabstop>enableGermanTransliteration</tabstop>
<tabstop>enableRomaji</tabstop>
<tabstop>enableHepburn</tabstop>
<tabstop>enableNihonShiki</tabstop>
<tabstop>enableKunreiShiki</tabstop>
<tabstop>enableHiragana</tabstop>
<tabstop>enableKatakana</tabstop>
<tabstop>hunspellPath</tabstop>
<tabstop>changeHunspellPath</tabstop>
<tabstop>hunspellDictionaries</tabstop>
<tabstop>mediaWikis</tabstop>
<tabstop>addMediaWiki</tabstop>
<tabstop>removeMediaWiki</tabstop>
<tabstop>tabWidget</tabstop>
<tabstop>addPath</tabstop>
<tabstop>removePath</tabstop>
<tabstop>rescan</tabstop>
<tabstop>soundDirs</tabstop>
<tabstop>addSoundDir</tabstop>
<tabstop>removeSoundDir</tabstop>
<tabstop>paths</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>