summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
-rw-r--r--CMakeL10n.txt7
-rw-r--r--CMakeLists.txt119
-rw-r--r--ConfigureChecks.cmake115
-rw-r--r--IconThemes/CMakeL10n.txt7
-rw-r--r--IconThemes/CMakeLists.txt27
-rw-r--r--IconThemes/mono/index.theme89
-rw-r--r--IconThemes/mono/scalable/apps/window_list.svgzbin2425 -> 0 bytes
m---------admin0
m---------cmake0
-rw-r--r--config.h.cmake14
-rw-r--r--doc/CMakeLists.txt7
-rw-r--r--doc/kmag/CMakeLists.txt2
-rw-r--r--doc/kmousetool/CMakeLists.txt2
-rw-r--r--doc/kmouth/CMakeLists.txt8
-rw-r--r--doc/ksayit/CMakeLists.txt7
-rw-r--r--doc/kttsd/CMakeLists.txt2
-rw-r--r--doc/man/CMakeLists.txt5
-rw-r--r--doc/man/kmag/CMakeLists.txt5
-rw-r--r--doc/man/kmag/kmag.1141
-rw-r--r--doc/man/kmousetool/CMakeLists.txt5
-rw-r--r--doc/man/kmousetool/kmousetool.1146
-rw-r--r--doc/man/kmouth/CMakeLists.txt5
-rw-r--r--doc/man/kmouth/kmouth.1142
-rw-r--r--doc/man/ksayit/CMakeLists.txt5
-rw-r--r--doc/man/ksayit/ksayit.1145
-rw-r--r--doc/man/kttsd/CMakeLists.txt5
-rw-r--r--doc/man/kttsd/kttsd.1138
-rw-r--r--doc/man/kttsd/kttsmgr.1132
-rw-r--r--kbstateapplet/CMakeL10n.txt6
-rw-r--r--kbstateapplet/CMakeLists.txt39
-rw-r--r--kbstateapplet/images/CMakeLists.txt3
-rw-r--r--kbstateapplet/kbstate.cpp36
-rw-r--r--kbstateapplet/kbstate.h10
-rw-r--r--kbstateapplet/kbstateapplet.desktop99
-rw-r--r--kmag/CMakeL10n.txt6
-rw-r--r--kmag/CMakeLists.txt52
-rw-r--r--kmag/Makefile.am4
-rw-r--r--kmag/images/CMakeLists.txt3
-rw-r--r--kmag/images/Makefile.am3
-rw-r--r--kmag/images/hi16-action-followmouse.png (renamed from kmag/hi16-action-followmouse.png)bin575 -> 575 bytes
-rw-r--r--kmag/images/hi16-action-hidemouse.png (renamed from kmag/hi16-action-hidemouse.png)bin275 -> 275 bytes
-rw-r--r--kmag/images/hi16-action-window.png (renamed from kmag/hi16-action-window.png)bin314 -> 314 bytes
-rw-r--r--kmag/kmag.cpp98
-rw-r--r--kmag/kmag.desktop76
-rw-r--r--kmag/kmag.h5
-rw-r--r--kmag/kmagselrect.cpp22
-rw-r--r--kmag/kmagselrect.h6
-rw-r--r--kmag/kmagzoomview.cpp22
-rw-r--r--kmag/kmagzoomview.h4
-rw-r--r--kmousetool/CMakeLists.txt2
-rw-r--r--kmousetool/kmousetool/CMakeL10n.txt6
-rw-r--r--kmousetool/kmousetool/CMakeLists.txt50
-rw-r--r--kmousetool/kmousetool/kmousetool.cpp48
-rw-r--r--kmousetool/kmousetool/kmousetool.desktop138
-rw-r--r--kmousetool/kmousetool/kmousetool.h10
-rw-r--r--kmousetool/kmousetool/kmousetoolui.ui16
-rw-r--r--kmousetool/kmousetool/pics/CMakeLists.txt7
-rw-r--r--kmouth/CMakeL10n.txt8
-rw-r--r--kmouth/CMakeLists.txt66
-rw-r--r--kmouth/books/CMakeLists.txt19
-rw-r--r--kmouth/books/de.desktop58
-rw-r--r--kmouth/books/en.desktop58
-rw-r--r--kmouth/books/nl.desktop47
-rw-r--r--kmouth/books/sv.desktop58
-rw-r--r--kmouth/configwizard.h2
-rw-r--r--kmouth/icons/CMakeLists.txt9
-rw-r--r--kmouth/icons/app/CMakeLists.txt3
-rw-r--r--kmouth/icons/history/CMakeLists.txt3
-rw-r--r--kmouth/icons/phrase/CMakeLists.txt3
-rw-r--r--kmouth/icons/phrasebook/CMakeLists.txt3
-rw-r--r--kmouth/kmouth.cpp60
-rw-r--r--kmouth/kmouth.desktop78
-rw-r--r--kmouth/kmouth.h5
-rw-r--r--kmouth/optionsdialog.cpp6
-rw-r--r--kmouth/optionsdialog.h4
-rw-r--r--kmouth/phrasebook/CMakeLists.txt31
-rw-r--r--kmouth/phrasebook/buttonboxui.ui3
-rw-r--r--kmouth/phrasebook/phrasebook.cpp8
-rw-r--r--kmouth/phrasebook/phrasebook.h6
-rw-r--r--kmouth/phrasebook/phrasebookdialog.cpp42
-rw-r--r--kmouth/phrasebook/phrasebookdialog.h8
-rw-r--r--kmouth/phrasebook/phrasetree.cpp4
-rw-r--r--kmouth/phrasebook/phrasetree.h2
-rw-r--r--kmouth/phraselist.cpp20
-rw-r--r--kmouth/phraselist.h2
-rw-r--r--kmouth/phraselistitem.cpp2
-rw-r--r--kmouth/preferencesui.ui3
-rw-r--r--kmouth/speech.cpp8
-rw-r--r--kmouth/speech.h2
-rw-r--r--kmouth/texttospeechconfigurationui.ui16
-rw-r--r--kmouth/texttospeechsystem.h2
-rw-r--r--kmouth/wordcompletion/CMakeLists.txt30
-rw-r--r--kmouth/wordcompletion/creationsourcedetailsui.ui15
-rw-r--r--kmouth/wordcompletion/creationsourcedetailsui.ui.h2
-rw-r--r--kmouth/wordcompletion/dictionarycreationwizard.cpp12
-rw-r--r--kmouth/wordcompletion/dictionarycreationwizard.h6
-rw-r--r--kmouth/wordcompletion/kdedocsourceui.ui8
-rw-r--r--kmouth/wordcompletion/klanguagebutton.cpp16
-rw-r--r--kmouth/wordcompletion/klanguagebutton.h2
-rw-r--r--kmouth/wordcompletion/wordcompletion.h2
-rw-r--r--kmouth/wordcompletion/wordcompletionui.ui18
-rw-r--r--kmouth/wordcompletion/wordcompletionui.ui.h2
-rw-r--r--kmouth/wordcompletion/wordcompletionwidget.cpp18
-rw-r--r--kmouth/wordcompletion/wordcompletionwidget.h2
-rw-r--r--kmouth/wordcompletion/wordlist.cpp2
-rw-r--r--ksayit/CMakeL10n.txt8
-rw-r--r--ksayit/CMakeLists.txt3
-rw-r--r--ksayit/Freeverb_plugin/CMakeLists.txt46
-rw-r--r--ksayit/Freeverb_plugin/freeverb_setup.ui10
-rw-r--r--ksayit/Freeverb_plugin/freeverbsetupimpl.h2
-rw-r--r--ksayit/Freeverb_plugin/ksayit_libFreeverb.desktop50
-rw-r--r--ksayit/Freeverb_plugin/ksayit_libFreeverb_service.desktop47
-rw-r--r--ksayit/Freeverb_plugin/ksayitfreeverblib.h6
-rw-r--r--ksayit/KTTSD_Lib/CMakeLists.txt34
-rw-r--r--ksayit/KTTSD_Lib/KTTSDlibSetup.ui4
-rw-r--r--ksayit/KTTSD_Lib/kttsdlib.cpp12
-rw-r--r--ksayit/KTTSD_Lib/kttsdlib.h2
-rw-r--r--ksayit/KTTSD_Lib/kttsdlibsetupimpl.cpp4
-rw-r--r--ksayit/KTTSD_Lib/kttsdlibsetupimpl.h2
-rw-r--r--ksayit/KTTSD_Lib/kttsdlibtalker2.h2
-rw-r--r--ksayit/src/CMakeLists.txt73
-rw-r--r--ksayit/src/DocTreeView.ui12
-rw-r--r--ksayit/src/KSayItView.ui10
-rw-r--r--ksayit/src/contextmenuhandler.cpp38
-rw-r--r--ksayit/src/contextmenuhandler.h2
-rw-r--r--ksayit/src/doctreeviewimpl.cpp4
-rw-r--r--ksayit/src/fx_setup.ui4
-rw-r--r--ksayit/src/fxpluginhandler.h2
-rw-r--r--ksayit/src/fxsetupimpl.h2
-rw-r--r--ksayit/src/ksayit.cpp118
-rw-r--r--ksayit/src/ksayit.desktop63
-rw-r--r--ksayit/src/ksayit.h2
-rw-r--r--ksayit/src/ksayit_fxplugin.h2
-rw-r--r--ksayit/src/ksayitsystemtray.cpp28
-rw-r--r--ksayit/src/ksayitsystemtray.h4
-rw-r--r--ksayit/src/ksayitviewimpl.h2
-rw-r--r--ksayit/src/voicesetupdlg.cpp8
-rw-r--r--ksayit/src/voicesetupdlg.h2
-rw-r--r--kspeechsink/CMakeLists.txt37
-rw-r--r--kttsd/CMakeL10n.txt6
-rw-r--r--kttsd/CMakeLists.txt10
-rw-r--r--kttsd/app-plugins/CMakeLists.txt1
-rw-r--r--kttsd/app-plugins/kate/CMakeLists.txt42
-rw-r--r--kttsd/app-plugins/kate/katekttsd.cpp2
-rw-r--r--kttsd/app-plugins/kate/katekttsd.h4
-rw-r--r--kttsd/app-plugins/kate/tdetexteditor_kttsd.desktop102
-rw-r--r--kttsd/compat/Makefile.am3
-rw-r--r--kttsd/compat/README_COMPAT6
-rw-r--r--kttsd/compat/icons/Makefile.am1
-rw-r--r--kttsd/compat/icons/cr128-app-kttsd.pngbin23539 -> 0 bytes
-rw-r--r--kttsd/compat/icons/cr16-app-kttsd.pngbin965 -> 0 bytes
-rw-r--r--kttsd/compat/icons/cr22-app-kttsd.pngbin1507 -> 0 bytes
-rw-r--r--kttsd/compat/icons/cr32-app-kttsd.pngbin2667 -> 0 bytes
-rw-r--r--kttsd/compat/icons/cr48-app-kttsd.pngbin5010 -> 0 bytes
-rw-r--r--kttsd/compat/icons/cr64-app-kttsd.pngbin7824 -> 0 bytes
-rw-r--r--kttsd/compat/icons/crsc-app-kttsd.svgzbin17596 -> 0 bytes
-rw-r--r--kttsd/compat/interfaces/Makefile.am1
-rw-r--r--kttsd/compat/interfaces/kspeech/Makefile.am8
-rw-r--r--kttsd/compat/interfaces/kspeech/dcoptexttospeech.desktop52
-rw-r--r--kttsd/compat/interfaces/kspeech/kspeech.h1285
-rw-r--r--kttsd/compat/interfaces/kspeech/kspeechsink.h164
-rw-r--r--kttsd/debian/TODO36
-rw-r--r--kttsd/debian/changelog5
-rw-r--r--kttsd/debian/compat1
-rw-r--r--kttsd/debian/control40
-rw-r--r--kttsd/debian/copyright33
-rw-r--r--kttsd/debian/dirs1
-rw-r--r--kttsd/debian/docs2
-rw-r--r--kttsd/debian/kttsd-gstreamer.install3
-rw-r--r--kttsd/debian/kttsd.install107
-rw-r--r--kttsd/debian/kttsd.manpages2
-rw-r--r--kttsd/debian/kttsmgr.menu6
-rw-r--r--kttsd/debian/man/kttsd.1159
-rw-r--r--kttsd/debian/man/kttsmgr.1157
-rw-r--r--kttsd/debian/man/manpages.in2
-rwxr-xr-xkttsd/debian/rules5
-rw-r--r--kttsd/debian/shlibs.kttsd2
-rw-r--r--kttsd/filters/CMakeLists.txt42
-rw-r--r--kttsd/filters/sbd/CMakeLists.txt44
-rw-r--r--kttsd/filters/sbd/kttsd_sbdplugin.desktop86
-rw-r--r--kttsd/filters/sbd/sbdconf.cpp34
-rw-r--r--kttsd/filters/sbd/sbdconf.h2
-rw-r--r--kttsd/filters/sbd/sbdconfwidget.ui19
-rw-r--r--kttsd/filters/sbd/sbdproc.cpp4
-rw-r--r--kttsd/filters/sbd/sbdproc.h4
-rw-r--r--kttsd/filters/stringreplacer/CMakeLists.txt48
-rw-r--r--kttsd/filters/stringreplacer/editreplacementwidget.ui9
-rw-r--r--kttsd/filters/stringreplacer/kttsd_stringreplacerplugin.desktop87
-rw-r--r--kttsd/filters/stringreplacer/stringreplacerconf.cpp64
-rw-r--r--kttsd/filters/stringreplacer/stringreplacerconf.h2
-rw-r--r--kttsd/filters/stringreplacer/stringreplacerconfwidget.ui21
-rw-r--r--kttsd/filters/stringreplacer/stringreplacerproc.h2
-rw-r--r--kttsd/filters/talkerchooser/CMakeLists.txt45
-rw-r--r--kttsd/filters/talkerchooser/kttsd_talkerchooserplugin.desktop84
-rw-r--r--kttsd/filters/talkerchooser/talkerchooserconf.cpp32
-rw-r--r--kttsd/filters/talkerchooser/talkerchooserconf.h2
-rw-r--r--kttsd/filters/talkerchooser/talkerchooserconfwidget.ui15
-rw-r--r--kttsd/filters/talkerchooser/talkerchooserproc.h2
-rw-r--r--kttsd/filters/xmltransformer/CMakeLists.txt44
-rw-r--r--kttsd/filters/xmltransformer/kttsd_xmltransformerplugin.desktop83
-rw-r--r--kttsd/filters/xmltransformer/xmltransformerconf.cpp24
-rw-r--r--kttsd/filters/xmltransformer/xmltransformerconf.h2
-rw-r--r--kttsd/filters/xmltransformer/xmltransformerconfwidget.ui17
-rw-r--r--kttsd/filters/xmltransformer/xmltransformerproc.cpp12
-rw-r--r--kttsd/filters/xmltransformer/xmltransformerproc.h2
-rw-r--r--kttsd/icons/CMakeLists.txt3
-rw-r--r--kttsd/kcmkttsmgr/CMakeLists.txt50
-rw-r--r--kttsd/kcmkttsmgr/addtalker.cpp8
-rw-r--r--kttsd/kcmkttsmgr/addtalker.h2
-rw-r--r--kttsd/kcmkttsmgr/addtalkerwidget.ui7
-rw-r--r--kttsd/kcmkttsmgr/kcmkttsd.desktop140
-rw-r--r--kttsd/kcmkttsmgr/kcmkttsd_testmessage.desktop46
-rw-r--r--kttsd/kcmkttsmgr/kcmkttsmgr.cpp182
-rw-r--r--kttsd/kcmkttsmgr/kcmkttsmgr.h2
-rw-r--r--kttsd/kcmkttsmgr/kcmkttsmgrwidget.ui61
-rw-r--r--kttsd/kcmkttsmgr/selectevent.cpp2
-rw-r--r--kttsd/kcmkttsmgr/selectevent.h2
-rw-r--r--kttsd/kcmkttsmgr/selecteventwidget.ui6
-rw-r--r--kttsd/kttsd/CMakeLists.txt53
-rw-r--r--kttsd/kttsd/filtermgr.cpp10
-rw-r--r--kttsd/kttsd/filtermgr.h2
-rw-r--r--kttsd/kttsd/kttsd.cpp40
-rw-r--r--kttsd/kttsd/kttsd.desktop51
-rw-r--r--kttsd/kttsd/kttsd.h4
-rw-r--r--kttsd/kttsd/speaker.cpp26
-rw-r--r--kttsd/kttsd/speaker.h2
-rw-r--r--kttsd/kttsd/speechdata.cpp8
-rw-r--r--kttsd/kttsd/speechdata.h2
-rw-r--r--kttsd/kttsd/ssmlconvert.cpp4
-rw-r--r--kttsd/kttsd/ssmlconvert.h2
-rw-r--r--kttsd/kttsjobmgr/CMakeLists.txt41
-rw-r--r--kttsd/kttsjobmgr/kttsjobmgr.cpp40
-rw-r--r--kttsd/kttsjobmgr/kttsjobmgr.desktop48
-rw-r--r--kttsd/kttsjobmgr/kttsjobmgr.h8
-rw-r--r--kttsd/kttsmgr/CMakeLists.txt39
-rw-r--r--kttsd/kttsmgr/kttsmgr.cpp12
-rw-r--r--kttsd/kttsmgr/kttsmgr.desktop98
-rw-r--r--kttsd/kttsmgr/kttsmgr.h2
-rw-r--r--kttsd/libkttsd/CMakeLists.txt48
-rw-r--r--kttsd/libkttsd/filterconf.h2
-rw-r--r--kttsd/libkttsd/filterproc.h2
-rw-r--r--kttsd/libkttsd/kttsd_synthplugin.desktop2
-rw-r--r--kttsd/libkttsd/player.h2
-rw-r--r--kttsd/libkttsd/pluginconf.h2
-rw-r--r--kttsd/libkttsd/pluginproc.h2
-rw-r--r--kttsd/libkttsd/selecttalkerdlg.cpp60
-rw-r--r--kttsd/libkttsd/selecttalkerdlg.h2
-rw-r--r--kttsd/libkttsd/selecttalkerwidget.ui30
-rw-r--r--kttsd/libkttsd/stretcher.cpp4
-rw-r--r--kttsd/libkttsd/stretcher.h2
-rw-r--r--kttsd/libkttsd/testplayer.cpp3
-rw-r--r--kttsd/players/CMakeLists.txt13
-rw-r--r--kttsd/players/akodeplayer/CMakeLists.txt38
-rw-r--r--kttsd/players/akodeplayer/akodeplayer.cpp4
-rw-r--r--kttsd/players/akodeplayer/akodeplayer.h7
-rw-r--r--kttsd/players/akodeplayer/kttsd_akodeplugin.desktop85
-rw-r--r--kttsd/players/alsaplayer/CMakeLists.txt39
-rw-r--r--kttsd/players/alsaplayer/alsaplayer.cpp16
-rw-r--r--kttsd/players/alsaplayer/alsaplayer.h7
-rw-r--r--kttsd/players/alsaplayer/formats.h11
-rw-r--r--kttsd/players/alsaplayer/kttsd_alsaplugin.desktop85
-rw-r--r--kttsd/players/artsplayer/CMakeLists.txt39
-rw-r--r--kttsd/players/artsplayer/artsplayer.cpp4
-rw-r--r--kttsd/players/artsplayer/artsplayer.h7
-rw-r--r--kttsd/players/artsplayer/kttsd_artsplugin.desktop87
-rw-r--r--kttsd/players/gstplayer/CMakeLists.txt40
-rw-r--r--kttsd/players/gstplayer/gstreamerplayer.h4
-rw-r--r--kttsd/players/gstplayer/kttsd_gstplugin.desktop88
-rw-r--r--kttsd/players/kttsd_audioplugin.desktop46
-rw-r--r--kttsd/plugins/CMakeLists.txt6
-rw-r--r--kttsd/plugins/command/CMakeLists.txt39
-rw-r--r--kttsd/plugins/command/README2
-rw-r--r--kttsd/plugins/command/commandconf.cpp26
-rw-r--r--kttsd/plugins/command/commandconf.h2
-rw-r--r--kttsd/plugins/command/commandconfwidget.ui10
-rw-r--r--kttsd/plugins/command/commandproc.cpp16
-rw-r--r--kttsd/plugins/command/commandproc.h2
-rw-r--r--kttsd/plugins/command/kttsd_commandplugin.desktop87
-rw-r--r--kttsd/plugins/epos/CMakeLists.txt39
-rw-r--r--kttsd/plugins/epos/eposconf.cpp54
-rw-r--r--kttsd/plugins/epos/eposconf.h2
-rw-r--r--kttsd/plugins/epos/eposconfwidget.ui16
-rw-r--r--kttsd/plugins/epos/eposproc.cpp32
-rw-r--r--kttsd/plugins/epos/eposproc.h2
-rw-r--r--kttsd/plugins/epos/kttsd_eposplugin.desktop82
-rw-r--r--kttsd/plugins/festivalint/CMakeLists.txt49
-rw-r--r--kttsd/plugins/festivalint/festivalintconf.cpp78
-rw-r--r--kttsd/plugins/festivalint/festivalintconf.h2
-rw-r--r--kttsd/plugins/festivalint/festivalintconfwidget.ui16
-rw-r--r--kttsd/plugins/festivalint/festivalintproc.cpp16
-rw-r--r--kttsd/plugins/festivalint/festivalintproc.h2
-rw-r--r--kttsd/plugins/festivalint/kttsd_festivalintplugin.desktop67
-rw-r--r--kttsd/plugins/flite/CMakeLists.txt39
-rw-r--r--kttsd/plugins/flite/fliteconf.cpp12
-rw-r--r--kttsd/plugins/flite/fliteconf.h2
-rw-r--r--kttsd/plugins/flite/fliteconfwidget.ui8
-rw-r--r--kttsd/plugins/flite/fliteproc.cpp16
-rw-r--r--kttsd/plugins/flite/fliteproc.h2
-rw-r--r--kttsd/plugins/flite/kttsd_fliteplugin.desktop54
-rw-r--r--kttsd/plugins/freetts/CMakeLists.txt38
-rw-r--r--kttsd/plugins/freetts/README2
-rw-r--r--kttsd/plugins/freetts/freettsconf.cpp12
-rw-r--r--kttsd/plugins/freetts/freettsconf.h2
-rw-r--r--kttsd/plugins/freetts/freettsconfigwidget.ui8
-rw-r--r--kttsd/plugins/freetts/freettsproc.cpp16
-rw-r--r--kttsd/plugins/freetts/freettsproc.h2
-rw-r--r--kttsd/plugins/freetts/kttsd_freettsplugin.desktop46
-rw-r--r--kttsd/plugins/hadifix/CMakeLists.txt46
-rw-r--r--kttsd/plugins/hadifix/hadifixconf.cpp18
-rw-r--r--kttsd/plugins/hadifix/hadifixconf.h2
-rw-r--r--kttsd/plugins/hadifix/hadifixconfigui.ui28
-rw-r--r--kttsd/plugins/hadifix/hadifixproc.cpp16
-rw-r--r--kttsd/plugins/hadifix/hadifixproc.h2
-rw-r--r--kttsd/plugins/hadifix/kttsd_hadifixplugin.desktop46
-rw-r--r--kttsd/plugins/hadifix/voicefileui.ui15
-rw-r--r--translations/desktop_files/icon-themes/br.po27
-rw-r--r--translations/desktop_files/icon-themes/bs.po27
-rw-r--r--translations/desktop_files/icon-themes/ca.po27
-rw-r--r--translations/desktop_files/icon-themes/cs.po27
-rw-r--r--translations/desktop_files/icon-themes/cy.po27
-rw-r--r--translations/desktop_files/icon-themes/da.po27
-rw-r--r--translations/desktop_files/icon-themes/de.po27
-rw-r--r--translations/desktop_files/icon-themes/el.po27
-rw-r--r--translations/desktop_files/icon-themes/es.po27
-rw-r--r--translations/desktop_files/icon-themes/et.po27
-rw-r--r--translations/desktop_files/icon-themes/eu.po27
-rw-r--r--translations/desktop_files/icon-themes/fa.po27
-rw-r--r--translations/desktop_files/icon-themes/fi.po27
-rw-r--r--translations/desktop_files/icon-themes/fr.po27
-rw-r--r--translations/desktop_files/icon-themes/ga.po27
-rw-r--r--translations/desktop_files/icon-themes/gl.po27
-rw-r--r--translations/desktop_files/icon-themes/he.po27
-rw-r--r--translations/desktop_files/icon-themes/hu.po27
-rw-r--r--translations/desktop_files/icon-themes/icon-themes.pot27
-rw-r--r--translations/desktop_files/icon-themes/is.po27
-rw-r--r--translations/desktop_files/icon-themes/it.po27
-rw-r--r--translations/desktop_files/icon-themes/ka.po27
-rw-r--r--translations/desktop_files/icon-themes/km.po27
-rw-r--r--translations/desktop_files/icon-themes/lt.po27
-rw-r--r--translations/desktop_files/icon-themes/mk.po27
-rw-r--r--translations/desktop_files/icon-themes/ms.po27
-rw-r--r--translations/desktop_files/icon-themes/mt.po27
-rw-r--r--translations/desktop_files/icon-themes/nb.po27
-rw-r--r--translations/desktop_files/icon-themes/nds.po27
-rw-r--r--translations/desktop_files/icon-themes/ne.po27
-rw-r--r--translations/desktop_files/icon-themes/nl.po27
-rw-r--r--translations/desktop_files/icon-themes/pa.po27
-rw-r--r--translations/desktop_files/icon-themes/pl.po27
-rw-r--r--translations/desktop_files/icon-themes/pt.po27
-rw-r--r--translations/desktop_files/icon-themes/pt_BR.po27
-rw-r--r--translations/desktop_files/icon-themes/ru.po27
-rw-r--r--translations/desktop_files/icon-themes/sk.po27
-rw-r--r--translations/desktop_files/icon-themes/sl.po27
-rw-r--r--translations/desktop_files/icon-themes/sr.po27
-rw-r--r--translations/desktop_files/icon-themes/sr@Latn.po27
-rw-r--r--translations/desktop_files/icon-themes/sv.po27
-rw-r--r--translations/desktop_files/icon-themes/ta.po27
-rw-r--r--translations/desktop_files/icon-themes/tg.po27
-rw-r--r--translations/desktop_files/icon-themes/th.po27
-rw-r--r--translations/desktop_files/icon-themes/tr.po27
-rw-r--r--translations/desktop_files/icon-themes/uk.po27
-rw-r--r--translations/desktop_files/icon-themes/vi.po27
-rw-r--r--translations/desktop_files/icon-themes/zh_CN.po27
-rw-r--r--translations/desktop_files/icon-themes/zh_TW.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/bg.po28
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/br.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/bs.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ca.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/cs.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/da.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/de.po29
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/el.po29
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/es.po29
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/et.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/eu.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/fa.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/fi.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/fr.po28
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ga.po28
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/gl.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/he.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/hi.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/hu.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/is.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/it.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ja.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ka.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/kbstateapplet-desktops.pot27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/km.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/lt.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/mk.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ms.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/nb.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/nds.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ne.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/nl.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/pa.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/pl.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/pt.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/pt_BR.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ru.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/sk.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/sl.po28
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/sr.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/sr@Latn.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/sv.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/ta.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/tg.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/th.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/tr.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/uk.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/vi.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/zh_CN.po27
-rw-r--r--translations/desktop_files/kbstateapplet-desktops/zh_TW.po27
-rw-r--r--translations/desktop_files/kmag-desktops/ar.po32
-rw-r--r--translations/desktop_files/kmag-desktops/bg.po32
-rw-r--r--translations/desktop_files/kmag-desktops/bs.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ca.po32
-rw-r--r--translations/desktop_files/kmag-desktops/cs.po32
-rw-r--r--translations/desktop_files/kmag-desktops/cy.po32
-rw-r--r--translations/desktop_files/kmag-desktops/da.po32
-rw-r--r--translations/desktop_files/kmag-desktops/de.po32
-rw-r--r--translations/desktop_files/kmag-desktops/el.po32
-rw-r--r--translations/desktop_files/kmag-desktops/eo.po32
-rw-r--r--translations/desktop_files/kmag-desktops/es.po32
-rw-r--r--translations/desktop_files/kmag-desktops/et.po32
-rw-r--r--translations/desktop_files/kmag-desktops/eu.po32
-rw-r--r--translations/desktop_files/kmag-desktops/fa.po32
-rw-r--r--translations/desktop_files/kmag-desktops/fi.po32
-rw-r--r--translations/desktop_files/kmag-desktops/fr.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ga.po32
-rw-r--r--translations/desktop_files/kmag-desktops/gl.po32
-rw-r--r--translations/desktop_files/kmag-desktops/he.po32
-rw-r--r--translations/desktop_files/kmag-desktops/hi.po32
-rw-r--r--translations/desktop_files/kmag-desktops/hu.po32
-rw-r--r--translations/desktop_files/kmag-desktops/is.po32
-rw-r--r--translations/desktop_files/kmag-desktops/it.po33
-rw-r--r--translations/desktop_files/kmag-desktops/ja.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ka.po32
-rw-r--r--translations/desktop_files/kmag-desktops/km.po32
-rw-r--r--translations/desktop_files/kmag-desktops/kmag-desktops.pot32
-rw-r--r--translations/desktop_files/kmag-desktops/lt.po32
-rw-r--r--translations/desktop_files/kmag-desktops/mk.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ms.po32
-rw-r--r--translations/desktop_files/kmag-desktops/nb.po32
-rw-r--r--translations/desktop_files/kmag-desktops/nds.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ne.po32
-rw-r--r--translations/desktop_files/kmag-desktops/nl.po33
-rw-r--r--translations/desktop_files/kmag-desktops/nn.po32
-rw-r--r--translations/desktop_files/kmag-desktops/pa.po32
-rw-r--r--translations/desktop_files/kmag-desktops/pl.po32
-rw-r--r--translations/desktop_files/kmag-desktops/pt.po33
-rw-r--r--translations/desktop_files/kmag-desktops/pt_BR.po33
-rw-r--r--translations/desktop_files/kmag-desktops/ro.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ru.po34
-rw-r--r--translations/desktop_files/kmag-desktops/sk.po32
-rw-r--r--translations/desktop_files/kmag-desktops/sl.po32
-rw-r--r--translations/desktop_files/kmag-desktops/sr.po32
-rw-r--r--translations/desktop_files/kmag-desktops/sr@Latn.po32
-rw-r--r--translations/desktop_files/kmag-desktops/sv.po32
-rw-r--r--translations/desktop_files/kmag-desktops/ta.po32
-rw-r--r--translations/desktop_files/kmag-desktops/tg.po32
-rw-r--r--translations/desktop_files/kmag-desktops/th.po32
-rw-r--r--translations/desktop_files/kmag-desktops/tr.po32
-rw-r--r--translations/desktop_files/kmag-desktops/uk.po34
-rw-r--r--translations/desktop_files/kmag-desktops/uz.po32
-rw-r--r--translations/desktop_files/kmag-desktops/uz@cyrillic.po32
-rw-r--r--translations/desktop_files/kmag-desktops/vi.po32
-rw-r--r--translations/desktop_files/kmag-desktops/zh_CN.po32
-rw-r--r--translations/desktop_files/kmag-desktops/zh_TW.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ar.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/bg.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/bs.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ca.po34
-rw-r--r--translations/desktop_files/kmousetool-desktops/cs.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/cy.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/da.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/de.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/el.po34
-rw-r--r--translations/desktop_files/kmousetool-desktops/eo.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/es.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/et.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/eu.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/fa.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/fi.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/fr.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/ga.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/gl.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/he.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/hi.po34
-rw-r--r--translations/desktop_files/kmousetool-desktops/hu.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/is.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/it.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/ja.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ka.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/km.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/kmousetool-desktops.pot32
-rw-r--r--translations/desktop_files/kmousetool-desktops/lt.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/mk.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ms.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/mt.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/nb.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/nds.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ne.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/nl.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/nn.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/pa.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/pl.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/pt.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/pt_BR.po33
-rw-r--r--translations/desktop_files/kmousetool-desktops/ro.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ru.po34
-rw-r--r--translations/desktop_files/kmousetool-desktops/sk.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/sl.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/sr.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/sr@Latn.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/sv.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/ta.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/tg.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/th.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/tr.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/uk.po34
-rw-r--r--translations/desktop_files/kmousetool-desktops/uz.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/uz@cyrillic.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/vi.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/zh_CN.po32
-rw-r--r--translations/desktop_files/kmousetool-desktops/zh_TW.po32
-rw-r--r--translations/desktop_files/kmouth-desktops/ar.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/bg.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/br.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/bs.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ca.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/cs.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/cy.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/da.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/de.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/el.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/en_GB.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/eo.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/es.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/et.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/eu.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/fa.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/fi.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/fr.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ga.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/gl.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/he.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/hi.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/hu.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/is.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/it.po48
-rw-r--r--translations/desktop_files/kmouth-desktops/ja.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ka.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/km.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/kmouth-desktops.pot47
-rw-r--r--translations/desktop_files/kmouth-desktops/lt.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/mk.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ms.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/mt.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/nb.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/nds.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ne.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/nl.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/nn.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/pa.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/pl.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/pt.po48
-rw-r--r--translations/desktop_files/kmouth-desktops/pt_BR.po48
-rw-r--r--translations/desktop_files/kmouth-desktops/ro.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ru.po49
-rw-r--r--translations/desktop_files/kmouth-desktops/rw.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/sk.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/sl.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/sr.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/sr@Latn.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/sv.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/ta.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/tg.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/th.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/tr.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/uk.po49
-rw-r--r--translations/desktop_files/kmouth-desktops/uz.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/uz@cyrillic.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/vi.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/zh_CN.po47
-rw-r--r--translations/desktop_files/kmouth-desktops/zh_TW.po47
-rw-r--r--translations/desktop_files/ksayit-desktops/bg.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/br.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/bs.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ca.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/cs.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/da.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/de.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/el.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/es.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/et.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/eu.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/fa.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/fi.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/fr.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ga.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/gl.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/he.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/hi.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/hu.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/is.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/it.po39
-rw-r--r--translations/desktop_files/ksayit-desktops/ja.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ka.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/km.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ksayit-desktops.pot38
-rw-r--r--translations/desktop_files/ksayit-desktops/lt.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/mk.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ms.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/mt.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/nb.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/nds.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ne.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/nl.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/pa.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/pl.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/pt.po39
-rw-r--r--translations/desktop_files/ksayit-desktops/pt_BR.po39
-rw-r--r--translations/desktop_files/ksayit-desktops/ru.po40
-rw-r--r--translations/desktop_files/ksayit-desktops/sk.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/sl.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/sr.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/sr@Latn.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/sv.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/ta.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/tg.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/th.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/tr.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/uk.po40
-rw-r--r--translations/desktop_files/ksayit-desktops/vi.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/zh_CN.po38
-rw-r--r--translations/desktop_files/ksayit-desktops/zh_TW.po38
-rw-r--r--translations/desktop_files/kttsd-desktops/bg.po239
-rw-r--r--translations/desktop_files/kttsd-desktops/br.po231
-rw-r--r--translations/desktop_files/kttsd-desktops/bs.po238
-rw-r--r--translations/desktop_files/kttsd-desktops/ca.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/cs.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/cy.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/da.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/de.po234
-rw-r--r--translations/desktop_files/kttsd-desktops/el.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/es.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/et.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/eu.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/fa.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/fi.po229
-rw-r--r--translations/desktop_files/kttsd-desktops/fr.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/ga.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/gl.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/he.po240
-rw-r--r--translations/desktop_files/kttsd-desktops/hu.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/is.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/it.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/ja.po230
-rw-r--r--translations/desktop_files/kttsd-desktops/ka.po229
-rw-r--r--translations/desktop_files/kttsd-desktops/km.po229
-rw-r--r--translations/desktop_files/kttsd-desktops/kttsd-desktops.pot229
-rw-r--r--translations/desktop_files/kttsd-desktops/lt.po231
-rw-r--r--translations/desktop_files/kttsd-desktops/mk.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/ms.po235
-rw-r--r--translations/desktop_files/kttsd-desktops/mt.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/nb.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/nds.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/ne.po229
-rw-r--r--translations/desktop_files/kttsd-desktops/nl.po234
-rw-r--r--translations/desktop_files/kttsd-desktops/pa.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/pl.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/pt.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/pt_BR.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/ru.po235
-rw-r--r--translations/desktop_files/kttsd-desktops/sk.po231
-rw-r--r--translations/desktop_files/kttsd-desktops/sl.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/sr.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/sr@Latn.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/sv.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/ta.po233
-rw-r--r--translations/desktop_files/kttsd-desktops/tg.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/th.po229
-rw-r--r--translations/desktop_files/kttsd-desktops/tr.po230
-rw-r--r--translations/desktop_files/kttsd-desktops/uk.po234
-rw-r--r--translations/desktop_files/kttsd-desktops/vi.po232
-rw-r--r--translations/desktop_files/kttsd-desktops/zh_CN.po230
-rw-r--r--translations/desktop_files/kttsd-desktops/zh_TW.po231
690 files changed, 26745 insertions, 5629 deletions
diff --git a/.gitmodules b/.gitmodules
index bdec8fc..934def7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +1,3 @@
[submodule "admin"]
path = admin
url = https://system@scm.trinitydesktop.org/scm/git/tde-common-admin
-[submodule "cmake"]
- path = cmake
- url = https://system@scm.trinitydesktop.org/scm/git/tde-common-cmake
diff --git a/CMakeL10n.txt b/CMakeL10n.txt
index cb4ad3c..daf7381 100644
--- a/CMakeL10n.txt
+++ b/CMakeL10n.txt
@@ -9,12 +9,15 @@
#
#################################################
-cmake_minimum_required( VERSION 2.8 )
+
+##### set project version ########################
+
+include( TDEVersion )
+cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} )
##### include our cmake modules #################
-set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
include( TDEL10n )
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..e855b2b
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,119 @@
+############################################
+# #
+# Improvements and feedbacks are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+############################################
+
+
+##### set project version ########################
+
+include( TDEVersion )
+cmake_minimum_required( VERSION ${TDE_CMAKE_MINIMUM_VERSION} )
+tde_set_project_version( )
+
+
+#### general package setup
+
+project( tdeaccessibility )
+
+
+#### include essential cmake modules
+
+include( FindPkgConfig )
+include( CheckFunctionExists )
+include( CheckSymbolExists )
+include( CheckIncludeFile )
+include( CheckIncludeFiles )
+include( CheckLibraryExists )
+include( CheckCSourceCompiles )
+include( CheckCXXSourceCompiles )
+
+
+#### include our cmake modules
+
+include( TDEMacros )
+enable_testing( )
+
+
+##### setup install paths
+
+include( TDESetupPaths )
+tde_setup_paths( )
+
+
+##### optional stuff
+
+option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
+option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
+option( WITH_ARTS "Enable aRts support" ON )
+option( WITH_AKODE "Enable akode support" ${WITH_ALL_OPTIONS} )
+option( WITH_ALSA "Enable alsa support" ${WITH_ALL_OPTIONS} )
+option( WITH_GSTREAMER "Enable Gstreamer support" OFF )
+
+########################################################################
+# #
+# aRts support is needed to build: #
+# - kttsd artsplayer #
+# - ksayit #
+# - ksayit freeverb plugin #
+# #
+########################################################################
+
+
+##### user requested modules
+
+option( BUILD_ALL "Build all" ON )
+
+option( BUILD_KBSTATEAPPLET "Build kbstateapplet" ${BUILD_ALL} )
+option( BUILD_KMAG "Build kmag" ${BUILD_ALL} )
+option( BUILD_KMOUSETOOL "Build kmousetool" ${BUILD_ALL} )
+option( BUILD_KMOUTH "Build kmouth" ${BUILD_ALL} )
+option( BUILD_KSAYIT "Build ksayit" ${BUILD_ALL} )
+option( BUILD_KSAYIT_FREEVERB "Build ksayit freeverb plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD "Build kttsd" ${BUILD_ALL} )
+option( BUILD_KTTSD_COMMAND "Build kttsd command plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_EPOS "Build kttsd epos plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_FESTIVAL "Build kttsd festival plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_FLITE "Build kttsd flite plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_FREETTS "Build kttsd freetts plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_HADIFIX "Build kttsd hadifix plugin" ${BUILD_ALL} )
+option( BUILD_KTTSD_KATE "Build kttsd kate plugin" ${BUILD_ALL} )
+option( BUILD_ICONTHEMES "Build icons" ${BUILD_ALL} )
+option( BUILD_DOC "Build documentation" ${BUILD_ALL} )
+
+
+##### configure checks
+
+include( ConfigureChecks.cmake )
+
+
+###### global compiler settings
+
+add_definitions( -DHAVE_CONFIG_H )
+
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
+
+
+##### directories
+
+tde_conditional_add_subdirectory( BUILD_KBSTATEAPPLET kbstateapplet )
+tde_conditional_add_subdirectory( BUILD_KMAG kmag )
+tde_conditional_add_subdirectory( BUILD_KMOUSETOOL kmousetool )
+tde_conditional_add_subdirectory( BUILD_KMOUTH kmouth )
+tde_conditional_add_subdirectory( BUILD_KSAYIT ksayit )
+tde_conditional_add_subdirectory( BUILD_KTTSD kttsd )
+tde_conditional_add_subdirectory( BUILD_ICONTHEMES IconThemes )
+tde_conditional_add_subdirectory( BUILD_DOC doc )
+
+if( BUILD_KSAYIT OR BUILD_KTTSD )
+ add_subdirectory( kspeechsink )
+endif()
+
+
+##### write configure files
+
+configure_file( config.h.cmake config.h @ONLY )
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..c999afa
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,115 @@
+###########################################
+# #
+# Improvements and feedback are welcome #
+# #
+# This file is released under GPL >= 3 #
+# #
+###########################################
+
+# required stuff
+find_package( TQt )
+find_package( TDE )
+
+tde_setup_architecture_flags( )
+
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+tde_setup_largefiles( )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+ tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
+
+
+##### check for X11
+
+find_package( X11 )
+
+
+##### check for aRts
+
+if( WITH_ARTS )
+ pkg_search_module( ARTS arts )
+ find_library( ARTSKDE artskde )
+
+ if( ARTS_FOUND AND ARTSKDE )
+ set( ARTS_LIBRARIES artskde-shared artsflow_idl soundserver_idl )
+ set( ARTS_PLAYER_LIBRARIES "${ARTS_LIBRARIES}" kmedia2_idl )
+ else()
+ tde_message_fatal( "aRts support has been requested but was not found on your system." )
+ endif()
+
+ if( BUILD_KSAYIT )
+ find_path( ARTS_INCLUDE_DIRS "arts/artsflow.h" )
+
+ if( ARTS_INCLUDE_DIRS )
+ set( KAYSAYIT_ARTS_INCLUDE "${ARTS_INCLUDE_DIRS}" )
+ set( KAYSAYIT_ARTS_LIBRARIES "${ARTS_LIBRARIES}" artsflow )
+ else()
+ tde_message_fatal( "aRts headers are required for ksayit build but were not found on your system." )
+ endif()
+ endif()
+
+ if( BUILD_KSAYIT_FREEVERB )
+ find_path( ARTS_MODULES_DIR "arts/artsmodules.h" )
+
+ if( ARTS_MODULES_DIR )
+ set( ARTS_FREEVERB_PLUGIN_LIBRARIES "${ARTS_LIBRARIES}" artsflow artsmoduleseffects artsmodules )
+ else()
+ tde_message_fatal( freeverb support has been requested, but the <arts/artsmodules.h> header from tdemultimedia was not found )
+ endif()
+ endif()
+endif( WITH_ARTS )
+
+
+##### check for akode
+
+if( WITH_AKODE )
+ pkg_search_module( AKODE akode )
+
+ if( NOT AKODE_FOUND )
+ tde_message_fatal( "akode support has been requested but was not found on your system" )
+ endif()
+endif( WITH_AKODE )
+
+
+##### check for alsa
+
+if( WITH_ALSA )
+ pkg_search_module( ALSA alsa )
+
+ if( ALSA_FOUND )
+ check_include_file( "sys/time.h" HAVE_SYS_TIME_H )
+ check_include_files( "sys/time.h;time.h" TIME_WITH_SYS_TIME )
+ else()
+ tde_message_fatal( "alsa support has been requested but was not found on your system." )
+ endif()
+endif( WITH_ALSA )
+
+
+##### check for gstreamer
+
+if( WITH_GSTREAMER )
+ pkg_search_module( GSTREAMER gstreamer-1.0>=1.0.0 gstreamer-0.10>=0.10.0 )
+ pkg_search_module( GLIB2 glib-2.0 )
+
+ if( NOT GSTREAMER_FOUND )
+ tde_message_fatal( "Gstreamer support has been requested but gstreamer was not found on your system." )
+ endif()
+
+ message( STATUS "gstreamer version: ${GSTREAMER_VERSION}" )
+endif( WITH_GSTREAMER )
+
+
+##### look for <kspeech.h> header
+
+find_path( KTTS_KSPEECH_DIR NAMES kspeech.h
+HINTS
+ ${TQT_INCLUDE_DIRS}
+ ${TDE_INCLUDE_DIR}
+ ${TDE_INCLUDE_DIR}/tde
+)
diff --git a/IconThemes/CMakeL10n.txt b/IconThemes/CMakeL10n.txt
new file mode 100644
index 0000000..8d43a58
--- /dev/null
+++ b/IconThemes/CMakeL10n.txt
@@ -0,0 +1,7 @@
+##### create translation templates ##############
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/icon-themes/"
+ SOURCES *.theme
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/IconThemes/CMakeLists.txt b/IconThemes/CMakeLists.txt
new file mode 100644
index 0000000..898d91b
--- /dev/null
+++ b/IconThemes/CMakeLists.txt
@@ -0,0 +1,27 @@
+##### index theme
+
+tde_create_translated_desktop(
+ SOURCE mono/index.theme
+ DESTINATION ${ICON_INSTALL_DIR}/mono
+ PO_DIR icon-themes
+)
+
+
+##### svgz icons
+
+set( _icon_type actions apps categories devices mimetypes places )
+
+foreach( icon_type ${_icon_type} )
+ file( GLOB _files ${CMAKE_CURRENT_SOURCE_DIR}/mono/scalable/${icon_type}/*.svgz )
+ install( FILES ${_files} DESTINATION ${ICON_INSTALL_DIR}/mono/scalable/${icon_type} )
+endforeach( icon_type )
+
+
+##### png icons
+
+set( _icon_size 16x16 22x22 32x32 48x48 64x64 96x96 128x128 192x192 256x256 )
+
+foreach( icon_size ${_icon_size} )
+ file( GLOB _files ${CMAKE_CURRENT_SOURCE_DIR}/mono/png/${icon_size}/actions/*.png )
+ install( FILES ${_files} DESTINATION ${ICON_INSTALL_DIR}/mono/png/${icon_size}/actions )
+endforeach( icon_size )
diff --git a/IconThemes/mono/index.theme b/IconThemes/mono/index.theme
index 619f64d..6e0a6a4 100644
--- a/IconThemes/mono/index.theme
+++ b/IconThemes/mono/index.theme
@@ -1,93 +1,8 @@
[Icon Theme]
Name=Monochrome
-Name[br]=Monokrom
-Name[ca]=Monocrom
-Name[cs]=Černobíle
-Name[cy]=Unlliw
-Name[da]=Monokrom
-Name[de]=Monochrom
-Name[el]=Μονόχρωμο
-Name[es]=Monocromo
-Name[et]=Ühevärviline
-Name[eu]=Monokromoa
-Name[fa]=تک رنگ
-Name[fi]=Yksivärinen
-Name[ga]=Monacrómach
-Name[gl]=Monocromo
-Name[he]=מונוכרום
-Name[hu]=Monokróm
-Name[is]=Svart/hvítt
-Name[it]=Monocromo
-Name[ka]=მონოქრომატული
-Name[km]=តែ​មួយ​ពណ៌
-Name[lt]=Monochrominis
-Name[mk]=Монохром
-Name[ms]=Monokrom
-Name[nb]=Ensfarget
-Name[nds]=Swattwitt
-Name[ne]=मोनोक्रोम
-Name[nl]=Monochroom
-Name[pl]=Monochromatyczny
-Name[pt]=Monocromático
-Name[pt_BR]=Monocromático
-Name[ru]=Чёрно-белая тема
-Name[sk]=Monochromatické
-Name[sl]=Monokromatsko
-Name[sr]=Монохроматски
-Name[sr@Latn]=Monohromatski
-Name[sv]=Monokrom
-Name[ta]=மோனோக்ரோம்
-Name[tg]=Мавзӯъи сиёҳ-сафед
-Name[tr]=Siyah-beyaz
-Name[uk]=Чорно-біле
-Name[vi]=Đơn sắc
-Name[zh_TW]=單色
+
Comment=By Danny Allen (danny@dannyallen.co.uk)
-Comment[bs]=Autor: Danny Allen (danny@dannyallen.co.uk)
-Comment[ca]=Per Danny Allen (danny@dannyallen.co.uk)
-Comment[cs]=Danny Allen (danny@dannyallen.co.uk)
-Comment[da]=Ved Danny Allen (danny@dannyallen.co.uk)
-Comment[de]=Von Danny Allen (danny@dannyallen.co.uk)
-Comment[el]=Από τον Danny Allen (danny@dannyallen.co.uk)
-Comment[es]=Por Danny Allen (danny@dannyallen.co.uk)
-Comment[et]=Autor: Danny Allen (danny@dannyallen.co.uk)
-Comment[eu]=Egilea: Danny Allen (danny@dannyallen.co.uk)
-Comment[fa]=توسط دنی آلن (danny @dannyallen.co.uk)
-Comment[fi]=Danny Allen (danny@dannyallen.co.uk)
-Comment[fr]=De Danny Allen (danny@dannyallen.co.uk)
-Comment[ga]=Le Danny Allen (danny@dannyallen.co.uk)
-Comment[gl]=Por Danny Allen (danny@dannyallen.co.uk)
-Comment[he]=נכתב על ידי Danny Allen (danny@dannyallen.co.uk)
-Comment[hu]=Készítette: Danny Allen <danny@dannyallen.co.uk>
-Comment[is]=Eftir Danny Allen (danny@dannyallen.co.uk)
-Comment[it]=Di Danny Allen (danny@dannyallen.co.uk)
-Comment[ka]=დენი ალიენის ავტორობით (danny@dannyallen.co.uk)
-Comment[km]= ដោយ​លោក​ Danny Allen (danny@dannyallen.co.uk)
-Comment[lt]=Sukūrė Danny Allen (danny@dannyallen.co.uk)
-Comment[mk]=Од Danny Allen (danny@dannyallen.co.uk)
-Comment[ms]=Oleh Danny Allen (danny@dannyallen.co.uk)
-Comment[mt]=Ta' Danny Allen (danny@dannyallen.co.uk)
-Comment[nb]=av Danny Allen (danny@dannyallen.co.uk)
-Comment[nds]=Vun Danny Allen (danny@dannyallen.co.uk)
-Comment[ne]=डेनी एलेनद्वारा (danny@dannyallen.co.uk)
-Comment[nl]=door Danny Allen (danny@dannyallen.co.uk)
-Comment[pa]=Danny Allen (danny@dannyallen.co.uk) ਵਲੋਂ
-Comment[pl]=Autor Danny Allen (danny@dannyallen.co.uk)
-Comment[pt]=Por Danny Allen (danny@dannyallen.co.uk)
-Comment[pt_BR]=Por Danny Allen (danny@dannyallen.co.uk)
-Comment[ru]=Написал Дэнни Аллен (Danny Allen) (danny@dannyallen.co.uk)
-Comment[sk]=Danny Allen (danny@dannyallen.co.uk)
-Comment[sl]=Napisal Danny Allen (danny@dannyallen.co.uk)
-Comment[sr]=Од Денија Алена (Danny Allen, danny@dannyallen.co.uk)
-Comment[sr@Latn]=Od Denija Alena (Danny Allen, danny@dannyallen.co.uk)
-Comment[sv]=Av Danny Allen (danny@dannyallen.co.uk)
-Comment[ta]=டானி ஆலன் (danny@dannyallen.co.uk)
-Comment[tg]=Навишташудааст аз тарафи Аллен (Danny Allen) (danny@dannyallen.co.uk)
-Comment[th]=โดย Danny Allen (danny@dannyallen.co.uk)
-Comment[tr]=Danny Allen (danny@dannyallen.co.uk)
-Comment[uk]=Автор Danny Allen (danny@dannyallen.co.uk)
-Comment[vi]=Bởi Danny Allen (danny@dannyallen.co.uk)
-Comment[zh_CN]=由 Danny Allen (danny@dannyallen.co.uk) 制作
+
Inherits=hicolor
DisplayDepth=32
Example=exec
diff --git a/IconThemes/mono/scalable/apps/window_list.svgz b/IconThemes/mono/scalable/apps/window_list.svgz
deleted file mode 100644
index d51f7e9..0000000
--- a/IconThemes/mono/scalable/apps/window_list.svgz
+++ /dev/null
Binary files differ
diff --git a/admin b/admin
-Subproject 65b6c5ac6f39c266c114d1fdc452d92442f776c
+Subproject 59a8bf7c09f87fbccd6dc2987145c7216e043e7
diff --git a/cmake b/cmake
deleted file mode 160000
-Subproject 0459cbaf3eaf2b123a07d125623db0fc82baa6a
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..bfbd018
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,14 @@
+#define VERSION "@VERSION@"
+
+// Defined if you have fvisibility and fvisibility-inlines-hidden support.
+#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
+
+/* Defined if you have both <sys/time.h> and <time.h> headers */
+#cmakedefine TIME_WITH_SYS_TIME 1
+
+/* Defined if you have either <sys/time.h> or <time.h> headers */
+#cmakedefine HAVE_SYS_TIME_H 1
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..86e1d34
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory( man )
+
+tde_conditional_add_subdirectory( BUILD_KMAG kmag )
+tde_conditional_add_subdirectory( BUILD_KMOUSETOOL kmousetool )
+tde_conditional_add_subdirectory( BUILD_KMOUTH kmouth )
+tde_conditional_add_subdirectory( BUILD_KSAYIT ksayit )
+tde_conditional_add_subdirectory( BUILD_KTTSD kttsd )
diff --git a/doc/kmag/CMakeLists.txt b/doc/kmag/CMakeLists.txt
new file mode 100644
index 0000000..bbf4d61
--- /dev/null
+++ b/doc/kmag/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+tde_create_handbook( DESTINATION kmag )
diff --git a/doc/kmousetool/CMakeLists.txt b/doc/kmousetool/CMakeLists.txt
new file mode 100644
index 0000000..20a4302
--- /dev/null
+++ b/doc/kmousetool/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+tde_create_handbook( DESTINATION kmousetool )
diff --git a/doc/kmouth/CMakeLists.txt b/doc/kmouth/CMakeLists.txt
new file mode 100644
index 0000000..db17dfc
--- /dev/null
+++ b/doc/kmouth/CMakeLists.txt
@@ -0,0 +1,8 @@
+file( GLOB EPS_FILES *.eps)
+
+install(
+ FILES ${EPS_FILES}
+ DESTINATION ${HTML_INSTALL_DIR}/en/kmouth
+)
+
+tde_create_handbook( DESTINATION kmouth )
diff --git a/doc/ksayit/CMakeLists.txt b/doc/ksayit/CMakeLists.txt
index 2100cef..f3bd726 100644
--- a/doc/ksayit/CMakeLists.txt
+++ b/doc/ksayit/CMakeLists.txt
@@ -1,9 +1,2 @@
-#################################################
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
tde_create_handbook( DESTINATION ksayit )
diff --git a/doc/kttsd/CMakeLists.txt b/doc/kttsd/CMakeLists.txt
new file mode 100644
index 0000000..f729b93
--- /dev/null
+++ b/doc/kttsd/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+tde_create_handbook( DESTINATION kttsd )
diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt
new file mode 100644
index 0000000..9e73a7f
--- /dev/null
+++ b/doc/man/CMakeLists.txt
@@ -0,0 +1,5 @@
+tde_conditional_add_subdirectory( BUILD_KMAG kmag )
+tde_conditional_add_subdirectory( BUILD_KMOUSETOOL kmousetool )
+tde_conditional_add_subdirectory( BUILD_KMOUTH kmouth )
+tde_conditional_add_subdirectory( BUILD_KTTSD kttsd )
+tde_conditional_add_subdirectory( BUILD_KSAYIT ksayit )
diff --git a/doc/man/kmag/CMakeLists.txt b/doc/man/kmag/CMakeLists.txt
new file mode 100644
index 0000000..8c156c4
--- /dev/null
+++ b/doc/man/kmag/CMakeLists.txt
@@ -0,0 +1,5 @@
+install(
+ FILES kmag.1
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ COMPONENT doc
+)
diff --git a/doc/man/kmag/kmag.1 b/doc/man/kmag/kmag.1
new file mode 100644
index 0000000..f21a158
--- /dev/null
+++ b/doc/man/kmag/kmag.1
@@ -0,0 +1,141 @@
+.TH kmag 1
+
+.SH NAME
+kmag \- A screen magnifier for TDE.
+
+.SH SYNOPSIS
+.B kmag [file]
+.I [ Generic Options] [Qt-options] [TDE-options]
+
+.SH DESCRIPTION
+Kmag is a TDE screen magnifier for the visually impaired.
+You can use it to magnify a part of the screen just as you would use a
+lens to magnify a newspaper fine-print or a photograph.
+This application is useful for a variety of people: from researchers to
+artists to web-designers to people with low vision.
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+.SH SEE ALSO
+More detailed user documentation is available from
+.BR help:/kmag
+(either enter this URL into \fBkonqueror\fP, or run `khelpcenter
+help:/kmag').
+
+.PP
+There is also further information available at the
+.URL https://mirror.git.trinitydesktop.org/gitea/TDE/tdeaccessibility "
+tdeaccessibility project home page."
+
+kmag(1)
+
+.SH AUTHORS
+.nf
+OlafSchmidt <ojschmidt@kde.org>
+.br
+SarangLakare <sarang@users.sf.net>
+.br
+MichaelForster <forster@fmi.uni-passau.de>
diff --git a/doc/man/kmousetool/CMakeLists.txt b/doc/man/kmousetool/CMakeLists.txt
new file mode 100644
index 0000000..355035d
--- /dev/null
+++ b/doc/man/kmousetool/CMakeLists.txt
@@ -0,0 +1,5 @@
+install(
+ FILES kmousetool.1
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ COMPONENT doc
+)
diff --git a/doc/man/kmousetool/kmousetool.1 b/doc/man/kmousetool/kmousetool.1
new file mode 100644
index 0000000..8f3bfd3
--- /dev/null
+++ b/doc/man/kmousetool/kmousetool.1
@@ -0,0 +1,146 @@
+.TH kmousetool 1
+
+.SH NAME
+kmousetool \- A TDE tool to help click the mouse.
+
+.SH SYNOPSIS
+.B kmousetool
+.I [ Generic Options] [Qt-options] [TDE-options]
+
+.SH DESCRIPTION
+KMouseTool clicks the mouse whenever the mouse cursor pauses briefly.
+It was designed to help those with repetitive strain injuries, for
+whom pressing buttons hurts. It includes features and options that
+provide artificial intelligence on common mouse gestures to perform
+actions.
+
+.PP
+KMouseTool can also be configured to wait for a specified time for a
+drag to begin, before unclicking the mouse. This way, you can use it for
+drag and drop operations as well.
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+.SH SEE ALSO
+More detailed user documentation is available from
+.BR help:/kmousetool
+(either enter this URL into \fBkonqueror\fP, or run `khelpcenter
+help:/kmousetool').
+
+.PP
+There is also further information available at
+.URL https://mirror.git.trinitydesktop.org/gitea/TDE/tdeaccessibility "
+tdeaccessibility project home page."
+
+kmouthtool(1)
+
+.SH AUTHORS
+.nf
+GunnarSchmi <gunnar@schmi>
+.br
+OlafSchmidt <ojschmidt@kde.org>
+.br
+JeffRoush <jeff@mousetool.com>
diff --git a/doc/man/kmouth/CMakeLists.txt b/doc/man/kmouth/CMakeLists.txt
new file mode 100644
index 0000000..1785a0a
--- /dev/null
+++ b/doc/man/kmouth/CMakeLists.txt
@@ -0,0 +1,5 @@
+install(
+ FILES kmouth.1
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ COMPONENT doc
+)
diff --git a/doc/man/kmouth/kmouth.1 b/doc/man/kmouth/kmouth.1
new file mode 100644
index 0000000..c321db4
--- /dev/null
+++ b/doc/man/kmouth/kmouth.1
@@ -0,0 +1,142 @@
+.TH kmouth 1
+
+.SH NAME
+kmouth \- A type-and-say TDE front end for speech synthesizers.
+
+.SH SYNOPSIS
+.B kmouth
+.I [ Generic Options] [Qt-options] [TDE-options]
+
+.SH DESCRIPTION
+Kmouth is an application that enables persons that cannot speak to
+let their computers speak, e.g. mute people or people who have lost
+their voice. It includes a history of spoken sentences from
+which the user can select sentences to be re-spoken. It has a text input
+field and speaks the sentences that you enter. It also has support for
+user defined phrasebooks.
+
+.PP
+Note that does not include speech synthesizer. Instead it
+requires a speech synthesizer installed in the system.
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+.SH SEE ALSO
+More detailed user documentation is available from
+.BR help:/kmouth
+(either enter this URL into \fBkonqueror\fP, or run `khelpcenter
+help:/kmouth').
+
+.PP
+There is also further information available at the
+.URL https://mirror.git.trinitydesktop.org/gitea/TDE/tdeaccessibility "
+tdeaccessibility project web site".
+
+kmouth(1)
+
+.SH AUTHORS
+.br
+GunnarSchmi <kmouth@schmi.de>
diff --git a/doc/man/ksayit/CMakeLists.txt b/doc/man/ksayit/CMakeLists.txt
new file mode 100644
index 0000000..28474bc
--- /dev/null
+++ b/doc/man/ksayit/CMakeLists.txt
@@ -0,0 +1,5 @@
+install(
+ FILES ksayit.1
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ COMPONENT doc
+)
diff --git a/doc/man/ksayit/ksayit.1 b/doc/man/ksayit/ksayit.1
new file mode 100644
index 0000000..92c1a3d
--- /dev/null
+++ b/doc/man/ksayit/ksayit.1
@@ -0,0 +1,145 @@
+.TH ksayit 1
+
+.SH NAME
+ksayit \- A Text-to-speech front-end to kttsd.
+
+.SH SYNOPSIS
+.B ksayit [file]
+.I [ Generic Options] [Qt-options] [TDE-options]
+
+.SH DESCRIPTION
+KSayIt is a small utilitiy for TDE that simply speaks a given textfile
+in a very high quality, i.e. sound and pronounciation of the spoken
+text should be as natural as possible. KSayIt uses natively
+Text-To-Speech systems like MBrola, any TTS system that can be
+controlled via a command line or any TTS system that is supported by
+the TTS system (i.e. Festival). KSayIt offers three user interfaces:
+A simple text editor window in which you can enter or paste text that
+should be spoken after pressing a play button, as well as an icon
+in the systemtray that starts to speak by a single mouseclick the
+actual content of the clipboard. As a TDE application it offers also a
+DCOP interface for the say and shut-up action. Finally KSayIt provides
+an effectstack to postprocess the sound of the voice (currently only a
+Freeverb effect is included)
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+.SH SEE ALSO
+More detailed user documentation is available from
+.BR help:/ksayit
+(either enter this URL into \fBkonqueror\fP, or run `khelpcenter
+help:/ksayit').
+
+.PP
+There is also further information available at the
+.URL https://mirror.git.trinitydesktop.org/gitea/TDE/tdeaccessibility "
+tdeaccessibility project home page."
+
+ksayit(1)
+
+.SH AUTHORS
+.nf
+Robert Vogl <voglrobe@web.de>
diff --git a/doc/man/kttsd/CMakeLists.txt b/doc/man/kttsd/CMakeLists.txt
new file mode 100644
index 0000000..39d1d23
--- /dev/null
+++ b/doc/man/kttsd/CMakeLists.txt
@@ -0,0 +1,5 @@
+install(
+ FILES kttsd.1 kttsmgr.1
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ COMPONENT doc
+)
diff --git a/doc/man/kttsd/kttsd.1 b/doc/man/kttsd/kttsd.1
new file mode 100644
index 0000000..b9092c0
--- /dev/null
+++ b/doc/man/kttsd/kttsd.1
@@ -0,0 +1,138 @@
+.TH KTTSD 1
+
+.SH NAME
+kttsd \- Text-to-speech synthesis deamon
+
+.SH SYNOPSIS
+.B kttsd
+.I [ Generic Options] [Qt-options] [KDE-options]
+
+.SH DESCRIPTION
+Kttsd is part of the TDE Text-to-Speech system. kttsd is the non-GUI
+deamon that provides TTS services to applications via the DCOP
+interface. kttsd is configured via kttsmgr.
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+.SH SEE ALSO
+More detailed user documentation is available from
+.BR help:/kttsd/
+(either enter this URL into \fBkonqueror\fP, or run `khelpcenter
+help:/kttsd').
+
+kttsmgr(1)
+
+.SH AUTHORS
+.nf
+Jos Pablo Ezequiel Fernndez <pupeno@pupeno.com>
+.br
+Gary Cramblitt <garycramblitt@comcast.net>
+.br
+Gunnar Schmi Dt <gunnar@schmi-dt.de>
+.br
+Olaf Schmidt <ojschmidt@kde.org>
+.br
+Paul Giannaros <ceruleanblaze@gmail.com>
diff --git a/doc/man/kttsd/kttsmgr.1 b/doc/man/kttsd/kttsmgr.1
new file mode 100644
index 0000000..bb6db02
--- /dev/null
+++ b/doc/man/kttsd/kttsmgr.1
@@ -0,0 +1,132 @@
+.TH KTTSMGR 1
+
+.SH NAME
+kttsmgr
+- Text-to-Speech Manager
+
+.SH SYNOPSIS
+.B kttsmgr
+.I [ Generic Options] [Qt-options] [KDE-options]
+
+.SH DESCRIPTION
+Kttsmgr is an application for starting and configuring the
+Text-to-Speech system.
+
+.SH GENERIC OPTIONS
+.TP
+.B \-\-help
+Show help about options.
+.TP
+.B \-\-help-qt
+Show Qt specific options.
+.TP
+.B \-\-help-tde
+Show TDE specific options.
+.TP
+.B \-\-help-all
+Show all options.
+.TP
+.B \-\-author
+Show author information.
+.TP
+.B \-v, \-\-version
+Show version information.
+
+.SH QT OPTIONS
+.TP
+.B \-\-display \fI<displayname>\fB
+Use the X-server display `displayname'.
+.TP
+.B \-\-session \fI<sessionId>\fB
+Restore the application for the given `sessionId'.
+.TP
+.B \-\-cmap
+Causes the application to install a private color map on an 8\-bit
+display.
+.TP
+.B \-\-ncols \fI<count>\fB
+Limits the number of colors allocated in the color cube on an 8\-bit
+display, if the application is using the QApplication::ManyColor color
+specification.
+.TP
+.B \-\-nograb
+Tells Qt to never grab the mouse or the keyboard.
+.TP
+.B \-\-dograb
+Running under a debugger can cause an implicit \-nograb, use \-dograb
+to override.
+.TP
+.B \-\-sync
+Switches to synchronous mode for debugging.
+.TP
+.B \-\-fn, \-\-font \fI<fontname>\fB
+Defines the application font.
+.TP
+.B \-\-bg, \-\-background \fI<color>\fB
+Sets the default background color and an application palette (light
+and dark shades are calculated).
+.TP
+.B \-\-fg, \-\-foreground \fI<color>\fB
+Sets the default foreground color.
+.TP
+.B \-\-btn, \-\-button \fI<color>\fB
+Sets the default button color.
+.TP
+.B \-\-name \fI<name>\fB
+Sets the application name.
+.TP
+.B \-\-title \fI<title>\fB
+Sets the application title (caption).
+.TP
+.B \-\-visual TrueColor
+Forces the application to use a TrueColor visual on an 8-bit display.
+.TP
+.B \-\-inputstyle \fI<inputstyle>\fB
+Sets XIM (X Input Method) input style. Possible values are
+\fIonthespot\fP, \fIoverthespot\fP, \fIoffthespot\fP and \fIroot\fP.
+.TP
+.B \-\-im \fI<XIM server>\fB
+Set XIM server.
+.TP
+.B \-\-noxim
+Disable XIM.
+
+.SH TDE OPTIONS
+.TP
+.B \-\-caption \fI<caption>\fB
+Use `caption' as name in the titlebar.
+.TP
+.B \-\-icon \fI<icon>\fB
+Use `icon' as the application icon.
+.TP
+.B \-\-miniicon \fI<icon>\fB
+Use `icon' as the icon in the titlebar.
+.TP
+.B \-\-dcopserver \fI<server>\fB
+Use the DCOP Server specified by `server'.
+.TP
+.B \-\-nocrashhandler
+Disable crash handler, to get core dumps.
+.TP
+.B \-\-waitforwm
+Waits for a WM_NET compatible windowmanager.
+.TP
+.B \-\-style \fI<style>\fB
+Sets the application GUI style.
+.TP
+.B \-\-geometry \fI<geometry>\fB
+Sets the client geometry of the main widget.
+
+kttsd(1)
+
+.SH AUTHORS
+.nf
+Jos Pablo Ezequiel Fernndez <pupeno@pupeno.com>
+.br
+Gary Cramblitt <garycramblitt@comcast.net>
+.br
+Gunnar Schmi Dt <gunnar@schmi-dt.de>
+.br
+Olaf Schmidt <ojschmidt@kde.org>
+.br
+Paul Giannaros <ceruleanblaze@gmail.com>
diff --git a/kbstateapplet/CMakeL10n.txt b/kbstateapplet/CMakeL10n.txt
index bc9000b..6c34e3f 100644
--- a/kbstateapplet/CMakeL10n.txt
+++ b/kbstateapplet/CMakeL10n.txt
@@ -1,3 +1,9 @@
##### create translation templates ##############
tde_l10n_create_template( "kbstateapplet" )
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/kbstateapplet-desktops/"
+ SOURCES *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/kbstateapplet/CMakeLists.txt b/kbstateapplet/CMakeLists.txt
new file mode 100644
index 0000000..a0ba809
--- /dev/null
+++ b/kbstateapplet/CMakeLists.txt
@@ -0,0 +1,39 @@
+add_subdirectory( images )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${X11_INCLUDE_DIR}
+ ${X11_Xkb_INCLUDE_PATH}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kbstate_panelapplet (kpart)
+
+tde_add_kpart( kbstate_panelapplet MODULE AUTOMOC
+
+ SOURCES
+ kbstate.cpp
+ LINK
+ tdeui-shared
+ tdecore-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kbstateapplet.desktop
+ DESTINATION ${DATA_INSTALL_DIR}/kicker/applets
+ PO_DIR kbstateapplet-desktops
+)
diff --git a/kbstateapplet/images/CMakeLists.txt b/kbstateapplet/images/CMakeLists.txt
new file mode 100644
index 0000000..4564c0c
--- /dev/null
+++ b/kbstateapplet/images/CMakeLists.txt
@@ -0,0 +1,3 @@
+##### icons
+
+tde_install_icons( DESTINATION ${DATA_INSTALL_DIR}/kbstateapplet/icons )
diff --git a/kbstateapplet/kbstate.cpp b/kbstateapplet/kbstate.cpp
index e0bf552..30dc5c5 100644
--- a/kbstateapplet/kbstate.cpp
+++ b/kbstateapplet/kbstate.cpp
@@ -113,7 +113,7 @@ KbStateApplet::KbStateApplet(const TQString& configFile, Type t, int actions,
accessxFeatures = 0;
//startTimer(100); // ten times a second
- connect(kapp, TQT_SIGNAL(tdedisplayPaletteChanged()), TQT_SLOT(paletteChanged()));
+ connect(kapp, TQ_SIGNAL(tdedisplayPaletteChanged()), TQ_SLOT(paletteChanged()));
kapp->installX11EventFilter (this);
int opcode_rtn, error_rtn;
@@ -139,27 +139,27 @@ void KbStateApplet::buildPopupMenu()
sizePopup->insertItem(i18n("Small"), 13);
sizePopup->insertItem(i18n("Medium"), 20);
sizePopup->insertItem(i18n("Large"), 26);
- connect(sizePopup,TQT_SIGNAL(activated(int)), this, TQT_SLOT(setIconDim(int)));
+ connect(sizePopup,TQ_SIGNAL(activated(int)), this, TQ_SLOT(setIconDim(int)));
showPopup=new TDEPopupMenu(this);
showPopup->setCheckable( true );
- modifierItem=showPopup->insertItem(i18n("Modifier Keys"), this, TQT_SLOT(toggleModifier()));
- lockkeysItem=showPopup->insertItem(i18n("Lock Keys"), this, TQT_SLOT(toggleLockkeys()));
- mouseItem=showPopup->insertItem(i18n("Mouse Status"), this, TQT_SLOT(toggleMouse()));
- accessxItem=showPopup->insertItem(i18n("AccessX Status"), this, TQT_SLOT(toggleAccessX()));
+ modifierItem=showPopup->insertItem(i18n("Modifier Keys"), this, TQ_SLOT(toggleModifier()));
+ lockkeysItem=showPopup->insertItem(i18n("Lock Keys"), this, TQ_SLOT(toggleLockkeys()));
+ mouseItem=showPopup->insertItem(i18n("Mouse Status"), this, TQ_SLOT(toggleMouse()));
+ accessxItem=showPopup->insertItem(i18n("AccessX Status"), this, TQ_SLOT(toggleAccessX()));
popup = new TDEPopupMenu(this);
popup->setCheckable( true );
popup->insertTitle(0, i18n("Keyboard Status Applet"));
popup->insertItem(i18n("Set Icon Size"),sizePopup);
fillSpaceItem = popup->insertItem(i18n("Fill Available Space"),
- this, TQT_SLOT(toggleFillSpace()));
+ this, TQ_SLOT(toggleFillSpace()));
popup->insertItem(i18n("Show"),showPopup);
- popup->insertItem(i18n("Configure AccessX Features..."), this, TQT_SLOT(configureAccessX()));
- popup->insertItem(i18n("Configure Keyboard..."), this, TQT_SLOT(configureKeyboard()));
- popup->insertItem(i18n("Configure Mouse..."), this, TQT_SLOT(configureMouse()));
+ popup->insertItem(i18n("Configure AccessX Features..."), this, TQ_SLOT(configureAccessX()));
+ popup->insertItem(i18n("Configure Keyboard..."), this, TQ_SLOT(configureKeyboard()));
+ popup->insertItem(i18n("Configure Mouse..."), this, TQ_SLOT(configureMouse()));
popup->insertSeparator();
- popup->insertItem(i18n("About"), this, TQT_SLOT(about()));
+ popup->insertItem(i18n("About"), this, TQ_SLOT(about()));
setCustomMenu(popup);
updateMenu();
}
@@ -264,7 +264,7 @@ int KbStateApplet::heightForWidth(int w) const {
}
void KbStateApplet::mousePressEvent(TQMouseEvent *e) {
- if (e->button() == Qt::RightButton)
+ if (e->button() == TQt::RightButton)
popup->popup(e->globalPos());
}
@@ -308,7 +308,7 @@ void KbStateApplet::layout() {
accessxCount++;
}
- if (orientation() ==Qt::Vertical) {
+ if (orientation() ==TQt::Vertical) {
calculateSizes (width(), modifierCount, lockkeyCount, accessxCount,
showMouse, lines, length, size);
@@ -547,8 +547,8 @@ void KbStateApplet::initMasks() {
if ((map <= 7) && !(icons[map])) {
icons[map] = new KeyIcon (i, instance, this, modifierKeys[i].name);
TQToolTip::add (icons[map], i18n (modifierKeys[i].name));
- connect (icons[map], TQT_SIGNAL(stateChangeRequest (KeyIcon*,bool,bool)),
- TQT_SLOT(stateChangeRequest (KeyIcon*,bool,bool)));
+ connect (icons[map], TQ_SIGNAL(stateChangeRequest (KeyIcon*,bool,bool)),
+ TQ_SLOT(stateChangeRequest (KeyIcon*,bool,bool)));
if (modifierKeys[i].isModifier)
modifiers.append(icons[map]);
else
@@ -755,7 +755,7 @@ KeyIcon::KeyIcon (int keyId, TDEInstance *instance,
isLocked = false;
isLatched = false;
updateImages ();
- connect (this, TQT_SIGNAL(clicked()), TQT_SLOT(clickedSlot()));
+ connect (this, TQ_SIGNAL(clicked()), TQ_SLOT(clickedSlot()));
}
KeyIcon::~KeyIcon () {
@@ -862,7 +862,7 @@ MouseIcon::MouseIcon (TDEInstance *instance, TQWidget *parent, const char *name)
state = 0;
activekey = 0;
updateImages ();
- connect (this, TQT_SIGNAL(clicked()), TQT_SLOT(clickedSlot()));
+ connect (this, TQ_SIGNAL(clicked()), TQ_SLOT(clickedSlot()));
}
MouseIcon::~MouseIcon () {
@@ -964,7 +964,7 @@ TimeoutIcon::TimeoutIcon (TDEInstance *instance, const TQString &text,
this->featurename = featurename;
glyth = " ";
setImage (featurename);
- connect (&timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(timeout()));
+ connect (&timer, TQ_SIGNAL(timeout()), this, TQ_SLOT(timeout()));
}
TimeoutIcon::~TimeoutIcon () {
diff --git a/kbstateapplet/kbstate.h b/kbstateapplet/kbstate.h
index da09d48..854d61c 100644
--- a/kbstateapplet/kbstate.h
+++ b/kbstateapplet/kbstate.h
@@ -34,7 +34,7 @@ class TQGridLayout;
class TDEPopupMenu;
class StatusIcon : public TQPushButton {
- Q_OBJECT
+ TQ_OBJECT
public:
StatusIcon (const TQString &text, TQWidget *parent, const char *name=0);
@@ -45,7 +45,7 @@ public:
typedef TQPtrList<StatusIcon> IconList;
class TimeoutIcon : public StatusIcon {
- Q_OBJECT
+ TQ_OBJECT
public:
TimeoutIcon (TDEInstance *instance, const TQString &text,
@@ -73,7 +73,7 @@ private slots:
};
class KeyIcon : public StatusIcon {
- Q_OBJECT
+ TQ_OBJECT
public:
KeyIcon (int keyId, TDEInstance *instance,
@@ -104,7 +104,7 @@ private:
};
class MouseIcon : public StatusIcon {
- Q_OBJECT
+ TQ_OBJECT
public:
MouseIcon (TDEInstance *instance, TQWidget *parent, const char *name=0);
@@ -133,7 +133,7 @@ class MouseIcon : public StatusIcon {
};
class KbStateApplet : public KPanelApplet {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kbstateapplet/kbstateapplet.desktop b/kbstateapplet/kbstateapplet.desktop
index 70f60cb..5ae9f86 100644
--- a/kbstateapplet/kbstateapplet.desktop
+++ b/kbstateapplet/kbstateapplet.desktop
@@ -1,101 +1,8 @@
[Desktop Entry]
-Type=Plugin
Name=Keyboard Status Applet
-Name[bg]=Състояние на клавиатурата
-Name[br]=Arloadig stad ar stokellaoueg
-Name[ca]=Applet d'estat del teclat
-Name[cs]=Applet ukazují stav klávesnice
-Name[da]=Tastaturstatus-applet
-Name[de]=Tastaturstatus
-Name[el]=Μικροεφαρμογή κατάστασης πληκτρολογίου
-Name[es]=Aplicación integrada en el panel con el estado del teclado
-Name[et]=Klaviatuuristaatuse aplett
-Name[eu]=Teklatuaren egoeraren applet-a
-Name[fa]=برنامک وضعیت صفحه کلید
-Name[fi]=Näppäimistötilan sovelma
-Name[fr]=Applet d'état du clavier
-Name[ga]=Feidhmchláirín Stádais an Mhéarchláir
-Name[gl]=Applet de Estado do Teclado
-Name[he]=יישומון מצב המקלדת
-Name[hi]=कुंजीपट स्थिति ऐप्लेट
-Name[hu]=Billentyűállapot-jelző
-Name[is]=Lyklaborðsstöðu smáforrit
-Name[it]=Applet per lo stato della tastiera
-Name[ja]=キーボード状態アプレット
-Name[ka]=კლავიატურის სტატუსის აპლეტი
-Name[km]= អាប់ភ្លេត​ស្ថានភាព​ក្ដារ​ចុច
-Name[lt]=Klaviatūros būklės įskiepis
-Name[mk]=Аплет за статус на тастатурата
-Name[ms]=Aplet Status Papan Kekunci
-Name[nb]=Miniprogram for tastaturstatus
-Name[nds]=Tastatuurstatus-Lüttprogramm
-Name[ne]=कुञ्जीपाटी वस्तुस्थिति एप्लेट
-Name[nl]=Toetsenbordstatus-applet
-Name[pa]=ਕੀ-ਬੋਰਡ ਸਥਿਤੀ ਐਪਲਿਟ
-Name[pl]=Aplet stanu klawiatury
-Name[pt]='Applet' de estado do teclado
-Name[pt_BR]=Mini-aplicativo de status do teclado
-Name[ru]=Аплет состояния клавиатуры
-Name[sk]=Applet Stav klávesnice
-Name[sl]=Vstavek za stanje tipkovnice
-Name[sr]=Аплет за статус тастатуре
-Name[sr@Latn]=Aplet za status tastature
-Name[sv]=Miniprogram för tangentbordsstatus
-Name[ta]=விசைப்பலகை நிலை குறுநிரல்
-Name[tg]=Апплети ҳолати радифи ҳарфҳо
-Name[th]=แอพเพล็ตสถานะแป้นพิมพ์
-Name[tr]=Klavye Durum Uygulaması
-Name[uk]=Аплет стану клавіатури
-Name[vi]=Tiểu dụng Trạng thái Bàn phím
-Name[zh_CN]=键盘状态小程序
-Name[zh_TW]=鍵盤狀態小程式
+
Comment=Panel applet that shows the state of the modifier keys
-Comment[bg]=Аплет за системния панел, които показва състоянието на клавишите модификатори
-Comment[bs]=Panel applet koji pokazuje stanje modifikatorskih tipaka
-Comment[ca]=Applet del plafó que mostra l'estat de les tecles modificadores
-Comment[cs]=Applet, který zobrazuje stav klávesnice
-Comment[da]=Panelprogram der viser tilstanden for ændringstaster
-Comment[de]=Ein Miniprogramm für die Kontrollleiste, das den Status der Sondertasten anzeigt
-Comment[el]=Μικροεφαρμογή του πίνακα που εμφανίζει την κατάσταση των πλήκτρων τροποποίησης
-Comment[es]=Aplicación integrada en el panel que muestra el estado de las teclas modificadoras
-Comment[et]=Paneeliaplett, mis näitab muuteklahvide olekut
-Comment[eu]=Panelaren applet-ak tekla aldatzaileen egoera erakusten du
-Comment[fa]=برنامک تابلو که وضعیت کلیدهای تغییردهنده را نمایش می‌دهد
-Comment[fi]=Muunnosnäppäinten tilan näyttävä paneelisovelma
-Comment[fr]=Applet du tableau de bord affichant l'état des touches de modifications
-Comment[ga]=Feidhmchláirín painéil a thaispeánann staid na n-eochracha mionathraithe
-Comment[gl]=Applet do painel que mostra o estado das teclas modificadoras
-Comment[hi]=फलक ऐप्लेट जो कि परिवर्धक कुंजियों की स्थिति दिखाता है
-Comment[hu]=Panel-kisalkalmazás a módosítóbillentyűk állapotának kiírásához
-Comment[is]=Spjaldforrit sem sýnir stöðu breytilykla
-Comment[it]=Applet del pannello che mostra lo stato dei tasti modificatori
-Comment[ja]=修飾キーの状態を表示するパネルアプレット
-Comment[ka]=პანელის აპლეტი, რომელიც მოდიფიკატორ კლავიშთა მდგომარეობას ასახავს
-Comment[km]=​អាប់ភ្លេត​បន្ទះ​ដែល​បង្ហាញ​ស្ថានភាព​របស់​គ្រាប់ចុច​កែប្រែ
-Comment[lt]=Pulto įskiepis rodantis klaviatūros modifikuojančiųjų klavišų būseną
-Comment[mk]=Аплет на панелот што ја покажува состојбата на копчињата за менување
-Comment[ms]=Panel aplet yang menayangkan keadaan kekunci pengubah suai
-Comment[nb]=Panel-miniprogram som viser tilstanden for valgtastene
-Comment[nds]=Paneel-Lüttprogramm, dat den Tostand vun de Sünnertasten wiest
-Comment[ne]=परिमार्जक कुञ्जीको वस्तुस्थिति देखाउने प्यानल ऐप्लेट
-Comment[nl]=Een paneelapplet dat de status van de modificatietoetsen weergeeft
-Comment[pa]=ਸੋਧਕ ਸਵਿੱਚਾਂ ਦੀ ਹਾਲਤ ਵੇਖਾਉਣ ਨਾਲ ਤੁਸੀਂ ਪੈਨਲ ਐਪਲਿਟ ਵੇਖ ਸਕਦੇ ਹੋ
-Comment[pl]=Apleta panelu, który pokazuje stan klawiszy modyfikujących
-Comment[pt]='Applet' do painel que mostra o estado das teclas modificadoras
-Comment[pt_BR]=Ícone de painel que mostra o estado das teclas modificadoras
-Comment[ru]=Аплет, показывающий состояния специальных клавиш
-Comment[sk]=Applet panelu, ktorý zobrazí stav modifikačných kláves
-Comment[sl]=Pultni vstavek, ki prikazuje stanje modifikatorskih tipk (modifikatorjev)
-Comment[sr]=Панелни аплет који приказује стање модификаторских тастера
-Comment[sr@Latn]=Panelni aplet koji prikazuje stanje modifikatorskih tastera
-Comment[sv]=Panelminiprogram som visar tillståndet hos väljartangenter
-Comment[ta]=மாற்றி விசைகளின் நிலையைக் காட்டும் ஒரு பலக குறுநிரல்
-Comment[tg]=Апплети нишонмедодаи ҳолати махсуси тугмаҳо
-Comment[th]=ถาดแอพเพล็ตสำหรับแสดงสถานะของปุ่มพิมพ์ร่วม
-Comment[tr]=Değiştirici tuş alanını gösteren bir panel eklentisi
-Comment[uk]=Аплет панелі, який показує стан клавіш-модифікаторів
-Comment[vi]=Tiểu dụng bảng điều khiển hiển thị trạng thái phím bổ trợ
-Comment[zh_CN]=显示修饰键状态的面板小程序
-Comment[zh_TW]=一個顯示鍵盤狀態的面板小程式
+
+Type=Plugin
Icon=key_enter
X-TDE-Library=kbstate_panelapplet
diff --git a/kmag/CMakeL10n.txt b/kmag/CMakeL10n.txt
index d95b69c..d0d3f9d 100644
--- a/kmag/CMakeL10n.txt
+++ b/kmag/CMakeL10n.txt
@@ -1,3 +1,9 @@
##### create translation templates ##############
tde_l10n_create_template( "kmag" )
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/kmag-desktops/"
+ SOURCES *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/kmag/CMakeLists.txt b/kmag/CMakeLists.txt
new file mode 100644
index 0000000..4203949
--- /dev/null
+++ b/kmag/CMakeLists.txt
@@ -0,0 +1,52 @@
+add_subdirectory( images )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${X11_INCLUDE_DIR}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kmag (executable)
+
+tde_add_executable( kmag AUTOMOC
+
+ SOURCES
+ kmagzoomview.cpp
+ kmagselrect.cpp
+ kmag.cpp
+ main.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ tdeprint-shared
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### icons
+
+tde_install_icons( kmag )
+
+
+##### other data
+
+install(
+ FILES kmagui.rc
+ DESTINATION ${DATA_INSTALL_DIR}/kmag
+)
+
+tde_create_translated_desktop(
+ SOURCE kmag.desktop
+ PO_DIR kmag-desktops
+)
diff --git a/kmag/Makefile.am b/kmag/Makefile.am
index 1ecf6db..678b69e 100644
--- a/kmag/Makefile.am
+++ b/kmag/Makefile.am
@@ -15,9 +15,6 @@ KDE_ICON = kmag
xdg_apps_DATA = kmag.desktop
-kmagiconsdir = $(kde_datadir)/kmag/icons
-kmagicons_ICON = followmouse hidemouse window
-
# set the include path for X, qt and KDE
INCLUDES= $(all_includes)
@@ -37,3 +34,4 @@ messages: rc.cpp
$(XGETTEXT) $$LIST -o $(podir)/kmag.pot; \
fi
+SUBDIRS = images
diff --git a/kmag/images/CMakeLists.txt b/kmag/images/CMakeLists.txt
new file mode 100644
index 0000000..b2c3d3f
--- /dev/null
+++ b/kmag/images/CMakeLists.txt
@@ -0,0 +1,3 @@
+##### icons
+
+tde_install_icons( DESTINATION ${DATA_INSTALL_DIR}/kmag/icons )
diff --git a/kmag/images/Makefile.am b/kmag/images/Makefile.am
new file mode 100644
index 0000000..336246b
--- /dev/null
+++ b/kmag/images/Makefile.am
@@ -0,0 +1,3 @@
+
+kmagiconsdir = $(kde_datadir)/kmag/icons
+kmagicons_ICON = followmouse hidemouse window
diff --git a/kmag/hi16-action-followmouse.png b/kmag/images/hi16-action-followmouse.png
index 1b690e8..1b690e8 100644
--- a/kmag/hi16-action-followmouse.png
+++ b/kmag/images/hi16-action-followmouse.png
Binary files differ
diff --git a/kmag/hi16-action-hidemouse.png b/kmag/images/hi16-action-hidemouse.png
index b792f7d..b792f7d 100644
--- a/kmag/hi16-action-hidemouse.png
+++ b/kmag/images/hi16-action-hidemouse.png
Binary files differ
diff --git a/kmag/hi16-action-window.png b/kmag/images/hi16-action-window.png
index 1563cca..1563cca 100644
--- a/kmag/hi16-action-window.png
+++ b/kmag/images/hi16-action-window.png
Binary files differ
diff --git a/kmag/kmag.cpp b/kmag/kmag.cpp
index 5195678..3c4fd66 100644
--- a/kmag/kmag.cpp
+++ b/kmag/kmag.cpp
@@ -126,92 +126,92 @@ KmagApp::~KmagApp()
void KmagApp::initActions()
{
- fileNewWindow = new TDEAction(i18n("New &Window"), "window-new", TDEStdAccel::openNew(), TQT_TQOBJECT(this),
- TQT_SLOT(slotFileNewWindow()), actionCollection(),"new_window");
+ fileNewWindow = new TDEAction(i18n("New &Window"), "window-new", TDEStdAccel::openNew(), this,
+ TQ_SLOT(slotFileNewWindow()), actionCollection(),"new_window");
fileNewWindow->setToolTip(i18n("Open a new KMagnifier window"));
- refreshSwitch = new TDEAction(i18n("&Stop"), "process-stop", TDEStdAccel::reload(), TQT_TQOBJECT(this),
- TQT_SLOT(slotToggleRefresh()), actionCollection(), "start_stop_refresh");
+ refreshSwitch = new TDEAction(i18n("&Stop"), "process-stop", TDEStdAccel::reload(), this,
+ TQ_SLOT(slotToggleRefresh()), actionCollection(), "start_stop_refresh");
refreshSwitch->setToolTip(i18n("Click to stop window refresh"));
refreshSwitch->setWhatsThis(i18n("Clicking on this icon will <b>start</b> / <b>stop</b>\
updating of the display. Stopping the update will zero the processing power\
required (CPU usage)"));
- m_pSnapshot = new TDEAction(i18n("&Save Snapshot As..."), "ksnapshot", TDEStdAccel::save(), TQT_TQOBJECT(this),
- TQT_SLOT(saveZoomPixmap()), actionCollection(),"snapshot");
+ m_pSnapshot = new TDEAction(i18n("&Save Snapshot As..."), "ksnapshot", TDEStdAccel::save(), this,
+ TQ_SLOT(saveZoomPixmap()), actionCollection(),"snapshot");
m_pSnapshot->setWhatsThis(i18n("Saves the zoomed view to an image file."));
m_pSnapshot->setToolTip(i18n("Save image to a file"));
- m_pPrint = KStdAction::print(TQT_TQOBJECT(this), TQT_SLOT(slotFilePrint()), actionCollection(), "print");
+ m_pPrint = KStdAction::print(this, TQ_SLOT(slotFilePrint()), actionCollection(), "print");
m_pPrint->setWhatsThis(i18n("Click on this button to print the current zoomed view."));
- m_pQuit = KStdAction::quit(TQT_TQOBJECT(this), TQT_SLOT(slotFileQuit()), actionCollection(), "quit");
+ m_pQuit = KStdAction::quit(this, TQ_SLOT(slotFileQuit()), actionCollection(), "quit");
m_pQuit->setStatusText(i18n("Quits the application"));
m_pQuit->setWhatsThis (i18n("Quits the application"));
- m_pCopy = KStdAction::copy(TQT_TQOBJECT(this), TQT_SLOT(copyToClipBoard()), actionCollection(), "copy");
+ m_pCopy = KStdAction::copy(this, TQ_SLOT(copyToClipBoard()), actionCollection(), "copy");
m_pCopy->setWhatsThis(i18n("Click on this button to copy the current zoomed view to the clipboard which you can paste in other applications."));
m_pCopy->setToolTip(i18n("Copy zoomed image to clipboard"));
- m_pShowMenu = new TDEToggleAction(i18n("Show &Menu"), "showmenu", CTRL+Key_M, TQT_TQOBJECT(this),
- TQT_SLOT(slotShowMenu()), actionCollection(),"show_menu");
+ m_pShowMenu = new TDEToggleAction(i18n("Show &Menu"), "showmenu", CTRL+Key_M, this,
+ TQ_SLOT(slotShowMenu()), actionCollection(),"show_menu");
#ifdef havesetCheckedState
m_pShowMenu->setCheckedState(i18n("Hide &Menu"));
#endif
- m_pShowMainToolBar = new TDEToggleAction(i18n("Show Main &Toolbar"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotShowMainToolBar()), actionCollection(),"show_mainToolBar");
+ m_pShowMainToolBar = new TDEToggleAction(i18n("Show Main &Toolbar"), 0, 0, this,
+ TQ_SLOT(slotShowMainToolBar()), actionCollection(),"show_mainToolBar");
#ifdef havesetCheckedState
m_pShowMainToolBar->setCheckedState(i18n("Hide Main &Toolbar"));
#endif
- m_pShowViewToolBar = new TDEToggleAction(i18n("Show &View Toolbar"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotShowViewToolBar()), actionCollection(),"show_viewToolBar");
+ m_pShowViewToolBar = new TDEToggleAction(i18n("Show &View Toolbar"), 0, 0, this,
+ TQ_SLOT(slotShowViewToolBar()), actionCollection(),"show_viewToolBar");
#ifdef havesetCheckedState
m_pShowViewToolBar->setCheckedState(i18n("Hide &View Toolbar"));
#endif
- m_pShowSettingsToolBar = new TDEToggleAction(i18n("Show &Settings Toolbar"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotShowSettingsToolBar()), actionCollection(),"show_settingsToolBar");
+ m_pShowSettingsToolBar = new TDEToggleAction(i18n("Show &Settings Toolbar"), 0, 0, this,
+ TQ_SLOT(slotShowSettingsToolBar()), actionCollection(),"show_settingsToolBar");
#ifdef havesetCheckedState
m_pShowSettingsToolBar->setCheckedState(i18n("Hide &Settings Toolbar"));
#endif
- m_modeFollowMouse = new TDERadioAction(i18n("&Follow Mouse Mode"), "followmouse", Key_F1, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeFollowMouse()), actionCollection(), "mode_followmouse");
+ m_modeFollowMouse = new TDERadioAction(i18n("&Follow Mouse Mode"), "followmouse", Key_F1, this,
+ TQ_SLOT(slotModeFollowMouse()), actionCollection(), "mode_followmouse");
m_modeFollowMouse->setToolTip(i18n("Magnify mouse area into window"));
m_modeFollowMouse->setWhatsThis(i18n("In this mode the area around the mouse cursor is shown in a normal window."));
- m_modeSelWin = new TDERadioAction(i18n("S&election Window Mode"), "window", Key_F2, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeSelWin()), actionCollection(), "mode_selectionwindow");
+ m_modeSelWin = new TDERadioAction(i18n("S&election Window Mode"), "window", Key_F2, this,
+ TQ_SLOT(slotModeSelWin()), actionCollection(), "mode_selectionwindow");
m_modeSelWin->setToolTip(i18n("Magnify selected area into window"));
m_modeSelWin->setWhatsThis(i18n("In this mode a selection window is opened. The selected area is shown in a normal window."));
- m_modeEdgeTop = new TDERadioAction(i18n("&Top Screen Edge Mode"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeEdgeTop()), actionCollection(),"mode_edgetop");
+ m_modeEdgeTop = new TDERadioAction(i18n("&Top Screen Edge Mode"), 0, 0, this,
+ TQ_SLOT(slotModeEdgeTop()), actionCollection(),"mode_edgetop");
m_modeEdgeTop->setToolTip(i18n("Magnify mouse area to top screen edge"));
m_modeEdgeTop->setWhatsThis(i18n("In this mode the area around the mouse is magnified to the top screen edge."));
- m_modeEdgeLeft = new TDERadioAction(i18n("&Left Screen Edge Mode"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeEdgeLeft()), actionCollection(),"mode_edgeleft");
+ m_modeEdgeLeft = new TDERadioAction(i18n("&Left Screen Edge Mode"), 0, 0, this,
+ TQ_SLOT(slotModeEdgeLeft()), actionCollection(),"mode_edgeleft");
m_modeEdgeLeft->setToolTip(i18n("Magnify mouse area to left screen edge"));
m_modeEdgeLeft->setWhatsThis(i18n("In this mode the area around the mouse is magnified to the left screen edge."));
- m_modeEdgeRight = new TDERadioAction(i18n("&Right Screen Edge Mode"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeEdgeRight()), actionCollection(),"mode_edgeright");
+ m_modeEdgeRight = new TDERadioAction(i18n("&Right Screen Edge Mode"), 0, 0, this,
+ TQ_SLOT(slotModeEdgeRight()), actionCollection(),"mode_edgeright");
m_modeEdgeRight->setToolTip(i18n("Magnify mouse area to right screen edge"));
m_modeEdgeRight->setWhatsThis(i18n("In this mode the area around the mouse is magnified to the right screen edge."));
- m_modeEdgeBottom = new TDERadioAction(i18n("&Bottom Screen Edge Mode"), 0, 0, TQT_TQOBJECT(this),
- TQT_SLOT(slotModeEdgeBottom()), actionCollection(),"mode_edgebottom");
+ m_modeEdgeBottom = new TDERadioAction(i18n("&Bottom Screen Edge Mode"), 0, 0, this,
+ TQ_SLOT(slotModeEdgeBottom()), actionCollection(),"mode_edgebottom");
m_modeEdgeBottom->setToolTip(i18n("Magnify mouse area to bottom screen edge"));
m_modeEdgeBottom->setWhatsThis(i18n("In this mode the area around the mouse is magnified to the bottom screen edge."));
- m_hideCursor = new TDEToggleAction(i18n("Hide Mouse &Cursor"), "hidemouse", Key_F4, TQT_TQOBJECT(this),
- TQT_SLOT(slotToggleHideCursor()), actionCollection(), "hidecursor");
+ m_hideCursor = new TDEToggleAction(i18n("Hide Mouse &Cursor"), "hidemouse", Key_F4, this,
+ TQ_SLOT(slotToggleHideCursor()), actionCollection(), "hidecursor");
#ifdef havesetCheckedState
m_hideCursor->setCheckedState(i18n("Show Mouse &Cursor"));
#endif
m_hideCursor->setToolTip(i18n("Hide the mouse cursor"));
- m_pZoomIn = KStdAction::zoomIn(TQT_TQOBJECT(this), TQT_SLOT(zoomIn()), actionCollection(), "zoom_in");
+ m_pZoomIn = KStdAction::zoomIn(this, TQ_SLOT(zoomIn()), actionCollection(), "zoom_in");
m_pZoomIn->setWhatsThis(i18n("Click on this button to <b>zoom-in</b> on the selected region."));
m_pZoomBox = new TDESelectAction(i18n("&Zoom"),0,actionCollection(),"zoom");
@@ -219,11 +219,11 @@ void KmagApp::initActions()
m_pZoomBox->setWhatsThis(i18n("Select the zoom factor."));
m_pZoomBox->setToolTip(i18n("Zoom factor"));
- m_pZoomOut = KStdAction::zoomOut(TQT_TQOBJECT(this), TQT_SLOT(zoomOut()), actionCollection(), "zoom_out");
+ m_pZoomOut = KStdAction::zoomOut(this, TQ_SLOT(zoomOut()), actionCollection(), "zoom_out");
m_pZoomOut->setWhatsThis(i18n("Click on this button to <b>zoom-out</b> on the selected region."));
- m_pInvert = new TDEToggleAction(i18n("&Invert Colors"), 0, Key_F6, TQT_TQOBJECT(this),
- TQT_SLOT(slotToggleInvert()), actionCollection(), "invert");
+ m_pInvert = new TDEToggleAction(i18n("&Invert Colors"), 0, Key_F6, this,
+ TQ_SLOT(slotToggleInvert()), actionCollection(), "invert");
m_pRotationBox = new TDESelectAction(i18n("&Rotation"),0,actionCollection(),"rotation");
m_pRotationBox->setItems(rotationArrayString);
@@ -232,8 +232,8 @@ void KmagApp::initActions()
// KHelpMenu *newHelpMenu = new KHelpMenu(this, TDEGlobal::instance()->aboutData());
- m_keyConf = KStdAction::keyBindings( TQT_TQOBJECT(this), TQT_SLOT( slotConfKeys() ), actionCollection(), "key_conf");
- m_toolConf = KStdAction::configureToolbars( TQT_TQOBJECT(this), TQT_SLOT( slotEditToolbars() ),
+ m_keyConf = KStdAction::keyBindings( this, TQ_SLOT( slotConfKeys() ), actionCollection(), "key_conf");
+ m_toolConf = KStdAction::configureToolbars( this, TQ_SLOT( slotEditToolbars() ),
actionCollection(), "toolbar_conf");
m_pFPSBox = new TDESelectAction(i18n("Re&fresh"),0,actionCollection(),"fps_selector");
@@ -260,21 +260,21 @@ void KmagApp::initView()
void KmagApp::initConnections()
{
// change in zoom value -> update the view
- connect(this, TQT_SIGNAL(updateZoomValue(float)), m_zoomView, TQT_SLOT(setZoom(float)));
- connect(this, TQT_SIGNAL(updateRotationValue(int)), m_zoomView, TQT_SLOT(setRotation(int)));
- connect(this, TQT_SIGNAL(updateFPSValue(float)), m_zoomView, TQT_SLOT(setRefreshRate(float)));
+ connect(this, TQ_SIGNAL(updateZoomValue(float)), m_zoomView, TQ_SLOT(setZoom(float)));
+ connect(this, TQ_SIGNAL(updateRotationValue(int)), m_zoomView, TQ_SLOT(setRotation(int)));
+ connect(this, TQ_SIGNAL(updateFPSValue(float)), m_zoomView, TQ_SLOT(setRefreshRate(float)));
// change in zoom index -> update the selector
- connect(this, TQT_SIGNAL(updateZoomIndex(int)), m_pZoomBox, TQT_SLOT(setCurrentItem(int)));
- connect(this, TQT_SIGNAL(updateRotationIndex(int)), m_pRotationBox, TQT_SLOT(setCurrentItem(int)));
- connect(this, TQT_SIGNAL(updateFPSIndex(int)), m_pFPSBox, TQT_SLOT(setCurrentItem(int)));
+ connect(this, TQ_SIGNAL(updateZoomIndex(int)), m_pZoomBox, TQ_SLOT(setCurrentItem(int)));
+ connect(this, TQ_SIGNAL(updateRotationIndex(int)), m_pRotationBox, TQ_SLOT(setCurrentItem(int)));
+ connect(this, TQ_SIGNAL(updateFPSIndex(int)), m_pFPSBox, TQ_SLOT(setCurrentItem(int)));
// selector selects a zoom index -> set the zoom index
- connect(m_pZoomBox, TQT_SIGNAL(activated(int)), TQT_TQOBJECT(this), TQT_SLOT(setZoomIndex(int)));
- connect(m_pRotationBox, TQT_SIGNAL(activated(int)), TQT_TQOBJECT(this), TQT_SLOT(setRotationIndex(int)));
- connect(m_pFPSBox, TQT_SIGNAL(activated(int)), TQT_TQOBJECT(this), TQT_SLOT(setFPSIndex(int)));
+ connect(m_pZoomBox, TQ_SIGNAL(activated(int)), this, TQ_SLOT(setZoomIndex(int)));
+ connect(m_pRotationBox, TQ_SIGNAL(activated(int)), this, TQ_SLOT(setRotationIndex(int)));
+ connect(m_pFPSBox, TQ_SIGNAL(activated(int)), this, TQ_SLOT(setFPSIndex(int)));
- connect(m_zoomView, TQT_SIGNAL(contextMenu(TQPoint)), TQT_TQOBJECT(this), TQT_SLOT(contextMenu(TQPoint)));
+ connect(m_zoomView, TQ_SIGNAL(contextMenu(TQPoint)), this, TQ_SLOT(contextMenu(TQPoint)));
}
/**
@@ -419,7 +419,7 @@ bool KmagApp::queryExit()
/////////////////////////////////////////////////////////////////////
-// TQT_SLOT IMPLEMENTATION
+// SLOT IMPLEMENTATION
/////////////////////////////////////////////////////////////////////
/**
@@ -935,7 +935,7 @@ void KmagApp::slotEditToolbars()
{
saveMainWindowSettings( TDEGlobal::config(), "MainWindow" );
KEditToolbar dlg( actionCollection() );
- connect( &dlg, TQT_SIGNAL( newToolbarConfig() ), TQT_TQOBJECT(this), TQT_SLOT( slotNewToolbarConfig() ) );
+ connect( &dlg, TQ_SIGNAL( newToolbarConfig() ), this, TQ_SLOT( slotNewToolbarConfig() ) );
if ( dlg.exec() )
createGUI();
}
diff --git a/kmag/kmag.desktop b/kmag/kmag.desktop
index 16621a6..a65ceac 100644
--- a/kmag/kmag.desktop
+++ b/kmag/kmag.desktop
@@ -1,75 +1,13 @@
[Desktop Entry]
+Name=KMag
+
+GenericName=Screen Magnifier
+
+Comment=Tool to zoom screen areas
+
Type=Application
Exec=kmag -caption "%c" %i %m
Icon=kmag
-X-DocPath=kmag/index.html
-Comment=
-Comment[ro]=Un utilitar de mărit zone ale ecranului
Terminal=false
-Name=KMag
-Name[el]=K μεγεθυντικός φακός
-Name[ne]=केडीई म्याग
-Name[sk]=KLupa
-Name[sv]=Kmag
-Name[tg]=KMag
-Name[th]=แว่นขยาย - K
-Name[tr]=Kmag
-Name[vi]=Kính lúp K
-Name[zh_TW]=K-放大鏡
-GenericName=Screen Magnifier
-GenericName[ar]=مكبَر الشاشة
-GenericName[bg]=Лупа за екрана
-GenericName[bs]=Povećalo za ekran
-GenericName[ca]=Lupa de la pantalla
-GenericName[cs]=Lupa obrazovky
-GenericName[cy]=KChwyddwr
-GenericName[da]=Skærmforstørrer
-GenericName[de]=Bildschirmlupe
-GenericName[el]=Μεγεθυντικός φακός οθόνης
-GenericName[eo]=Ekrano-pligrandigilo
-GenericName[es]=Aumenta la pantalla
-GenericName[et]=Ekraani suurendaja
-GenericName[eu]=Pantailaren lupa
-GenericName[fa]=درشت‌نمای پرده
-GenericName[fi]=Suurennuslasi
-GenericName[fr]=Loupe d'écran
-GenericName[ga]=Formhéadaitheoir Scáileáin
-GenericName[gl]=Ampliación da pantalla
-GenericName[he]=זכוכית מגדלת
-GenericName[hi]=स्क्रीन का आकार बढ़ाने वाला
-GenericName[hu]=Nagyító
-GenericName[is]=Skjástækkunargler
-GenericName[it]=Lente di ingrandimento per lo schermo
-GenericName[ja]=画面拡大鏡
-GenericName[ka]=ეკრანის გამდიდებელი
-GenericName[km]= កម្មវិធី​ពង្រីក​អេក្រង់​
-GenericName[lt]=Ekrano didintojas
-GenericName[mk]=Зголемувач за екранот
-GenericName[ms]=Pembesar Skrin
-GenericName[nb]=Skjermforstørrer
-GenericName[nds]=Schirmluup
-GenericName[ne]=पर्दा अभिवर्धक
-GenericName[nl]=Schermvergroter
-GenericName[nn]=Skjermforstørrar
-GenericName[pa]=ਪਰਦਾ ਵੱਡਦਰਸ਼ੀ
-GenericName[pl]=Powiększanie fragmentów ekranu
-GenericName[pt]=Lupa
-GenericName[pt_BR]=Amplificador de Tela
-GenericName[ro]=Lupă de ecran
-GenericName[ru]=Экранная лупа
-GenericName[sk]=Lupa obrazovky
-GenericName[sl]=Povečevalnik zaslona
-GenericName[sr]=Екрански увеличавач
-GenericName[sr@Latn]=Ekranski uveličavač
-GenericName[sv]=Förstoringsglas
-GenericName[ta]=திரை பெரிதாக்கி
-GenericName[tg]=Калон кардани экран
-GenericName[th]=แว่นขยายหน้าจอ
-GenericName[tr]=Ekran Büyüteci
-GenericName[uk]=Збільшувач екрана
-GenericName[uz]=Ekranni kattalashtiruvchi
-GenericName[uz@cyrillic]=Экранни катталаштирувчи
-GenericName[vi]=Kính lúp Màn hình
-GenericName[zh_CN]=屏幕放大镜
-GenericName[zh_TW]=螢幕放大鏡
+X-DocPath=kmag/index.html
Categories=Qt;TDE;Utility;Accessibility;
diff --git a/kmag/kmag.h b/kmag/kmag.h
index 10a85a1..e3288aa 100644
--- a/kmag/kmag.h
+++ b/kmag/kmag.h
@@ -21,9 +21,8 @@
#ifndef KMAG_H
#define KMAG_H
-
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
#endif
#include "kmagzoomview.h"
@@ -56,7 +55,7 @@
*/
class KmagApp : public TDEMainWindow
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kmag/kmagselrect.cpp b/kmag/kmagselrect.cpp
index ba49fe3..997327b 100644
--- a/kmag/kmagselrect.cpp
+++ b/kmag/kmagselrect.cpp
@@ -162,7 +162,7 @@ void KMagSelRect::show()
{
if (selectionwindow == 0) {
selectionwindow = new KMagSelWin (selWindowParent, "selectionwindow");
- connect (selectionwindow, TQT_SIGNAL (resized ()), this, TQT_SLOT (selWinResized ()));
+ connect (selectionwindow, TQ_SIGNAL (resized ()), this, TQ_SLOT (selWinResized ()));
update();
selectionwindow->show();
@@ -226,32 +226,32 @@ KMagSelWin::KMagSelWin ( TQWidget * parent, const char * name, WFlags ) :
titleBar->setPaletteBackgroundColor (getTitleColor ());
titleBar->setPaletteForegroundColor (getTextColor ());
titleBar->setText(i18n("Selection Window")+" - "+i18n("KMagnifier"));
- connect (titleBar, TQT_SIGNAL (startResizing ()), this, TQT_SLOT (startResizing ()));
- connect (titleBar, TQT_SIGNAL (resized (TQPoint)), this, TQT_SLOT (titleMoved (TQPoint)));
+ connect (titleBar, TQ_SIGNAL (startResizing ()), this, TQ_SLOT (startResizing ()));
+ connect (titleBar, TQ_SIGNAL (resized (TQPoint)), this, TQ_SLOT (titleMoved (TQPoint)));
topLeftCorner = new KMagSelWinCorner (this, "topleft");
topLeftCorner->setCursor (TQt::SizeFDiagCursor);
topLeftCorner->setPaletteBackgroundColor (getTitleBtnColor ());
- connect (topLeftCorner, TQT_SIGNAL (startResizing ()), this, TQT_SLOT (startResizing ()));
- connect (topLeftCorner, TQT_SIGNAL (resized (TQPoint)), this, TQT_SLOT (topLeftResized (TQPoint)));
+ connect (topLeftCorner, TQ_SIGNAL (startResizing ()), this, TQ_SLOT (startResizing ()));
+ connect (topLeftCorner, TQ_SIGNAL (resized (TQPoint)), this, TQ_SLOT (topLeftResized (TQPoint)));
topRightCorner = new KMagSelWinCorner (this, "topright");
topRightCorner->setCursor (TQt::SizeBDiagCursor);
topRightCorner->setPaletteBackgroundColor (getTitleBtnColor ());
- connect (topRightCorner, TQT_SIGNAL (startResizing ()), this, TQT_SLOT (startResizing ()));
- connect (topRightCorner, TQT_SIGNAL (resized (TQPoint)), this, TQT_SLOT (topRightResized (TQPoint)));
+ connect (topRightCorner, TQ_SIGNAL (startResizing ()), this, TQ_SLOT (startResizing ()));
+ connect (topRightCorner, TQ_SIGNAL (resized (TQPoint)), this, TQ_SLOT (topRightResized (TQPoint)));
bottomLeftCorner = new KMagSelWinCorner (this, "bottomleft");
bottomLeftCorner->setCursor (TQt::SizeBDiagCursor);
bottomLeftCorner->setPaletteBackgroundColor (getTitleBtnColor ());
- connect (bottomLeftCorner, TQT_SIGNAL (startResizing ()), this, TQT_SLOT (startResizing ()));
- connect (bottomLeftCorner, TQT_SIGNAL (resized (TQPoint)), this, TQT_SLOT (bottomLeftResized (TQPoint)));
+ connect (bottomLeftCorner, TQ_SIGNAL (startResizing ()), this, TQ_SLOT (startResizing ()));
+ connect (bottomLeftCorner, TQ_SIGNAL (resized (TQPoint)), this, TQ_SLOT (bottomLeftResized (TQPoint)));
bottomRightCorner = new KMagSelWinCorner (this, "bottomright");
bottomRightCorner->setCursor (TQt::SizeFDiagCursor);
bottomRightCorner->setPaletteBackgroundColor (getTitleBtnColor ());
- connect (bottomRightCorner, TQT_SIGNAL (startResizing ()), this, TQT_SLOT (startResizing ()));
- connect (bottomRightCorner, TQT_SIGNAL (resized (TQPoint)), this, TQT_SLOT (bottomRightResized (TQPoint)));
+ connect (bottomRightCorner, TQ_SIGNAL (startResizing ()), this, TQ_SLOT (startResizing ()));
+ connect (bottomRightCorner, TQ_SIGNAL (resized (TQPoint)), this, TQ_SLOT (bottomRightResized (TQPoint)));
}
KMagSelWin::~KMagSelWin()
diff --git a/kmag/kmagselrect.h b/kmag/kmagselrect.h
index 67c43cb..5da665f 100644
--- a/kmag/kmagselrect.h
+++ b/kmag/kmagselrect.h
@@ -29,7 +29,7 @@
class KMagSelWinCorner : public TQLabel
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -54,7 +54,7 @@ protected:
class KMagSelWin : public TQWidget
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -99,7 +99,7 @@ protected:
*/
class KMagSelRect : public TQObject, public TQRect
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kmag/kmagzoomview.cpp b/kmag/kmagzoomview.cpp
index 644e91a..b9531e2 100644
--- a/kmag/kmagzoomview.cpp
+++ b/kmag/kmagzoomview.cpp
@@ -136,7 +136,7 @@ KMagZoomView::KMagZoomView(TQWidget *parent, const char *name)
TDEApplication::setGlobalMouseTracking(TRUE);
viewport()->setMouseTracking(TRUE);
viewport()->setBackgroundMode (NoBackground);
- viewport()->setFocusPolicy(TQ_StrongFocus);
+ viewport()->setFocusPolicy(TQWidget::StrongFocus);
m_ctrlKeyPressed = false;
m_shiftKeyPressed = false;
@@ -147,12 +147,12 @@ KMagZoomView::KMagZoomView(TQWidget *parent, const char *name)
setRefreshRate(10);
// connect it to grabFrame()
- connect(&m_grabTimer, TQT_SIGNAL(timeout()), TQT_SLOT(grabFrame()));
+ connect(&m_grabTimer, TQ_SIGNAL(timeout()), TQ_SLOT(grabFrame()));
// start the grabTimer
m_grabTimer.start(static_cast<int>(1000.0/m_fps));
// connect it to updateMouseView()
- connect(&m_mouseViewTimer, TQT_SIGNAL(timeout()), TQT_SLOT(updateMouseView()));
+ connect(&m_mouseViewTimer, TQ_SIGNAL(timeout()), TQ_SLOT(updateMouseView()));
// start the grabTimer @ 25 frames per second!
m_mouseViewTimer.start(25);
@@ -246,7 +246,7 @@ void KMagZoomView::drawContents ( TQPainter * p, int clipx, int clipy, int clipw
// show the pixel under mouse cursor
if(m_showMouse) {
// paint the mouse cursor
- paintMouseCursor(TQT_TQPAINTDEVICE(&clippedPixmap), calcMousePos (m_refreshSwitch)-TQPoint (areaToPaint.x(), areaToPaint.y()));
+ paintMouseCursor(&clippedPixmap, calcMousePos (m_refreshSwitch)-TQPoint (areaToPaint.x(), areaToPaint.y()));
}
TQPixmap zoomedPixmap;
@@ -370,7 +370,7 @@ TQPoint KMagZoomView::calcMousePos(bool updateMousePos)
void KMagZoomView::mousePressEvent(TQMouseEvent *e)
{
switch(e->button()) {
- case Qt::LeftButton :
+ case TQt::LeftButton :
if(m_ctrlKeyPressed) {
// check if currently in resize mode
// don't do anything if fitToWindow is enabled
@@ -443,7 +443,7 @@ void KMagZoomView::mousePressEvent(TQMouseEvent *e)
}
break;
- case Qt::MidButton :
+ case TQt::MidButton :
// check if currently in move mode
// don't do anything if follow mouse is enabled
if ((m_mouseMode != MoveSelection) && !m_followMouse) {
@@ -484,8 +484,8 @@ void KMagZoomView::mousePressEvent(TQMouseEvent *e)
void KMagZoomView::mouseReleaseEvent(TQMouseEvent *e)
{
switch(e->button()) {
- case Qt::LeftButton :
- case Qt::MidButton :
+ case TQt::LeftButton :
+ case TQt::MidButton :
// check if currently in move mode
if(m_mouseMode == MoveSelection) {
// hide the selection window
@@ -521,9 +521,9 @@ void KMagZoomView::mouseReleaseEvent(TQMouseEvent *e)
}
break;
- case Qt::RightButton :
+ case TQt::RightButton :
break;
- case Qt::NoButton :
+ case TQt::NoButton :
break;
// do nothing
@@ -889,7 +889,7 @@ TQPixmap KMagZoomView::getPixmap()
TQPixmap mousePixmap(m_grabbedPixmap);
// paint the mouse cursor w/o updating to a newer position
- paintMouseCursor(TQT_TQPAINTDEVICE(&mousePixmap), calcMousePos(false));
+ paintMouseCursor(&mousePixmap, calcMousePos(false));
return(mousePixmap);
} else { // no mouse cursor
diff --git a/kmag/kmagzoomview.h b/kmag/kmagzoomview.h
index 1208d18..960c422 100644
--- a/kmag/kmagzoomview.h
+++ b/kmag/kmagzoomview.h
@@ -21,7 +21,7 @@
#define KMagZoomView_h_
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
#endif
// include files for TQt
@@ -45,7 +45,7 @@
*/
class KMagZoomView : public TQScrollView
{
- Q_OBJECT
+ TQ_OBJECT
public:
/// Constructor for the main view
diff --git a/kmousetool/CMakeLists.txt b/kmousetool/CMakeLists.txt
new file mode 100644
index 0000000..00e90e5
--- /dev/null
+++ b/kmousetool/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+add_subdirectory( kmousetool )
diff --git a/kmousetool/kmousetool/CMakeL10n.txt b/kmousetool/kmousetool/CMakeL10n.txt
index f6aa453..22175ca 100644
--- a/kmousetool/kmousetool/CMakeL10n.txt
+++ b/kmousetool/kmousetool/CMakeL10n.txt
@@ -1,3 +1,9 @@
##### create translation templates ##############
tde_l10n_create_template( "kmousetool" )
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/kmousetool-desktops/"
+ SOURCES *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/kmousetool/kmousetool/CMakeLists.txt b/kmousetool/kmousetool/CMakeLists.txt
new file mode 100644
index 0000000..1b3ca41
--- /dev/null
+++ b/kmousetool/kmousetool/CMakeLists.txt
@@ -0,0 +1,50 @@
+add_subdirectory( pics )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${X11_INCLUDE_DIR}
+ ${X11_XTest_INCLUDE_PATH}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kmousetool (executable)
+
+tde_add_executable( kmousetool AUTOMOC
+
+ SOURCES
+ kmousetoolui.ui
+ mtstroke.cpp
+ kmousetool.cpp
+ main.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ ${X11_LIBRARIES}
+ ${X11_XTest_LIB}
+ ${X11_Xext_LIB}
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kmousetool.desktop
+ PO_DIR kmousetool-desktops
+)
+
+install(
+ FILES mousetool_tap.wav
+ DESTINATION ${DATA_INSTALL_DIR}/kmousetool/sounds
+)
diff --git a/kmousetool/kmousetool/kmousetool.cpp b/kmousetool/kmousetool/kmousetool.cpp
index 0dff42e..728ffaf 100644
--- a/kmousetool/kmousetool/kmousetool.cpp
+++ b/kmousetool/kmousetool/kmousetool.cpp
@@ -147,7 +147,7 @@ void KMouseTool::timerEvent( TQTimerEvent * )
return;
if (!continue_timer) {
- TQT_TQOBJECT(this)->killTimers();
+ this->killTimers();
return;
}
@@ -255,28 +255,28 @@ KMouseTool::KMouseTool(TQWidget *parent, const char *name) : KMouseToolUI(parent
init_vars();
resetSettings();
- connect(movementEdit, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(dwellTimeEdit, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(dragTimeEdit, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(cbDrag, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(cbStroke, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(cbClick, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(settingsChanged()));
- connect(cbStart, TQT_SIGNAL(stateChanged(int)), this, TQT_SLOT(settingsChanged()));
+ connect(movementEdit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(dwellTimeEdit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(dragTimeEdit, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(cbDrag, TQ_SIGNAL(stateChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(cbStroke, TQ_SIGNAL(stateChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(cbClick, TQ_SIGNAL(stateChanged(int)), this, TQ_SLOT(settingsChanged()));
+ connect(cbStart, TQ_SIGNAL(stateChanged(int)), this, TQ_SLOT(settingsChanged()));
- connect(buttonStartStop, TQT_SIGNAL(clicked()), this, TQT_SLOT(startStopSelected()));
+ connect(buttonStartStop, TQ_SIGNAL(clicked()), this, TQ_SLOT(startStopSelected()));
buttonDefault->setGuiItem(KStdGuiItem::defaults());
- connect(buttonDefault, TQT_SIGNAL(clicked()), this, TQT_SLOT(defaultSelected()));
- connect(buttonReset, TQT_SIGNAL(clicked()), this, TQT_SLOT(resetSelected()));
+ connect(buttonDefault, TQ_SIGNAL(clicked()), this, TQ_SLOT(defaultSelected()));
+ connect(buttonReset, TQ_SIGNAL(clicked()), this, TQ_SLOT(resetSelected()));
buttonApply->setGuiItem(KStdGuiItem::apply());
- connect(buttonApply, TQT_SIGNAL(clicked()), this, TQT_SLOT(applySelected()));
+ connect(buttonApply, TQ_SIGNAL(clicked()), this, TQ_SLOT(applySelected()));
buttonHelp->setGuiItem(KStdGuiItem::help());
- connect(buttonHelp, TQT_SIGNAL(clicked()), this, TQT_SLOT(helpSelected()));
+ connect(buttonHelp, TQ_SIGNAL(clicked()), this, TQ_SLOT(helpSelected()));
buttonClose->setGuiItem(KStdGuiItem::close());
- connect(buttonClose, TQT_SIGNAL(clicked()), this, TQT_SLOT(closeSelected()));
+ connect(buttonClose, TQ_SIGNAL(clicked()), this, TQ_SLOT(closeSelected()));
#if TDE_VERSION >= TDE_MAKE_VERSION (3,1,90)
buttonQuit->setGuiItem(KStdGuiItem::quit());
#endif // KDE 3.2
- connect(buttonQuit, TQT_SIGNAL(clicked()), this, TQT_SLOT(quitSelected()));
+ connect(buttonQuit, TQ_SIGNAL(clicked()), this, TQ_SLOT(quitSelected()));
// When we first start, it's nice to not click immediately.
// So, tell MT we're just starting
@@ -285,11 +285,11 @@ KMouseTool::KMouseTool(TQWidget *parent, const char *name) : KMouseToolUI(parent
startTimer(100);
trayIcon = new KMouseToolTray (this, "systemTrayIcon");
updateStartStopText ();
- connect(trayIcon, TQT_SIGNAL(startStopSelected()), this, TQT_SLOT(startStopSelected()));
- connect(trayIcon, TQT_SIGNAL(configureSelected()), this, TQT_SLOT(configureSelected()));
- connect(trayIcon, TQT_SIGNAL(aboutSelected()), this, TQT_SLOT(aboutSelected()));
- connect(trayIcon, TQT_SIGNAL(helpSelected()), this, TQT_SLOT(helpSelected()));
- connect(trayIcon, TQT_SIGNAL(quitSelected()), this, TQT_SLOT(quitSelected()));
+ connect(trayIcon, TQ_SIGNAL(startStopSelected()), this, TQ_SLOT(startStopSelected()));
+ connect(trayIcon, TQ_SIGNAL(configureSelected()), this, TQ_SLOT(configureSelected()));
+ connect(trayIcon, TQ_SIGNAL(aboutSelected()), this, TQ_SLOT(aboutSelected()));
+ connect(trayIcon, TQ_SIGNAL(helpSelected()), this, TQ_SLOT(helpSelected()));
+ connect(trayIcon, TQ_SIGNAL(quitSelected()), this, TQ_SLOT(quitSelected()));
aboutDlg = new TDEAboutApplication (0, "KMouseToolDlg", false);
}
@@ -610,15 +610,15 @@ void KMouseTool::aboutSelected()
KMouseToolTray::KMouseToolTray (TQWidget *parent, const char *name) : KSystemTray (parent, name)
{
- startStopId = contextMenu()->insertItem (i18n("&Start"), this, TQT_SIGNAL(startStopSelected()));
+ startStopId = contextMenu()->insertItem (i18n("&Start"), this, TQ_SIGNAL(startStopSelected()));
contextMenu()->insertSeparator();
contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("configure", TDEIcon::Small),
- i18n("&Configure KMouseTool..."), this, TQT_SIGNAL(configureSelected()));
+ i18n("&Configure KMouseTool..."), this, TQ_SIGNAL(configureSelected()));
contextMenu()->insertSeparator();
contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("contents", TDEIcon::Small),
- i18n("KMousetool &Handbook"), this, TQT_SIGNAL(helpSelected()));
+ i18n("KMousetool &Handbook"), this, TQ_SIGNAL(helpSelected()));
contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("kmousetool", TDEIcon::Small),
- i18n("&About KMouseTool"), this, TQT_SIGNAL(aboutSelected()));
+ i18n("&About KMouseTool"), this, TQ_SIGNAL(aboutSelected()));
}
KMouseToolTray::~KMouseToolTray() {
diff --git a/kmousetool/kmousetool/kmousetool.desktop b/kmousetool/kmousetool/kmousetool.desktop
index 72c0556..e803894 100644
--- a/kmousetool/kmousetool/kmousetool.desktop
+++ b/kmousetool/kmousetool/kmousetool.desktop
@@ -1,137 +1,13 @@
[Desktop Entry]
+Name=KMouseTool
+
+GenericName=Automatic Mouse Click
+
+Comment=Clicks the mouse for you, reducing the effects of RSI
+
Type=Application
Exec=kmousetool -caption "%c" %i %m
Icon=kmousetool
-X-DocPath=kmousetool/index.html
-Comment=Clicks the mouse for you, reducing the effects of RSI
-Comment[ar]=ينقر على الفأرة بدلا منك، مُخَفِّفاً عنك آلام RSI
-Comment[bg]=Автоматично щракване с бутона на мишката
-Comment[bs]=Klika mišem za vas, smanjujući efekte RSI-ja
-Comment[ca]=Fa els clics del ratolí­, reduint els efectes del RSI (índex de força relativa)
-Comment[cs]=Kliká za vás myší, omezuje tak efekt RSI
-Comment[cy]=Clicio'r llygoden i chi, wrth esmwytho effeithiau RSI
-Comment[da]=Klikker på musen for dig, reducerer virkningen af RSI-smerte
-Comment[de]=Führt Mausklicks für Sie aus
-Comment[el]=Ενεργεί τα κλικ του ποντικιού για σας, μειώνοντας τις επιδράσεις των τραυμάτων από τη συνεχή επανάληψη (RSI)
-Comment[eo]=Klakas la muson por vi, tio reduktas la efekton de RSI
-Comment[es]=Pulsa los botones del ratón por usted, reduciendo los efectos de RSI
-Comment[et]=Klõpsab hiirt sinu eest, vähendades võimalike lihasevalude ohtu
-Comment[eu]=Sagua zure ordez klikatzen du, RSI-aren efektuak gutxitzeko
-Comment[fa]=موشی را برایتان فشار می‌دهد، اثرات RSI را کاهش می‌دهد
-Comment[fi]=Napsauttaa hiirtä puolestasi rannevammojen ehkäisemiseksi
-Comment[fr]=Clique sur la souris à votre place, limitant les douleurs liées aux TMS
-Comment[ga]=Cliceálann seo an luch duit, chun tionchar gortú athstraidhneála a laghdú
-Comment[gl]=Preme o rato por ti, reducindo os efeitos da RSI
-Comment[he]=לוחץ על העכבר עבורך, ובכך מקל על פרק היד
-Comment[hi]=आपके लिए माउस क्लिक करता है, बार-बार क्लिक के कारण ऊंगलियों में होने वाली क्षति को कम करता है
-Comment[hu]=Automatikus egérkattintás (RSI-szindrómában szenvedőknek)
-Comment[is]=Smellir músarhnöppunum fyrir þig og dregur úr áhrifum RSI
-Comment[it]=Fa clic sul mouse al posto tuo, riducendo gli effetti della RSI
-Comment[ja]=RSI (反復運動過多損傷) を防ぐために、あなたの代わりにマウスをクリック
-Comment[ka]=დაწკაპავს თაგუნას თქვენს მაგივრად, ამცირებს RSI ეფექტებს
-Comment[km]=ចុច​កណ្ដុរ​ឲ្យ​អ្នក ដែល​កាត់​បន្ថយ​បែបផែន​របស់ RSI
-Comment[lt]=Nuspaudžia pelės klavišą, sumažindamas skausmo sindromą
-Comment[ms]=Mengklik tetikus untuk anda, mengurangkan kesan RSI
-Comment[mt]=Jikklikkjalek il-maws, biex tevita wġigħ RSI
-Comment[nb]=Trykker museknappen for deg, gir mindre musesyke
-Comment[nds]=Klickt de Muus för Di, minnert de Effekten vun RSI af
-Comment[ne]=तपाईँका लागि RSI को प्रभाव घटाएर माउस क्लिक गर्छ
-Comment[nl]=Klikt de muisknop voor u, vermindert de effecten van RSI
-Comment[nn]=Klikkar med musa for deg, for å hindra belastningsskadar
-Comment[pa]=ਮਾਊਸ ਨੂੰ ਦਬਾਉਣ ਨਾਲ ਤੁਹਾਡੇ ਲਈ RSI ਪਰਭਾਵ ਘੱਟ ਜਾਵੇਗਾ
-Comment[pl]=Klika za Ciebie myszą, ograniczając nadwyrężanie mięśni
-Comment[pt]=Carrega no rato por si, aliviando dores motivadas por RSI
-Comment[pt_BR]= Clica o mouse para você, facilitando a dificuldade do RSI
-Comment[ro]=Execută clicuri pentru dumneavoastră, reducînd oboseala mîinii
-Comment[ru]=Утилита управления мышью для облегчения болевых синдромов
-Comment[sk]=Kliká za vás myšou, uľahčuje bolesti RSI
-Comment[sl]=Za vas klika miško, da vam olajša bolečine v zapestju
-Comment[sr]=Кликће мишем за вас, умањујући вам болове у зглобу
-Comment[sr@Latn]=Klikće mišem za vas, umanjujući vam bolove u zglobu
-Comment[sv]=Klickar musen åt dig, för att mildra smärta från musarm
-Comment[ta]=Clicks the mouse for you, reducing the effects of RSI RSI
-Comment[tg]=Зер кардани муш барои шумо, бо камшавии таъсирҳои RSI
-Comment[th]=คลิ้กเม้าส์สำหรับคุณเพื่อลดความเสียงต่อการเป็นโรค RSI
-Comment[tr]=RSI özelliklerini azaltarak sizin için fareyi tıklar
-Comment[uk]=Клацає мишкою для вас для полегшення відчуття болі в зап'ясті
-Comment[vi]=Ấn chuột giúp bạn, giảm tác động của RSI
-Comment[zh_CN]=为您点击鼠标,减轻肢体重复性劳损(RSI)效应
-Comment[zh_TW]=為您點擊滑鼠, 減少重複施緊傷害(RSI)的影響
Terminal=false
-Name=KMouseTool
-Name[cy]=KErfynLlygoden
-Name[eo]=Kmusilo
-Name[hi]=के-माउस टूल
-Name[km]= KMouseTool
-Name[ne]=केडीई माउस उपकरण
-Name[pa]=ਕੇ ਮਾਊਸ ਸੰਦ
-Name[ro]=Utilitar mouse
-Name[sv]=Kmousetool
-Name[ta]=கே சுட்டிக்கருவி
-Name[tg]=Асбоби КМуш
-Name[th]=ปรับแต่งเม้าส์ - K
-Name[tr]=Kmousetool
-Name[uz]=Sichqoncha vositasi
-Name[uz@cyrillic]=Сичқонча воситаси
-Name[vi]=Công cụ Chuột TDE
-Name[zh_CN]=K 鼠标工具
-Name[zh_TW]=K-滑鼠工具
-GenericName=Automatic Mouse Click
-GenericName[ar]=نقر الفأرة التلقائي
-GenericName[bg]=Инструмент за мишката
-GenericName[bs]=Automatsko klikanje mišem
-GenericName[ca]=Clic automàtic del ratolí
-GenericName[cs]=Automatické klikání myší
-GenericName[cy]=Clic Llygoden Ymysgogol
-GenericName[da]=Automatisk museklik
-GenericName[de]=Automatische Mausklicks
-GenericName[el]=Αυτόματο κλικ ποντικιού
-GenericName[eo]=Aŭtomata Musklako
-GenericName[es]=Pulsación automática del ratón
-GenericName[et]=Hiire automaatne klõpsaja
-GenericName[eu]=Saguaren klik automatikoak
-GenericName[fa]=فشار خودکار موشی
-GenericName[fi]=Automaattinen hiirennapsautus
-GenericName[fr]=Clic de souris automatique
-GenericName[ga]=Cliceáil uathoibríoch luiche
-GenericName[gl]=Preme o rato automaticamente
-GenericName[he]=לחיצת עכבר אוטומטית
-GenericName[hi]=स्वचालित माउस क्लिक
-GenericName[hu]=Automatikus kattintás
-GenericName[is]=Sjálfvirkur músahnappasmellir
-GenericName[it]=Clic automatico del mouse
-GenericName[ja]=自動マウスクリック
-GenericName[ka]=თაგუნას ავტომატური წკაპი
-GenericName[km]= ចុចកណ្តុរ​ដោយ​ស្វ័យប្រវត្តិ
-GenericName[lt]=Automatiniai pelės paspaudimai
-GenericName[mk]=Автоматско кликнување на глушецот
-GenericName[ms]=Klik Tetikus Automatik
-GenericName[mt]=Klikk tal-Maws Awtomatiku
-GenericName[nb]=Automatisk museklikk
-GenericName[nds]=Automaatsche Muusklicks
-GenericName[ne]=स्वचालित माउस क्लिक
-GenericName[nl]=Automatische muisklik
-GenericName[nn]=Automatisk museklikk
-GenericName[pa]=ਐਟੋਮੈਟਿਕ ਮਾਊਸ ਕਲਿੱਕ
-GenericName[pl]=Automatyczne klikanie myszą
-GenericName[pt]=Carregar no Rato
-GenericName[pt_BR]=Clique Automático do Mouse
-GenericName[ro]=Clic automat de mouse
-GenericName[ru]=Автощелчок мышью
-GenericName[sk]=Automatické klikanie myšou
-GenericName[sl]=Samodejni klik miške
-GenericName[sr]=Аутоматски клик мишем
-GenericName[sr@Latn]=Automatski klik mišem
-GenericName[sv]=Automatiska musklick
-GenericName[ta]=தானியங்கி சுட்டி சொடுக்கல்
-GenericName[tg]=Зер кардани автоматии муш
-GenericName[th]=คลิ้กเม้าส์อัตโนมัติ
-GenericName[tr]=Otomatik Fare Tıklaması
-GenericName[uk]=Автоматичне клацання мишкою
-GenericName[uz]=Sichqonchani avto-bosish
-GenericName[uz@cyrillic]=Сичқончани авто-босиш
-GenericName[vi]=Ấn Chuột Tự động
-GenericName[zh_CN]=自动鼠标点击
-GenericName[zh_TW]=自動滑鼠點擊
+X-DocPath=kmousetool/index.html
Categories=Qt;TDE;Utility;Accessibility;
-
diff --git a/kmousetool/kmousetool/kmousetool.h b/kmousetool/kmousetool/kmousetool.h
index 818dadc..303520f 100644
--- a/kmousetool/kmousetool/kmousetool.h
+++ b/kmousetool/kmousetool/kmousetool.h
@@ -22,12 +22,12 @@
#ifndef KMOUSETOOL_H
#define KMOUSETOOL_H
-#include <tqdir.h>
-
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
#endif
+#include <tqdir.h>
+
#include "version.h"
#include <tdeapplication.h>
@@ -54,7 +54,7 @@ class KMouseToolTray;
class KMouseTool : public KMouseToolUI
{
- Q_OBJECT
+ TQ_OBJECT
private:
@@ -194,7 +194,7 @@ public:
};
class KMouseToolTray : public KSystemTray {
- Q_OBJECT
+ TQ_OBJECT
int startStopId;
public:
diff --git a/kmousetool/kmousetool/kmousetoolui.ui b/kmousetool/kmousetool/kmousetoolui.ui
index 906160a..1d74de1 100644
--- a/kmousetool/kmousetool/kmousetoolui.ui
+++ b/kmousetool/kmousetool/kmousetoolui.ui
@@ -407,16 +407,8 @@
</connection>
</connections>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/kmousetool/kmousetool/pics/CMakeLists.txt b/kmousetool/kmousetool/pics/CMakeLists.txt
new file mode 100644
index 0000000..d0623c7
--- /dev/null
+++ b/kmousetool/kmousetool/pics/CMakeLists.txt
@@ -0,0 +1,7 @@
+##### icons
+
+tde_install_icons(
+ DESTINATION ${DATA_INSTALL_DIR}/kmousetool/icons
+)
+
+tde_install_icons( kmousetool )
diff --git a/kmouth/CMakeL10n.txt b/kmouth/CMakeL10n.txt
index 935b156..ad98f8c 100644
--- a/kmouth/CMakeL10n.txt
+++ b/kmouth/CMakeL10n.txt
@@ -1,3 +1,11 @@
##### create translation templates ##############
tde_l10n_create_template( "kmouth" )
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/kmouth-desktops/"
+ SOURCES
+ kmouth.desktop
+ *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/kmouth/CMakeLists.txt b/kmouth/CMakeLists.txt
new file mode 100644
index 0000000..ad050ca
--- /dev/null
+++ b/kmouth/CMakeLists.txt
@@ -0,0 +1,66 @@
+add_subdirectory( icons )
+add_subdirectory( phrasebook )
+add_subdirectory( wordcompletion )
+add_subdirectory( books )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}/kmouth/phrasebook
+ ${CMAKE_BINARY_DIR}/kmouth/wordcompletion
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kmouth (executable)
+
+tde_add_executable( kmouth AUTOMOC
+
+ SOURCES
+ preferencesui.ui
+ texttospeechconfigurationui.ui
+ texttospeechconfigurationwidget.cpp
+ optionsdialog.cpp
+ configwizard.cpp
+ phraseedit.cpp
+ phraselist.cpp
+ speech.cpp
+ texttospeechsystem.cpp
+ phraselistitem.cpp
+ kmouth.cpp
+ main.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ tdeprint-shared
+ phrasebook-static
+ wordcompletion-static
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+install(
+ FILES kmouthui.rc
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth
+)
+
+install(
+ FILES kmouthrc
+ DESTINATION ${CONFIG_INSTALL_DIR}
+)
+
+tde_create_translated_desktop(
+ SOURCE kmouth.desktop
+ PO_DIR kmouth-desktops
+)
diff --git a/kmouth/books/CMakeLists.txt b/kmouth/books/CMakeLists.txt
new file mode 100644
index 0000000..0b09e0f
--- /dev/null
+++ b/kmouth/books/CMakeLists.txt
@@ -0,0 +1,19 @@
+##### phrasebooks
+
+foreach( _lang de en nl sv )
+ install(
+ FILES
+ ${_lang}-courteousness.phrasebook
+ ${_lang}-greetings.phrasebook
+ ${_lang}-howareyou.phrasebook
+ ${_lang}-personal.phrasebook
+
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/books/${_lang}
+ )
+
+ tde_create_translated_desktop(
+ SOURCE ${_lang}.desktop
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/books/${_lang}
+ PO_DIR kmouth-desktops
+ )
+endforeach()
diff --git a/kmouth/books/de.desktop b/kmouth/books/de.desktop
index 0b8708a..7a457c1 100644
--- a/kmouth/books/de.desktop
+++ b/kmouth/books/de.desktop
@@ -1,60 +1,2 @@
[Desktop Entry]
Name=German
-Name[ar]=ألمانية
-Name[bg]=Немски
-Name[br]=Alamaneg
-Name[bs]=Njemački
-Name[ca]=Alemany
-Name[cs]=Německy
-Name[cy]=Almaeneg
-Name[da]=Tysk
-Name[de]=Deutsch
-Name[el]=Γερμανικά
-Name[eo]=Germana
-Name[es]=Alemán
-Name[et]=Saksa
-Name[eu]=Alemaniera
-Name[fa]=آلمانی
-Name[fi]=Saksalainen
-Name[fr]=Allemand
-Name[ga]=Gearmáinis
-Name[gl]=Alemán
-Name[he]=גרמנית
-Name[hi]= जर्मनी
-Name[hu]=Német
-Name[is]=Þýska
-Name[it]=Tedesco
-Name[ja]=ドイツ語
-Name[ka]=გერმანული
-Name[km]= អាល្លឺម៉ង់
-Name[lt]=Vokiečių
-Name[mk]=Германски
-Name[ms]=Jerman
-Name[mt]=Ġermaniż
-Name[nb]=Tysk
-Name[nds]=Hoochdüütsch
-Name[ne]=जर्मनी
-Name[nl]=Duits
-Name[nn]=Tysk
-Name[pa]=ਜਰਮਨ
-Name[pl]=Niemiecka
-Name[pt]=Alemão
-Name[pt_BR]=Alemão
-Name[ro]=Germană
-Name[ru]=Немецкий
-Name[rw]=Ikidage
-Name[sk]=nemčina
-Name[sl]=nemško
-Name[sr]=Немачки
-Name[sr@Latn]=Nemački
-Name[sv]=Tyska
-Name[ta]=ஜெர்மன்
-Name[tg]=Немисӣ
-Name[th]=เยอรมัน
-Name[tr]=Almanca
-Name[uk]=Німецька
-Name[uz]=Nemischa
-Name[uz@cyrillic]=Немисча
-Name[vi]=Đức
-Name[zh_CN]=德语
-Name[zh_TW]=德語
diff --git a/kmouth/books/en.desktop b/kmouth/books/en.desktop
index 64d31b0..793b7c0 100644
--- a/kmouth/books/en.desktop
+++ b/kmouth/books/en.desktop
@@ -1,60 +1,2 @@
[Desktop Entry]
Name=English
-Name[ar]=إنجليزية
-Name[bg]=Английски
-Name[br]=Saozneg
-Name[bs]=Engleski
-Name[ca]=Anglès
-Name[cs]=Anglicky
-Name[cy]=Saesneg
-Name[da]=Engelsk
-Name[de]=Englisch
-Name[el]=Αγγλικά
-Name[eo]=Angla
-Name[es]=Inglés
-Name[et]=Inglise
-Name[eu]=Ingelesa
-Name[fa]=انگلیسی
-Name[fi]=Englantilainen
-Name[fr]=Anglais
-Name[ga]=Béarla
-Name[gl]=Inglés
-Name[he]=אנגלית
-Name[hi]= अंग्रेजी
-Name[hu]=Angol
-Name[is]=Enska
-Name[it]=Inglese
-Name[ja]=英語
-Name[ka]=ინგლისური
-Name[km]= អង់គ្លេស​
-Name[lt]=Anglų
-Name[mk]=Англиски
-Name[ms]=Inggeris
-Name[mt]=Ingliż
-Name[nb]=Engelsk
-Name[nds]=Engelsch
-Name[ne]=अंग्रेजी
-Name[nl]=Engels
-Name[nn]=Engelsk
-Name[pa]=ਅੰਗਰੇਜ਼ੀ
-Name[pl]=Angielska
-Name[pt]=Inglês
-Name[pt_BR]=Inglês
-Name[ro]=Engleză
-Name[ru]=Английский
-Name[rw]=Icyongereza
-Name[sk]=angličtina
-Name[sl]=angleško
-Name[sr]=Енглески
-Name[sr@Latn]=Engleski
-Name[sv]=Engelska
-Name[ta]=ஆங்கிலம்
-Name[tg]=Англисӣ
-Name[th]=อังกฤษ
-Name[tr]=İngilizce
-Name[uk]=Англійська
-Name[uz]=Inglizcha
-Name[uz@cyrillic]=Инглизча
-Name[vi]=Anh
-Name[zh_CN]=英语
-Name[zh_TW]=英語
diff --git a/kmouth/books/nl.desktop b/kmouth/books/nl.desktop
index 346538a..6a621ed 100644
--- a/kmouth/books/nl.desktop
+++ b/kmouth/books/nl.desktop
@@ -1,49 +1,2 @@
[Desktop Entry]
Name=Dutch
-Name[bg]=Холандски
-Name[br]=Nederlandeg
-Name[bs]=Holandski
-Name[ca]=Holandès
-Name[cs]=Holandsky
-Name[cy]=Iseldireg
-Name[da]=Hollandsk
-Name[de]=Niederländisch
-Name[es]=Danés
-Name[et]=Hollandi
-Name[eu]=Nederlandera
-Name[fa]=هلندی
-Name[fi]=Tanskalainen
-Name[fr]=Hollandais
-Name[ga]=Ollainnis
-Name[gl]=Holandés
-Name[he]=דנית
-Name[hu]=Holland
-Name[is]=Hollenska
-Name[it]=Olandese
-Name[ja]=オランダ語
-Name[ka]=ჰოლანდიური
-Name[km]= ហុល្លង់​
-Name[lt]=Olandų
-Name[mk]=Холандски
-Name[ms]=Belanda
-Name[nb]=Nederlandsk
-Name[nds]=Nedderlannsch
-Name[ne]=डच
-Name[nl]=Nederlands
-Name[pa]=ਡੱਚ
-Name[pl]=Holenderska
-Name[pt]=Holandês
-Name[pt_BR]=Holandês
-Name[ru]=Голландский
-Name[rw]=Ikinyaholande
-Name[sk]=holandčina
-Name[sl]=Nizozemsko
-Name[sr]=Холандски
-Name[sr@Latn]=Holandski
-Name[sv]=Holländska
-Name[tg]=Немисӣ
-Name[tr]=Flemenkçe
-Name[uk]=Голландська
-Name[vi]=Hà Lan
-Name[zh_CN]=荷兰语
-Name[zh_TW]=荷蘭語
diff --git a/kmouth/books/sv.desktop b/kmouth/books/sv.desktop
index 6e59a19..48d4835 100644
--- a/kmouth/books/sv.desktop
+++ b/kmouth/books/sv.desktop
@@ -1,60 +1,2 @@
[Desktop Entry]
Name=Swedish
-Name[ar]=سويدية
-Name[bg]=Шведски
-Name[br]=Svedeg
-Name[bs]=Švedski
-Name[ca]=Suec
-Name[cs]=Švédsky
-Name[cy]=Swedeg
-Name[da]=Svensk
-Name[de]=Schwedisch
-Name[el]=Σουηδικά
-Name[eo]=Sveda
-Name[es]=Sueco
-Name[et]=Rootsi
-Name[eu]=Suediera
-Name[fa]=سوئدی
-Name[fi]=Ruotsalainen
-Name[fr]=Suédois
-Name[ga]=Sualainnis
-Name[gl]=Sueco
-Name[he]=שוודית
-Name[hi]=स्वीडिश
-Name[hu]=Svéd
-Name[is]=Sænska
-Name[it]=Svedese
-Name[ja]=スウェーデン語
-Name[ka]=შვედური
-Name[km]= ស៊ុយអែដ
-Name[lt]=Švedų
-Name[mk]=Шведски
-Name[ms]=Sweden
-Name[mt]=Svediż
-Name[nb]=Svensk
-Name[nds]=Sweedsch
-Name[ne]=स्वीडिस
-Name[nl]=Zweeds
-Name[nn]=Svensk
-Name[pa]=ਸਵੀਡਨੀ
-Name[pl]=Szwedzka
-Name[pt]=Sueco
-Name[pt_BR]=Suíço
-Name[ro]=Suedeză
-Name[ru]=Шведский
-Name[rw]=Ikinyasuwede
-Name[sk]=švédčina
-Name[sl]=švedsko
-Name[sr]=Шведски
-Name[sr@Latn]=Švedski
-Name[sv]=Svenska
-Name[ta]=ஸ்வீடிஷ்
-Name[tg]=Шведӣ
-Name[th]=สวีเดน
-Name[tr]=İsveççe
-Name[uk]=Шведська
-Name[uz]=Shvedcha
-Name[uz@cyrillic]=Шведча
-Name[vi]=Thuỵ Điển
-Name[zh_CN]=瑞典语
-Name[zh_TW]=瑞典語
diff --git a/kmouth/configwizard.h b/kmouth/configwizard.h
index 47054c2..8560e6c 100644
--- a/kmouth/configwizard.h
+++ b/kmouth/configwizard.h
@@ -34,7 +34,7 @@ class CompletionWizardWidget;
*/
class ConfigWizard : public KWizard {
- Q_OBJECT
+ TQ_OBJECT
public:
ConfigWizard (TQWidget *parent, const char *name, TDEConfig *config);
diff --git a/kmouth/icons/CMakeLists.txt b/kmouth/icons/CMakeLists.txt
new file mode 100644
index 0000000..52c60aa
--- /dev/null
+++ b/kmouth/icons/CMakeLists.txt
@@ -0,0 +1,9 @@
+add_subdirectory( history )
+add_subdirectory( phrase )
+add_subdirectory( phrasebook )
+add_subdirectory( app )
+
+
+tde_install_icons(
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/icons
+)
diff --git a/kmouth/icons/app/CMakeLists.txt b/kmouth/icons/app/CMakeLists.txt
new file mode 100644
index 0000000..643654c
--- /dev/null
+++ b/kmouth/icons/app/CMakeLists.txt
@@ -0,0 +1,3 @@
+##### icons
+
+tde_install_icons()
diff --git a/kmouth/icons/history/CMakeLists.txt b/kmouth/icons/history/CMakeLists.txt
new file mode 100644
index 0000000..9133d6b
--- /dev/null
+++ b/kmouth/icons/history/CMakeLists.txt
@@ -0,0 +1,3 @@
+tde_install_icons(
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/icons
+)
diff --git a/kmouth/icons/phrase/CMakeLists.txt b/kmouth/icons/phrase/CMakeLists.txt
new file mode 100644
index 0000000..9133d6b
--- /dev/null
+++ b/kmouth/icons/phrase/CMakeLists.txt
@@ -0,0 +1,3 @@
+tde_install_icons(
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/icons
+)
diff --git a/kmouth/icons/phrasebook/CMakeLists.txt b/kmouth/icons/phrasebook/CMakeLists.txt
new file mode 100644
index 0000000..9133d6b
--- /dev/null
+++ b/kmouth/icons/phrasebook/CMakeLists.txt
@@ -0,0 +1,3 @@
+tde_install_icons(
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth/icons
+)
diff --git a/kmouth/kmouth.cpp b/kmouth/kmouth.cpp
index 4d9faa8..a34e602 100644
--- a/kmouth/kmouth.cpp
+++ b/kmouth/kmouth.cpp
@@ -51,10 +51,10 @@ KMouthApp::KMouthApp(TQWidget* , const char* name):TDEMainWindow(0, name)
initPhraseList();
initActions();
optionsDialog = new OptionsDialog(this);
- connect (optionsDialog, TQT_SIGNAL(configurationChanged ()),
- this, TQT_SLOT(slotConfigurationChanged ()));
- connect (optionsDialog, TQT_SIGNAL(configurationChanged ()),
- phraseList, TQT_SLOT(configureCompletion ()));
+ connect (optionsDialog, TQ_SIGNAL(configurationChanged ()),
+ this, TQ_SLOT(slotConfigurationChanged ()));
+ connect (optionsDialog, TQ_SIGNAL(configurationChanged ()),
+ phraseList, TQ_SLOT(configureCompletion ()));
phrases = new TDEActionCollection (this);
@@ -95,57 +95,57 @@ bool KMouthApp::configured() {
void KMouthApp::initActions() {
// The "File" menu
- fileOpen = new TDEAction(i18n("&Open as History..."), "phrasehistory_open", TDEStdAccel::open(), TQT_TQOBJECT(this), TQT_SLOT(slotFileOpen()), actionCollection(),"file_open");
+ fileOpen = new TDEAction(i18n("&Open as History..."), "phrasehistory_open", TDEStdAccel::open(), this, TQ_SLOT(slotFileOpen()), actionCollection(),"file_open");
fileOpen->setStatusText(i18n("Opens an existing file as history"));
fileOpen->setWhatsThis (i18n("Opens an existing file as history"));
- fileSaveAs = new TDEAction(i18n("Save &History As..."), "phrasehistory_save", TDEStdAccel::save(), TQT_TQOBJECT(this), TQT_SLOT(slotFileSaveAs()), actionCollection(),"file_save_as");
+ fileSaveAs = new TDEAction(i18n("Save &History As..."), "phrasehistory_save", TDEStdAccel::save(), this, TQ_SLOT(slotFileSaveAs()), actionCollection(),"file_save_as");
fileSaveAs->setStatusText(i18n("Saves the actual history as..."));
fileSaveAs->setWhatsThis (i18n("Saves the actual history as..."));
- filePrint = new TDEAction(i18n("&Print History..."), "phrasehistory_print", TDEStdAccel::print(), TQT_TQOBJECT(this), TQT_SLOT(slotFilePrint()), actionCollection(),"file_print");
+ filePrint = new TDEAction(i18n("&Print History..."), "phrasehistory_print", TDEStdAccel::print(), this, TQ_SLOT(slotFilePrint()), actionCollection(),"file_print");
filePrint->setStatusText(i18n("Prints out the actual history"));
filePrint->setWhatsThis (i18n("Prints out the actual history"));
- fileQuit = KStdAction::quit(TQT_TQOBJECT(this), TQT_SLOT(slotFileQuit()), actionCollection());
+ fileQuit = KStdAction::quit(this, TQ_SLOT(slotFileQuit()), actionCollection());
fileQuit->setStatusText(i18n("Quits the application"));
fileQuit->setWhatsThis (i18n("Quits the application"));
// The "Edit" menu
- editCut = KStdAction::cut(TQT_TQOBJECT(phraseList), TQT_SLOT(cut()), actionCollection());
+ editCut = KStdAction::cut(phraseList, TQ_SLOT(cut()), actionCollection());
editCut->setStatusText(i18n("Cuts the selected section and puts it to the clipboard"));
editCut->setWhatsThis (i18n("Cuts the selected section and puts it to the clipboard. If there is some text selected in the edit field it is placed it on the clipboard. Otherwise the selected sentences in the history (if any) are placed on the clipboard."));
- editCopy = KStdAction::copy(TQT_TQOBJECT(phraseList), TQT_SLOT(copy()), actionCollection());
+ editCopy = KStdAction::copy(phraseList, TQ_SLOT(copy()), actionCollection());
editCopy->setStatusText(i18n("Copies the selected section to the clipboard"));
editCopy->setWhatsThis (i18n("Copies the selected section to the clipboard. If there is some text selected in the edit field it is copied to the clipboard. Otherwise the selected sentences in the history (if any) are copied to the clipboard."));
- editPaste = KStdAction::paste(TQT_TQOBJECT(phraseList), TQT_SLOT(paste()), actionCollection());
+ editPaste = KStdAction::paste(phraseList, TQ_SLOT(paste()), actionCollection());
editPaste->setStatusText(i18n("Pastes the clipboard contents to actual position"));
editPaste->setWhatsThis (i18n("Pastes the clipboard contents at the current cursor position into the edit field."));
- editSpeak = new TDEAction (i18n("&Speak"), "speak", 0, TQT_TQOBJECT(phraseList), TQT_SLOT(speak()), actionCollection(),"edit_speak");
+ editSpeak = new TDEAction (i18n("&Speak"), "speak", 0, phraseList, TQ_SLOT(speak()), actionCollection(),"edit_speak");
editSpeak->setStatusText(i18n("Speaks the currently active sentence(s)"));
editSpeak->setWhatsThis (i18n("Speaks the currently active sentence(s). If there is some text in the edit field it is spoken. Otherwise the selected sentences in the history (if any) are spoken."));
// The "Phrase book" menu
- phrasebookEdit = new TDEAction(i18n("&Edit..."), 0, 0, TQT_TQOBJECT(this), TQT_SLOT(slotEditPhrasebook()), actionCollection(),"phrasebook_edit");
+ phrasebookEdit = new TDEAction(i18n("&Edit..."), 0, 0, this, TQ_SLOT(slotEditPhrasebook()), actionCollection(),"phrasebook_edit");
// The "Options" menu
- viewMenuBar = KStdAction::showMenubar(TQT_TQOBJECT(this), TQT_SLOT(slotViewMenuBar()), actionCollection());
- viewToolBar = KStdAction::showToolbar(TQT_TQOBJECT(this), TQT_SLOT(slotViewToolBar()), actionCollection());
+ viewMenuBar = KStdAction::showMenubar(this, TQ_SLOT(slotViewMenuBar()), actionCollection());
+ viewToolBar = KStdAction::showToolbar(this, TQ_SLOT(slotViewToolBar()), actionCollection());
viewToolBar->setStatusText(i18n("Enables/disables the toolbar"));
viewToolBar->setWhatsThis (i18n("Enables/disables the toolbar"));
- viewPhrasebookBar = new TDEToggleAction (i18n("Show P&hrasebook Bar"), 0, 0, TQT_TQOBJECT(this), TQT_SLOT(slotViewPhrasebookBar()), actionCollection(), "showPhrasebookBar");
+ viewPhrasebookBar = new TDEToggleAction (i18n("Show P&hrasebook Bar"), 0, 0, this, TQ_SLOT(slotViewPhrasebookBar()), actionCollection(), "showPhrasebookBar");
viewPhrasebookBar->setStatusText(i18n("Enables/disables the phrasebook bar"));
viewPhrasebookBar->setWhatsThis (i18n("Enables/disables the phrasebook bar"));
- viewStatusBar = KStdAction::showStatusbar(TQT_TQOBJECT(this), TQT_SLOT(slotViewStatusBar()), actionCollection());
+ viewStatusBar = KStdAction::showStatusbar(this, TQ_SLOT(slotViewStatusBar()), actionCollection());
viewStatusBar->setStatusText(i18n("Enables/disables the statusbar"));
viewStatusBar->setWhatsThis (i18n("Enables/disables the statusbar"));
- configureTTS = new TDEAction (i18n("&Configure KMouth..."), "configure", 0, TQT_TQOBJECT(this), TQT_SLOT(slotConfigureTTS()), actionCollection(), "configureTTS");
+ configureTTS = new TDEAction (i18n("&Configure KMouth..."), "configure", 0, this, TQ_SLOT(slotConfigureTTS()), actionCollection(), "configureTTS");
configureTTS->setStatusText(i18n("Opens the configuration dialog"));
configureTTS->setWhatsThis (i18n("Opens the configuration dialog"));
@@ -153,27 +153,27 @@ void KMouthApp::initActions() {
// The "Help" menu will automatically get created.
// The popup menu of the list of spoken sentences
- phraseListSpeak = new TDEAction (i18n("&Speak"), "speak", 0, TQT_TQOBJECT(phraseList), TQT_SLOT(speakListSelection()), actionCollection(), "phraselist_speak");
+ phraseListSpeak = new TDEAction (i18n("&Speak"), "speak", 0, phraseList, TQ_SLOT(speakListSelection()), actionCollection(), "phraselist_speak");
phraseListSpeak->setStatusText(i18n("Speaks the currently selected phrases in the history"));
phraseListSpeak->setWhatsThis (i18n("Speaks the currently selected phrases in the history"));
- phraseListRemove = new TDEAction (i18n("&Delete"), "edit-delete", 0, TQT_TQOBJECT(phraseList), TQT_SLOT(removeListSelection()), actionCollection(), "phraselist_remove");
+ phraseListRemove = new TDEAction (i18n("&Delete"), "edit-delete", 0, phraseList, TQ_SLOT(removeListSelection()), actionCollection(), "phraselist_remove");
phraseListRemove->setStatusText(i18n("Deletes the currently selected phrases from the history"));
phraseListRemove->setWhatsThis (i18n("Deletes the currently selected phrases from the history"));
- phraseListCut = new TDEAction (i18n("Cu&t"), "edit-cut", 0, TQT_TQOBJECT(phraseList), TQT_SLOT(cutListSelection()), actionCollection(), "phraselist_cut");
+ phraseListCut = new TDEAction (i18n("Cu&t"), "edit-cut", 0, phraseList, TQ_SLOT(cutListSelection()), actionCollection(), "phraselist_cut");
phraseListCut->setStatusText(i18n("Cuts the currently selected phrases from the history and puts them to the clipboard"));
phraseListCut->setWhatsThis (i18n("Cuts the currently selected phrases from the history and puts them to the clipboard"));
- phraseListCopy = new TDEAction (i18n("&Copy"), "edit-copy", 0, TQT_TQOBJECT(phraseList), TQT_SLOT(copyListSelection()), actionCollection(), "phraselist_copy");
+ phraseListCopy = new TDEAction (i18n("&Copy"), "edit-copy", 0, phraseList, TQ_SLOT(copyListSelection()), actionCollection(), "phraselist_copy");
phraseListCut->setStatusText(i18n("Copies the currently selected phrases from the history to the clipboard"));
phraseListCut->setWhatsThis (i18n("Copies the currently selected phrases from the history to the clipboard"));
- phraselistSelectAll = new TDEAction (i18n("Select &All Entries"), 0, 0, TQT_TQOBJECT(phraseList), TQT_SLOT(selectAllEntries()), actionCollection(),"phraselist_select_all");
+ phraselistSelectAll = new TDEAction (i18n("Select &All Entries"), 0, 0, phraseList, TQ_SLOT(selectAllEntries()), actionCollection(),"phraselist_select_all");
phraselistSelectAll->setStatusText(i18n("Selects all phrases in the history"));
phraselistSelectAll->setWhatsThis (i18n("Selects all phrases in the history"));
- phraselistDeselectAll = new TDEAction (i18n("D&eselect All Entries"), 0, 0, TQT_TQOBJECT(phraseList), TQT_SLOT(deselectAllEntries()), actionCollection(),"phraselist_deselect_all");
+ phraselistDeselectAll = new TDEAction (i18n("D&eselect All Entries"), 0, 0, phraseList, TQ_SLOT(deselectAllEntries()), actionCollection(),"phraselist_deselect_all");
phraselistDeselectAll->setStatusText(i18n("Deselects all phrases in the history"));
phraselistDeselectAll->setWhatsThis (i18n("Deselects all phrases in the history"));
@@ -302,7 +302,7 @@ void KMouthApp::enableMenuEntries(bool existSelectedEntries, bool existDeselecte
}
/////////////////////////////////////////////////////////////////////
-// TQT_SLOT IMPLEMENTATION
+// SLOT IMPLEMENTATION
/////////////////////////////////////////////////////////////////////
void KMouthApp::slotFileOpen() {
@@ -358,10 +358,10 @@ void KMouthApp::slotEditPhrasebook () {
PhraseBookDialog *phraseBookDialog = PhraseBookDialog::get();
// As we do not know whether the we are already connected to the slot,
// we first disconnect and then connect again.
- disconnect (phraseBookDialog, TQT_SIGNAL(phrasebookConfirmed (PhraseBook &)),
- this, TQT_SLOT(slotPhrasebookConfirmed (PhraseBook &)));
- connect (phraseBookDialog, TQT_SIGNAL(phrasebookConfirmed (PhraseBook &)),
- this, TQT_SLOT(slotPhrasebookConfirmed (PhraseBook &)));
+ disconnect (phraseBookDialog, TQ_SIGNAL(phrasebookConfirmed (PhraseBook &)),
+ this, TQ_SLOT(slotPhrasebookConfirmed (PhraseBook &)));
+ connect (phraseBookDialog, TQ_SIGNAL(phrasebookConfirmed (PhraseBook &)),
+ this, TQ_SLOT(slotPhrasebookConfirmed (PhraseBook &)));
// As we do not know whether the phrase book edit window is already open,
// we first open and then raise it, so that it is surely the top window.
@@ -458,7 +458,7 @@ void KMouthApp::slotPhrasebookConfirmed (PhraseBook &book) {
delete phrases;
phrases = new TDEActionCollection (this, actionCollection());
- book.addToGUI (popup, toolbar, phrases, TQT_TQOBJECT(this), TQT_SLOT(slotPhraseSelected (const TQString &)));
+ book.addToGUI (popup, toolbar, phrases, this, TQ_SLOT(slotPhraseSelected (const TQString &)));
TQString bookLocation = TDEApplication::kApplication()->dirs()->saveLocation ("appdata", "/");
if (!bookLocation.isNull() && !bookLocation.isEmpty()) {
diff --git a/kmouth/kmouth.desktop b/kmouth/kmouth.desktop
index 2e1fd73..7fce024 100644
--- a/kmouth/kmouth.desktop
+++ b/kmouth/kmouth.desktop
@@ -1,79 +1,11 @@
[Desktop Entry]
+Name=KMouth
+
+GenericName=Speech Synthesizer Frontend
+
Type=Application
Exec=kmouth -caption "%c" %i %m
Icon=kmouth
-X-DocPath=kmouth/index.html
-Comment=
-Comment[ro]=Un utilitar de mărit zone ale ecranului
Terminal=false
-Name=KMouth
-Name[ar]=برنامج KMouth
-Name[cy]=KCeg
-Name[eo]=KBuŝo
-Name[hi]=के-माउथ
-Name[is]=KMunnur
-Name[km]= KMouth
-Name[ne]=केडीई माउथ
-Name[pa]=ਕੇ-ਮੂੰਹ
-Name[ro]=Vorbitor
-Name[sv]=Kmouth
-Name[ta]=K வாய்
-Name[tg]=KДаҳон
-Name[tr]=Kmouth
-Name[vi]=Mồm K
-Name[zh_CN]=K 语音精灵
-GenericName=Speech Synthesizer Frontend
-GenericName[ar]=واجهة النَظام الصَوتي
-GenericName[bg]=Синтезатор на глас
-GenericName[bs]=Program za sintezu govora
-GenericName[ca]=Interfície per al sintetitzador de veu
-GenericName[cs]=Rozhraní hlasového syntetizátoru
-GenericName[cy]=Blaen-wyneb Syntheseisydd Lleferydd
-GenericName[da]=Forende til tale-synthesizer
-GenericName[de]=Oberfläche für Sprachsynthesizer
-GenericName[el]=Συνθέτης ομιλίας
-GenericName[en_GB]=Speech Synthesiser Frontend
-GenericName[eo]=Fasado Por Parolsintezilo
-GenericName[es]=Interfaz de usuario para síntesis de voz
-GenericName[et]=Kõnesüntesaator
-GenericName[eu]=Hizkera-sintetizadorearen interfazea
-GenericName[fa]=پایانۀ ترکیب‌دهندۀ گفتار
-GenericName[fi]=Puhesyntetisaattorin käyttöliittymä
-GenericName[fr]=Interface graphique de synthèse vocale
-GenericName[ga]=Clár tosaigh an sintéiseoir cainte
-GenericName[gl]=Interface para o Sintetizador de Voz
-GenericName[hi]=स्पीच सिंथेसाइज़र फ्रन्टएण्ड
-GenericName[hu]=Beszédszintetizátor
-GenericName[is]=Viðmót á talgerfilinn
-GenericName[it]=Interfaccia grafica per il sintetizzatore vocale
-GenericName[ja]=スピーチシンセサイザフロントエンド
-GenericName[ka]=საუბრის სინქრონიზაციის ინტერფეისი
-GenericName[km]= ផ្នែក​ខាង​មុខ​កម្មវិធី​សង្គ្រោះ​ការ​និយាយ
-GenericName[lt]=Kalbos sintezatoriaus naudotojo sąsaja
-GenericName[mk]=Преден крај на синтисајзерот за говор
-GenericName[ms]=Antaramuka Pensintesis Pertuturan
-GenericName[mt]=Programm Għall-Ħolqien ta' Diskors Artifiċjali
-GenericName[nb]=Brukerflate for talesystem
-GenericName[nds]=Böversiet för de Blicksnuut
-GenericName[ne]=संवाद सिन्थेसाइजर फ्रन्टइन्ड
-GenericName[nl]=Spraaksynthesizer
-GenericName[nn]=Grensesnitt for talesyntese
-GenericName[pa]=ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ ਮੁੱਖ
-GenericName[pl]=Program obsługujący syntezator mowy
-GenericName[pt]=Sintetizador de Fala
-GenericName[pt_BR]=Interface do Sintetizador de Fala
-GenericName[ro]=Interfaţă pentru sinteză vocală
-GenericName[ru]=Интерфейс к синтезаторам речи
-GenericName[sk]=Rozhranie pre syntetizátor reči
-GenericName[sl]=Vmesnik za sintezo govora
-GenericName[sr]=Интерфејс за синтетизатор говора
-GenericName[sr@Latn]=Interfejs za sintetizator govora
-GenericName[sv]=Gränssnitt för talsyntes
-GenericName[tg]=Сухани Синтезатори Пешбуда
-GenericName[th]=ฟร้อนต์เอนด์สำหรับเครื่องสังเคราะห์คำพูด
-GenericName[tr]=Konuşma Sentezleyici Arayüzü
-GenericName[uk]=Графічний інтерфейс синтезатора мовлення
-GenericName[vi]=Giao diện Tổng hợp Giọng nói
-GenericName[zh_CN]=语音合成器前端
-GenericName[zh_TW]=語音合成器前端
+X-DocPath=kmouth/index.html
Categories=Qt;TDE;Utility;Accessibility;
diff --git a/kmouth/kmouth.h b/kmouth/kmouth.h
index 79f1aa0..4155e96 100644
--- a/kmouth/kmouth.h
+++ b/kmouth/kmouth.h
@@ -19,9 +19,8 @@
#ifndef KMOUTH_H
#define KMOUTH_H
-
#ifdef HAVE_CONFIG_H
-#include <config.h>
+#include "config.h"
#endif
// include files for TQt
@@ -55,7 +54,7 @@ class PhraseBook;
*/
class KMouthApp : public TDEMainWindow
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kmouth/optionsdialog.cpp b/kmouth/optionsdialog.cpp
index 0c8e147..be01f0d 100644
--- a/kmouth/optionsdialog.cpp
+++ b/kmouth/optionsdialog.cpp
@@ -120,7 +120,7 @@ OptionsDialog::OptionsDialog (TQWidget *parent)
setHelp ("config-dialog");
TQPixmap iconGeneral = TDEGlobal::iconLoader()->loadIcon("configure", TDEIcon::NoGroup, TDEIcon::SizeMedium);
- TQGrid *pageGeneral = addGridPage (1, Qt::Horizontal, i18n("General Options"), TQString(), iconGeneral);
+ TQGrid *pageGeneral = addGridPage (1, TQt::Horizontal, i18n("General Options"), TQString(), iconGeneral);
tabCtl = new TQTabWidget (pageGeneral, "general");
@@ -133,13 +133,13 @@ OptionsDialog::OptionsDialog (TQWidget *parent)
tabCtl->addTab (commandWidget, i18n("&Text-to-Speech"));
TQPixmap iconCompletion = TDEGlobal::iconLoader()->loadIcon("input-keyboard", TDEIcon::NoGroup, TDEIcon::SizeMedium);
- TQGrid *pageCompletion = addGridPage (1, Qt::Horizontal, i18n("Word Completion"), TQString(), iconCompletion);
+ TQGrid *pageCompletion = addGridPage (1, TQt::Horizontal, i18n("Word Completion"), TQString(), iconCompletion);
completionWidget = new WordCompletionWidget(pageCompletion, "Word Completion widget");
kttsd = loadKttsd();
if (kttsd != 0) {
TQPixmap iconKttsd = TDEGlobal::iconLoader()->loadIcon("multimedia", TDEIcon::NoGroup, TDEIcon::SizeMedium);
- TQGrid *pageKttsd = addGridPage (1, Qt::Horizontal, i18n("KTTSD Speech Service"),
+ TQGrid *pageKttsd = addGridPage (1, TQt::Horizontal, i18n("KTTSD Speech Service"),
i18n("TDE Text-to-Speech Daemon Configuration"), iconKttsd);
kttsd->reparent(pageKttsd,0,TQPoint(0,0),true);
diff --git a/kmouth/optionsdialog.h b/kmouth/optionsdialog.h
index 6955b34..d5fc7f3 100644
--- a/kmouth/optionsdialog.h
+++ b/kmouth/optionsdialog.h
@@ -32,7 +32,7 @@ class WordCompletionWidget;
*/
class PreferencesWidget : public PreferencesUI {
- Q_OBJECT
+ TQ_OBJECT
public:
PreferencesWidget(TQWidget *parent, const char *name);
@@ -56,7 +56,7 @@ private:
*/
class OptionsDialog : public KDialogBase {
- Q_OBJECT
+ TQ_OBJECT
public:
OptionsDialog(TQWidget *parent);
diff --git a/kmouth/phrasebook/CMakeLists.txt b/kmouth/phrasebook/CMakeLists.txt
new file mode 100644
index 0000000..ed96605
--- /dev/null
+++ b/kmouth/phrasebook/CMakeLists.txt
@@ -0,0 +1,31 @@
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### phrasebook (static)
+
+tde_add_library( phrasebook STATIC_PIC AUTOMOC
+
+ SOURCES
+ buttonboxui.ui
+ phrasetree.cpp
+ phrasebookparser.cpp
+ phrasebookdialog.cpp
+ phrasebook.cpp
+)
+
+
+install(
+ FILES phrasebookdialogui.rc
+ DESTINATION ${DATA_INSTALL_DIR}/kmouth
+)
diff --git a/kmouth/phrasebook/buttonboxui.ui b/kmouth/phrasebook/buttonboxui.ui
index 59f1d40..73eccf5 100644
--- a/kmouth/phrasebook/buttonboxui.ui
+++ b/kmouth/phrasebook/buttonboxui.ui
@@ -104,4 +104,7 @@
</grid>
</widget>
<layoutdefaults spacing="6" margin="11"/>
+<includes>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+</includes>
</UI>
diff --git a/kmouth/phrasebook/phrasebook.cpp b/kmouth/phrasebook/phrasebook.cpp
index 94eb42f..1fc4f9f 100644
--- a/kmouth/phrasebook/phrasebook.cpp
+++ b/kmouth/phrasebook/phrasebook.cpp
@@ -245,7 +245,7 @@ bool PhraseBook::save (const KURL &url, bool asPhrasebook) {
save (*tempFile.textStream(), asPhrasebook);
tempFile.close();
- return TDEIO::NetAccess::upload(tempFile.name(), url);
+ return TDEIO::NetAccess::upload( tempFile.name(), url, 0 );
}
}
@@ -273,7 +273,7 @@ int PhraseBook::save (TQWidget *parent, const TQString &title, KURL &url, bool p
return -1;
}
- if (TDEIO::NetAccess::exists(url)) {
+ if (TDEIO::NetAccess::exists(url, false, 0)) {
if (KMessageBox::warningContinueCancel(0,TQString("<qt>%1</qt>").arg(i18n("The file %1 already exists. "
"Do you want to overwrite it?").arg(url.url())),i18n("File Exists"),i18n("&Overwrite"))==KMessageBox::Cancel) {
return 0;
@@ -334,12 +334,12 @@ bool PhraseBook::open (const KURL &url) {
fileUrl.setPath (url.url());
}
- if (TDEIO::NetAccess::download (fileUrl, tempFile)) {
+ if (TDEIO::NetAccess::download(fileUrl, tempFile, 0)) {
TQStringList list = TQStringList();
// First: try to load it as a normal phrase book
TQFile file(tempFile);
- TQXmlInputSource source (TQT_TQIODEVICE(&file));
+ TQXmlInputSource source (&file);
bool error = !decode (source);
// Second: if the file does not contain a phrase book, load it as
diff --git a/kmouth/phrasebook/phrasebook.h b/kmouth/phrasebook/phrasebook.h
index 4fee8cc..92fabeb 100644
--- a/kmouth/phrasebook/phrasebook.h
+++ b/kmouth/phrasebook/phrasebook.h
@@ -147,7 +147,7 @@ public:
* @author Gunnar Schmi Dt
*/
class PhraseBookDrag: public TQDragObject {
- Q_OBJECT
+ TQ_OBJECT
public:
PhraseBookDrag (PhraseBook *book, TQWidget *dragSource = 0, const char *name = 0);
@@ -170,13 +170,13 @@ private:
};
class PhraseAction : public TDEAction {
- Q_OBJECT
+ TQ_OBJECT
public:
PhraseAction (const TQString& phrase, const TQString& cut, const TQObject* receiver, const char* slot, TDEActionCollection* parent)
: TDEAction (phrase, "phrase", TDEShortcut(cut), 0, 0, parent, phrase.latin1()) {
this->phrase = phrase;
- connect (this, TQT_SIGNAL(slotActivated (const TQString &)), receiver, slot);
+ connect (this, TQ_SIGNAL(slotActivated (const TQString &)), receiver, slot);
};
~PhraseAction () {
}
diff --git a/kmouth/phrasebook/phrasebookdialog.cpp b/kmouth/phrasebook/phrasebookdialog.cpp
index 3525ce7..c26c7d5 100644
--- a/kmouth/phrasebook/phrasebookdialog.cpp
+++ b/kmouth/phrasebook/phrasebookdialog.cpp
@@ -303,17 +303,17 @@ void PhraseBookDialog::initGUI () {
treeView->setAllColumnsShowFocus (true);
treeView->setSelectionMode (TQListView::Extended);
TQWhatsThis::add (treeView, i18n("This list contains the current phrase book in a tree structure. You can select and modify individual phrases and sub phrase books"));
- connect (treeView, TQT_SIGNAL(selectionChanged()), TQT_TQOBJECT(this), TQT_SLOT(selectionChanged()));
- connect (treeView, TQT_SIGNAL(contextMenuRequested (TQListViewItem *, const TQPoint &, int)), TQT_TQOBJECT(this), TQT_SLOT(contextMenuRequested (TQListViewItem *, const TQPoint &, int)));
- connect (treeView, TQT_SIGNAL(dropped (TQDropEvent *, TQListViewItem *, TQListViewItem *)), TQT_TQOBJECT(this), TQT_SLOT(slotDropped (TQDropEvent *, TQListViewItem *, TQListViewItem *)));
- connect (treeView, TQT_SIGNAL(moved (TQListViewItem *, TQListViewItem *, TQListViewItem *)), TQT_TQOBJECT(this), TQT_SLOT(slotMoved (TQListViewItem *, TQListViewItem *, TQListViewItem *)));
+ connect (treeView, TQ_SIGNAL(selectionChanged()), this, TQ_SLOT(selectionChanged()));
+ connect (treeView, TQ_SIGNAL(contextMenuRequested (TQListViewItem *, const TQPoint &, int)), this, TQ_SLOT(contextMenuRequested (TQListViewItem *, const TQPoint &, int)));
+ connect (treeView, TQ_SIGNAL(dropped (TQDropEvent *, TQListViewItem *, TQListViewItem *)), this, TQ_SLOT(slotDropped (TQDropEvent *, TQListViewItem *, TQListViewItem *)));
+ connect (treeView, TQ_SIGNAL(moved (TQListViewItem *, TQListViewItem *, TQListViewItem *)), this, TQ_SLOT(slotMoved (TQListViewItem *, TQListViewItem *, TQListViewItem *)));
mainLayout->addWidget (treeView);
buttonBox = new ButtonBoxWidget (page, "buttonbox");
- connect (buttonBox->lineEdit, TQT_SIGNAL(textChanged(const TQString &)), TQT_SLOT(slotTextChanged(const TQString &)));
- connect (buttonBox->noKey, TQT_SIGNAL(clicked()), TQT_SLOT(slotNoKey()));
- connect (buttonBox->customKey, TQT_SIGNAL(clicked()), TQT_SLOT(slotCustomKey()));
- connect (buttonBox->keyButton, TQT_SIGNAL(capturedShortcut(const TDEShortcut&)), TQT_SLOT(capturedShortcut(const TDEShortcut&)));
+ connect (buttonBox->lineEdit, TQ_SIGNAL(textChanged(const TQString &)), TQ_SLOT(slotTextChanged(const TQString &)));
+ connect (buttonBox->noKey, TQ_SIGNAL(clicked()), TQ_SLOT(slotNoKey()));
+ connect (buttonBox->customKey, TQ_SIGNAL(clicked()), TQ_SLOT(slotCustomKey()));
+ connect (buttonBox->keyButton, TQ_SIGNAL(capturedShortcut(const TDEShortcut&)), TQ_SLOT(capturedShortcut(const TDEShortcut&)));
mainLayout->addWidget (buttonBox);
treeView->setFocus();
@@ -322,23 +322,23 @@ void PhraseBookDialog::initGUI () {
void PhraseBookDialog::initActions() {
// The file menu
- fileNewPhrase = new TDEAction (i18n("&New Phrase"), "phrase_new", 0, TQT_TQOBJECT(this), TQT_SLOT(slotAddPhrase()), actionCollection(),"file_new_phrase");
+ fileNewPhrase = new TDEAction (i18n("&New Phrase"), "phrase_new", 0, this, TQ_SLOT(slotAddPhrase()), actionCollection(),"file_new_phrase");
fileNewPhrase->setStatusText(i18n("Adds a new phrase"));
fileNewPhrase->setWhatsThis (i18n("Adds a new phrase"));
- fileNewBook = new TDEAction (i18n("New Phrase &Book"), "phrasebook_new", 0, TQT_TQOBJECT(this), TQT_SLOT(slotAddPhrasebook()), actionCollection(),"file_new_book");
+ fileNewBook = new TDEAction (i18n("New Phrase &Book"), "phrasebook_new", 0, this, TQ_SLOT(slotAddPhrasebook()), actionCollection(),"file_new_book");
fileNewBook->setStatusText(i18n("Adds a new phrase book into which other books and phrases can be placed"));
fileNewBook->setWhatsThis (i18n("Adds a new phrase book into which other books and phrases can be placed"));
- fileSave = KStdAction::save(TQT_TQOBJECT(this), TQT_SLOT(slotSave()), actionCollection());
+ fileSave = KStdAction::save(this, TQ_SLOT(slotSave()), actionCollection());
fileSave->setStatusText(i18n("Saves the phrase book onto the hard disk"));
fileSave->setWhatsThis (i18n("Saves the phrase book onto the hard disk"));
- fileImport = new TDEAction (i18n("&Import..."), "phrasebook_open", 0, TQT_TQOBJECT(this), TQT_SLOT(slotImportPhrasebook()), actionCollection(),"file_import");
+ fileImport = new TDEAction (i18n("&Import..."), "phrasebook_open", 0, this, TQ_SLOT(slotImportPhrasebook()), actionCollection(),"file_import");
fileImport->setStatusText(i18n("Imports a file and adds its contents to the phrase book"));
fileImport->setWhatsThis (i18n("Imports a file and adds its contents to the phrase book"));
- toolbarImport = new TDEToolBarPopupAction (i18n("&Import..."), "phrasebook_open", 0, TQT_TQOBJECT(this), TQT_SLOT(slotImportPhrasebook()), actionCollection(),"toolbar_import");
+ toolbarImport = new TDEToolBarPopupAction (i18n("&Import..."), "phrasebook_open", 0, this, TQ_SLOT(slotImportPhrasebook()), actionCollection(),"toolbar_import");
toolbarImport->setStatusText(i18n("Imports a file and adds its contents to the phrase book"));
toolbarImport->setWhatsThis (i18n("Imports a file and adds its contents to the phrase book"));
@@ -346,32 +346,32 @@ void PhraseBookDialog::initActions() {
fileImportStandardBook->setStatusText(i18n("Imports a standard phrase book and adds its contents to the phrase book"));
fileImportStandardBook->setWhatsThis (i18n("Imports a standard phrase book and adds its contents to the phrase book"));
- fileExport = new TDEAction (i18n("&Export..."), "phrasebook_save", 0, TQT_TQOBJECT(this), TQT_SLOT(slotExportPhrasebook()), actionCollection(),"file_export");
+ fileExport = new TDEAction (i18n("&Export..."), "phrasebook_save", 0, this, TQ_SLOT(slotExportPhrasebook()), actionCollection(),"file_export");
fileExport->setStatusText(i18n("Exports the currently selected phrase(s) or phrase book(s) into a file"));
fileExport->setWhatsThis (i18n("Exports the currently selected phrase(s) or phrase book(s) into a file"));
- filePrint = KStdAction::print(TQT_TQOBJECT(this), TQT_SLOT(slotPrint()), actionCollection());
+ filePrint = KStdAction::print(this, TQ_SLOT(slotPrint()), actionCollection());
filePrint->setStatusText(i18n("Prints the currently selected phrase(s) or phrase book(s)"));
filePrint->setWhatsThis (i18n("Prints the currently selected phrase(s) or phrase book(s)"));
- fileClose = KStdAction::close(TQT_TQOBJECT(this), TQT_SLOT(close()), actionCollection());
+ fileClose = KStdAction::close(this, TQ_SLOT(close()), actionCollection());
fileClose->setStatusText(i18n("Closes the window"));
fileClose->setWhatsThis (i18n("Closes the window"));
// The edit menu
- editCut = KStdAction::cut(TQT_TQOBJECT(this), TQT_SLOT(slotCut()), actionCollection());
+ editCut = KStdAction::cut(this, TQ_SLOT(slotCut()), actionCollection());
editCut->setStatusText(i18n("Cuts the currently selected entries from the phrase book and puts it to the clipboard"));
editCut->setWhatsThis (i18n("Cuts the currently selected entries from the phrase book and puts it to the clipboard"));
- editCopy = KStdAction::copy(TQT_TQOBJECT(this), TQT_SLOT(slotCopy()), actionCollection());
+ editCopy = KStdAction::copy(this, TQ_SLOT(slotCopy()), actionCollection());
editCopy->setStatusText(i18n("Copies the currently selected entry from the phrase book to the clipboard"));
editCopy->setWhatsThis (i18n("Copies the currently selected entry from the phrase book to the clipboard"));
- editPaste = KStdAction::paste(TQT_TQOBJECT(this), TQT_SLOT(slotPaste()), actionCollection());
+ editPaste = KStdAction::paste(this, TQ_SLOT(slotPaste()), actionCollection());
editPaste->setStatusText(i18n("Pastes the clipboard contents to actual position"));
editPaste->setWhatsThis (i18n("Pastes the clipboard contents to actual position"));
- editDelete = new TDEAction (i18n("&Delete"), "edit-delete", 0, TQT_TQOBJECT(this), TQT_SLOT(slotRemove()), actionCollection(),"edit_delete");
+ editDelete = new TDEAction (i18n("&Delete"), "edit-delete", 0, this, TQ_SLOT(slotRemove()), actionCollection(),"edit_delete");
editDelete->setStatusText(i18n("Deletes the selected entries from the phrase book"));
editDelete->setWhatsThis (i18n("Deletes the selected entries from the phrase book"));
@@ -462,7 +462,7 @@ void PhraseBookDialog::initStandardPhraseBooks () {
currentNamePath = dirs;
TDEAction *book = new StandardPhraseBookInsertAction (
- url, (*it).name, TQT_TQOBJECT(this), TQT_SLOT(slotImportPhrasebook (const KURL &)), actionCollection());
+ url, (*it).name, this, TQ_SLOT(slotImportPhrasebook (const KURL &)), actionCollection());
parent->insert(book);
if (parent == fileImportStandardBook)
book->plug(toolbarImport->popupMenu());
diff --git a/kmouth/phrasebook/phrasebookdialog.h b/kmouth/phrasebook/phrasebookdialog.h
index 0665281..96260f9 100644
--- a/kmouth/phrasebook/phrasebookdialog.h
+++ b/kmouth/phrasebook/phrasebookdialog.h
@@ -73,7 +73,7 @@ private:
*/
class InitialPhraseBookWidget : public TQWidget {
- Q_OBJECT
+ TQ_OBJECT
public:
InitialPhraseBookWidget(TQWidget *parent, const char *name);
@@ -94,13 +94,13 @@ private:
* @author Gunnar Schmi Dt
*/
class StandardPhraseBookInsertAction : public TDEAction {
- Q_OBJECT
+ TQ_OBJECT
public:
StandardPhraseBookInsertAction (const KURL &url, const TQString& name, const TQObject* receiver, const char* slot, TDEActionCollection* parent)
: TDEAction (name, "phrasebook", 0, 0, 0, parent, 0) {
this->url = url;
- connect (this, TQT_SIGNAL(slotActivated (const KURL &)), receiver, slot);
+ connect (this, TQ_SIGNAL(slotActivated (const KURL &)), receiver, slot);
};
~StandardPhraseBookInsertAction () {
};
@@ -142,7 +142,7 @@ protected:
class PhraseBookDialog : public TDEMainWindow {
friend class InitialPhraseBookWidget;
- Q_OBJECT
+ TQ_OBJECT
private:
/** Constructor. It is private because this class implements the singleton
diff --git a/kmouth/phrasebook/phrasetree.cpp b/kmouth/phrasebook/phrasetree.cpp
index 6a2bac2..f08e95a 100644
--- a/kmouth/phrasebook/phrasetree.cpp
+++ b/kmouth/phrasebook/phrasetree.cpp
@@ -81,8 +81,8 @@ PhraseTree::PhraseTree (TQWidget *parent, const char *name)
phrasebook_closed = TDEGlobal::iconLoader()->loadIcon("phrasebook_closed", TDEIcon::Small);
phrase = TDEGlobal::iconLoader()->loadIcon("phrase", TDEIcon::Small);
- connect (this, TQT_SIGNAL(expanded (TQListViewItem *)), this, TQT_SLOT(itemExpanded (TQListViewItem *)));
- connect (this, TQT_SIGNAL(collapsed (TQListViewItem *)), this, TQT_SLOT(itemCollapsed (TQListViewItem *)));
+ connect (this, TQ_SIGNAL(expanded (TQListViewItem *)), this, TQ_SLOT(itemExpanded (TQListViewItem *)));
+ connect (this, TQ_SIGNAL(collapsed (TQListViewItem *)), this, TQ_SLOT(itemCollapsed (TQListViewItem *)));
}
PhraseTree::~PhraseTree (){
diff --git a/kmouth/phrasebook/phrasetree.h b/kmouth/phrasebook/phrasetree.h
index a4936f4..b8d578e 100644
--- a/kmouth/phrasebook/phrasetree.h
+++ b/kmouth/phrasebook/phrasetree.h
@@ -59,7 +59,7 @@ private:
class PhraseTree : public TDEListView {
friend class PhraseTreeItem;
- Q_OBJECT
+ TQ_OBJECT
public:
PhraseTree (TQWidget *parent = 0, const char *name = 0);
diff --git a/kmouth/phraselist.cpp b/kmouth/phraselist.cpp
index 24df32f..cbef4fd 100644
--- a/kmouth/phraselist.cpp
+++ b/kmouth/phraselist.cpp
@@ -51,7 +51,7 @@ PhraseList::PhraseList(TQWidget *parent, const char *name) : TQWidget(parent,nam
TQVBoxLayout *layout = new TQVBoxLayout (this);
listBox = new TDEListBox (this);
- listBox->setFocusPolicy(TQ_NoFocus);
+ listBox->setFocusPolicy(TQWidget::NoFocus);
listBox->setSelectionMode (TQListBox::Extended);
TQWhatsThis::add (listBox, i18n("This list contains the history of spoken sentences. You can select sentences and press the speak button for re-speaking."));
layout->addWidget(listBox);
@@ -66,7 +66,7 @@ PhraseList::PhraseList(TQWidget *parent, const char *name) : TQWidget(parent,nam
rowLayout->addWidget(dictionaryCombo);
lineEdit = new PhraseEdit ("", this);
- lineEdit->setFocusPolicy(TQ_StrongFocus);
+ lineEdit->setFocusPolicy(TQWidget::StrongFocus);
lineEdit->setFrame(true);
lineEdit->setEchoMode(TQLineEdit::Normal);
lineEdit->setCompletionObject (completion);
@@ -77,18 +77,18 @@ PhraseList::PhraseList(TQWidget *parent, const char *name) : TQWidget(parent,nam
TQIconSet icon = TDEGlobal::iconLoader()->loadIconSet("speak", TDEIcon::Small);
speakButton = new TQPushButton (icon, i18n("&Speak"), this);
- speakButton->setFocusPolicy(TQ_NoFocus);
+ speakButton->setFocusPolicy(TQWidget::NoFocus);
speakButton->setAutoDefault(false);
TQWhatsThis::add (speakButton, i18n("Speaks the currently active sentence(s). If there is some text in the edit field it is spoken. Otherwise the selected sentences in the history (if any) are spoken."));
rowLayout->addWidget(speakButton);
- connect(dictionaryCombo, TQT_SIGNAL (activated (const TQString &)), completion, TQT_SLOT (setWordList(const TQString &)));
- connect(completion, TQT_SIGNAL (wordListsChanged (const TQStringList &)), this, TQT_SLOT (configureCompletionCombo (const TQStringList &)));
- connect(listBox, TQT_SIGNAL(selectionChanged()), TQT_SLOT(selectionChanged()));
- connect(listBox, TQT_SIGNAL(contextMenuRequested (TQListBoxItem *, const TQPoint &)), TQT_SLOT(contextMenuRequested (TQListBoxItem *, const TQPoint &)));
- connect(lineEdit, TQT_SIGNAL(returnPressed(const TQString &)), TQT_SLOT(lineEntered(const TQString &)));
- connect(lineEdit, TQT_SIGNAL(textChanged (const TQString &)), TQT_SLOT(textChanged(const TQString &)));
- connect(speakButton, TQT_SIGNAL( clicked ()), TQT_SLOT(speak()));
+ connect(dictionaryCombo, TQ_SIGNAL (activated (const TQString &)), completion, TQ_SLOT (setWordList(const TQString &)));
+ connect(completion, TQ_SIGNAL (wordListsChanged (const TQStringList &)), this, TQ_SLOT (configureCompletionCombo (const TQStringList &)));
+ connect(listBox, TQ_SIGNAL(selectionChanged()), TQ_SLOT(selectionChanged()));
+ connect(listBox, TQ_SIGNAL(contextMenuRequested (TQListBoxItem *, const TQPoint &)), TQ_SLOT(contextMenuRequested (TQListBoxItem *, const TQPoint &)));
+ connect(lineEdit, TQ_SIGNAL(returnPressed(const TQString &)), TQ_SLOT(lineEntered(const TQString &)));
+ connect(lineEdit, TQ_SIGNAL(textChanged (const TQString &)), TQ_SLOT(textChanged(const TQString &)));
+ connect(speakButton, TQ_SIGNAL( clicked ()), TQ_SLOT(speak()));
}
PhraseList::~PhraseList() {
diff --git a/kmouth/phraselist.h b/kmouth/phraselist.h
index 492082e..d27a74e 100644
--- a/kmouth/phraselist.h
+++ b/kmouth/phraselist.h
@@ -39,7 +39,7 @@ class WordCompletion;
*/
class PhraseList : public TQWidget {
- Q_OBJECT
+ TQ_OBJECT
public:
PhraseList(TQWidget *parent=0, const char *name=0);
diff --git a/kmouth/phraselistitem.cpp b/kmouth/phraselistitem.cpp
index 10d29ae..721e893 100644
--- a/kmouth/phraselistitem.cpp
+++ b/kmouth/phraselistitem.cpp
@@ -46,7 +46,7 @@ void PhraseListItem::paint (TQPainter *p) {
if (drawCursor()) {
TQRect r (0, 0, listBox()->maxItemWidth(), height (listBox()));
- listBox()->style().tqdrawPrimitive (TQStyle::PE_FocusRect, p, r,
+ listBox()->style().drawPrimitive (TQStyle::PE_FocusRect, p, r,
listBox()->colorGroup());
}
}
diff --git a/kmouth/preferencesui.ui b/kmouth/preferencesui.ui
index 6d998cd..5921c8c 100644
--- a/kmouth/preferencesui.ui
+++ b/kmouth/preferencesui.ui
@@ -159,4 +159,7 @@
</vbox>
</widget>
<layoutdefaults spacing="6" margin="11"/>
+<includes>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+</includes>
</UI>
diff --git a/kmouth/speech.cpp b/kmouth/speech.cpp
index ae68838..ad80946 100644
--- a/kmouth/speech.cpp
+++ b/kmouth/speech.cpp
@@ -206,10 +206,10 @@ void Speech::speak(TQString command, bool stdIn, const TQString &text, const TQS
// 3. create a new process
process << command;
- connect(&process, TQT_SIGNAL(processExited(TDEProcess *)), this, TQT_SLOT(processExited(TDEProcess *)));
- connect(&process, TQT_SIGNAL(wroteStdin(TDEProcess *)), this, TQT_SLOT(wroteStdin(TDEProcess *)));
- connect(&process, TQT_SIGNAL(receivedStdout(TDEProcess *, char *, int)), this, TQT_SLOT(receivedStdout(TDEProcess *, char *, int)));
- connect(&process, TQT_SIGNAL(receivedStderr(TDEProcess *, char *, int)), this, TQT_SLOT(receivedStderr(TDEProcess *, char *, int)));
+ connect(&process, TQ_SIGNAL(processExited(TDEProcess *)), this, TQ_SLOT(processExited(TDEProcess *)));
+ connect(&process, TQ_SIGNAL(wroteStdin(TDEProcess *)), this, TQ_SLOT(wroteStdin(TDEProcess *)));
+ connect(&process, TQ_SIGNAL(receivedStdout(TDEProcess *, char *, int)), this, TQ_SLOT(receivedStdout(TDEProcess *, char *, int)));
+ connect(&process, TQ_SIGNAL(receivedStderr(TDEProcess *, char *, int)), this, TQ_SLOT(receivedStderr(TDEProcess *, char *, int)));
// 4. start the process
if (stdIn) {
diff --git a/kmouth/speech.h b/kmouth/speech.h
index 145b032..87fa3fd 100644
--- a/kmouth/speech.h
+++ b/kmouth/speech.h
@@ -28,7 +28,7 @@
*/
class Speech : public TQObject {
- Q_OBJECT
+ TQ_OBJECT
public:
enum CharacterCodec {
diff --git a/kmouth/texttospeechconfigurationui.ui b/kmouth/texttospeechconfigurationui.ui
index 59bcf7a..babf3a6 100644
--- a/kmouth/texttospeechconfigurationui.ui
+++ b/kmouth/texttospeechconfigurationui.ui
@@ -157,14 +157,14 @@
</widget>
</vbox>
</widget>
-<Q_SIGNALS>
+<signals>
<signal>configurationChanged()</signal>
-</Q_SIGNALS>
+</signals>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+</includes>
</UI>
diff --git a/kmouth/texttospeechsystem.h b/kmouth/texttospeechsystem.h
index 8ad7782..67ae00e 100644
--- a/kmouth/texttospeechsystem.h
+++ b/kmouth/texttospeechsystem.h
@@ -30,7 +30,7 @@ class TDEConfig;
*/
class TextToSpeechSystem : public TQObject{
- Q_OBJECT
+ TQ_OBJECT
friend class TextToSpeechConfigurationWidget;
public:
diff --git a/kmouth/wordcompletion/CMakeLists.txt b/kmouth/wordcompletion/CMakeLists.txt
new file mode 100644
index 0000000..295a8d0
--- /dev/null
+++ b/kmouth/wordcompletion/CMakeLists.txt
@@ -0,0 +1,30 @@
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### wordcompletion (static)
+
+tde_add_library( wordcompletion STATIC_PIC AUTOMOC
+
+ SOURCES
+ wordcompletionui.ui
+ creationsourceui.ui
+ creationsourcedetailsui.ui
+ kdedocsourceui.ui
+ wordlist.cpp
+ wordcompletion.cpp
+ wordcompletionwidget.cpp
+ dictionarycreationwizard.cpp
+ klanguagebutton.cpp
+ klanguagebuttonhelper.cpp
+)
diff --git a/kmouth/wordcompletion/creationsourcedetailsui.ui b/kmouth/wordcompletion/creationsourcedetailsui.ui
index 52aa8a7..838f5e2 100644
--- a/kmouth/wordcompletion/creationsourcedetailsui.ui
+++ b/kmouth/wordcompletion/creationsourcedetailsui.ui
@@ -159,6 +159,9 @@
<include location="local" impldecl="in implementation">klanguagebutton.h</include>
<include location="local" impldecl="in implementation">klanguagebuttonhelper.h</include>
<include location="local" impldecl="in implementation">creationsourcedetailsui.ui.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
</includes>
<forwards>
<forward>class KLanguageButton</forward>
@@ -166,19 +169,11 @@
<variables>
<variable access="public">KLanguageButton *languageButton;</variable>
</variables>
-<Q_SLOTS>
+<slots>
<slot access="protected" specifier="non virtual">languageButton_activated( int index )</slot>
-</Q_SLOTS>
+</slots>
<functions>
<function access="private" specifier="non virtual">init()</function>
</functions>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kinputdialog.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>kinputdialog.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kmouth/wordcompletion/creationsourcedetailsui.ui.h b/kmouth/wordcompletion/creationsourcedetailsui.ui.h
index 12869aa..384cd1f 100644
--- a/kmouth/wordcompletion/creationsourcedetailsui.ui.h
+++ b/kmouth/wordcompletion/creationsourcedetailsui.ui.h
@@ -17,7 +17,7 @@ void CreationSourceDetailsUI::init() {
loadLanguageList(languageButton);
languageButton->insertLanguage("??", i18n("Other"), TQString::fromLatin1("l10n/"), TQString());
- connect (languageButton, TQT_SIGNAL(activated(int)), this, TQT_SLOT(languageButton_activated(int)));
+ connect (languageButton, TQ_SIGNAL(activated(int)), this, TQ_SLOT(languageButton_activated(int)));
}
void CreationSourceDetailsUI::languageButton_activated (int) {
diff --git a/kmouth/wordcompletion/dictionarycreationwizard.cpp b/kmouth/wordcompletion/dictionarycreationwizard.cpp
index 7211768..920fdd1 100644
--- a/kmouth/wordcompletion/dictionarycreationwizard.cpp
+++ b/kmouth/wordcompletion/dictionarycreationwizard.cpp
@@ -72,11 +72,11 @@ DictionaryCreationWizard::DictionaryCreationWizard (TQWidget *parent, const char
mergeWidget = new MergeWidget (this, "merge source page", dictionaryNames, dictionaryFiles, dictionaryLanguages);
addPage (mergeWidget, i18n("Source of New Dictionary (2)"));
- connect (creationSource->fileButton, TQT_SIGNAL (toggled(bool)), this, TQT_SLOT(calculateAppropriate(bool)) );
- connect (creationSource->directoryButton,TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(calculateAppropriate(bool)) );
- connect (creationSource->kdeDocButton, TQT_SIGNAL (toggled(bool)), this, TQT_SLOT(calculateAppropriate(bool)) );
- connect (creationSource->mergeButton, TQT_SIGNAL (toggled(bool)), this, TQT_SLOT(calculateAppropriate(bool)) );
- connect (creationSource->emptyButton, TQT_SIGNAL (toggled(bool)), this, TQT_SLOT(calculateAppropriate(bool)) );
+ connect (creationSource->fileButton, TQ_SIGNAL (toggled(bool)), this, TQ_SLOT(calculateAppropriate(bool)) );
+ connect (creationSource->directoryButton,TQ_SIGNAL(toggled(bool)), this, TQ_SLOT(calculateAppropriate(bool)) );
+ connect (creationSource->kdeDocButton, TQ_SIGNAL (toggled(bool)), this, TQ_SLOT(calculateAppropriate(bool)) );
+ connect (creationSource->mergeButton, TQ_SIGNAL (toggled(bool)), this, TQ_SLOT(calculateAppropriate(bool)) );
+ connect (creationSource->emptyButton, TQ_SIGNAL (toggled(bool)), this, TQ_SLOT(calculateAppropriate(bool)) );
calculateAppropriate (true);
}
@@ -301,7 +301,7 @@ MergeWidget::MergeWidget(KWizard *parent, const char *name,
checkbox->setChecked (true);
numInput->setRange (1, 100, 10, true);
numInput->setValue (100);
- connect (checkbox, TQT_SIGNAL (toggled(bool)), numInput, TQT_SLOT(setEnabled(bool)));
+ connect (checkbox, TQ_SIGNAL (toggled(bool)), numInput, TQ_SLOT(setEnabled(bool)));
dictionaries.insert(*fIt, checkbox);
weights.insert(*fIt, numInput);
diff --git a/kmouth/wordcompletion/dictionarycreationwizard.h b/kmouth/wordcompletion/dictionarycreationwizard.h
index fb82fcd..0e589ad 100644
--- a/kmouth/wordcompletion/dictionarycreationwizard.h
+++ b/kmouth/wordcompletion/dictionarycreationwizard.h
@@ -41,7 +41,7 @@ class MergeWidget;
* completion.
*/
class DictionaryCreationWizard : public KWizard {
- Q_OBJECT
+ TQ_OBJECT
public:
DictionaryCreationWizard (TQWidget *parent, const char *name,
@@ -76,7 +76,7 @@ private:
* @author Gunnar Schmi Dt
*/
class MergeWidget : public TQScrollView {
- Q_OBJECT
+ TQ_OBJECT
public:
MergeWidget(KWizard *parent, const char *name,
@@ -100,7 +100,7 @@ private:
* @author Gunnar Schmi Dt
*/
class CompletionWizardWidget : public KDEDocSourceUI {
- Q_OBJECT
+ TQ_OBJECT
friend class ConfigWizard;
public:
diff --git a/kmouth/wordcompletion/kdedocsourceui.ui b/kmouth/wordcompletion/kdedocsourceui.ui
index c310fa1..91a410a 100644
--- a/kmouth/wordcompletion/kdedocsourceui.ui
+++ b/kmouth/wordcompletion/kdedocsourceui.ui
@@ -82,6 +82,9 @@
<include location="local" impldecl="in implementation">klanguagebutton.h</include>
<include location="local" impldecl="in implementation">klanguagebuttonhelper.h</include>
<include location="local" impldecl="in implementation">kdedocsourceui.ui.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
</includes>
<forwards>
<forward>class KLanguageButton</forward>
@@ -93,9 +96,4 @@
<function access="private" specifier="non virtual">init()</function>
</functions>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kmouth/wordcompletion/klanguagebutton.cpp b/kmouth/wordcompletion/klanguagebutton.cpp
index ffb6715..9d72f3a 100644
--- a/kmouth/wordcompletion/klanguagebutton.cpp
+++ b/kmouth/wordcompletion/klanguagebutton.cpp
@@ -123,10 +123,10 @@ void KLanguageButton::insertSubmenu( const TQString &text, const TQString &tag,
checkInsertPos( pi, text, index );
pi->insertItem( text, p, count(), index );
m_tags->append( tag );
- connect( p, TQT_SIGNAL( activated( int ) ),
- TQT_SLOT( slotActivated( int ) ) );
- connect( p, TQT_SIGNAL( highlighted( int ) ), this,
- TQT_SIGNAL( highlighted( int ) ) );
+ connect( p, TQ_SIGNAL( activated( int ) ),
+ TQ_SLOT( slotActivated( int ) ) );
+ connect( p, TQ_SIGNAL( highlighted( int ) ), this,
+ TQ_SIGNAL( highlighted( int ) ) );
}
void KLanguageButton::insertLanguage( const TQString& path, const TQString& name,
@@ -169,10 +169,10 @@ void KLanguageButton::clear()
setPopup( m_popup );
- connect( m_popup, TQT_SIGNAL( activated( int ) ),
- TQT_SLOT( slotActivated( int ) ) );
- connect( m_popup, TQT_SIGNAL( highlighted( int ) ),
- TQT_SIGNAL( highlighted( int ) ) );
+ connect( m_popup, TQ_SIGNAL( activated( int ) ),
+ TQ_SLOT( slotActivated( int ) ) );
+ connect( m_popup, TQ_SIGNAL( highlighted( int ) ),
+ TQ_SIGNAL( highlighted( int ) ) );
setText( TQString() );
setIconSet( TQIconSet() );
diff --git a/kmouth/wordcompletion/klanguagebutton.h b/kmouth/wordcompletion/klanguagebutton.h
index 385e363..d061b7e 100644
--- a/kmouth/wordcompletion/klanguagebutton.h
+++ b/kmouth/wordcompletion/klanguagebutton.h
@@ -39,7 +39,7 @@
*/
class KLanguageButton : public TQPushButton
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kmouth/wordcompletion/wordcompletion.h b/kmouth/wordcompletion/wordcompletion.h
index c7304f8..ff87820 100644
--- a/kmouth/wordcompletion/wordcompletion.h
+++ b/kmouth/wordcompletion/wordcompletion.h
@@ -8,7 +8,7 @@
*/
class WordCompletion : public TDECompletion {
friend class WordListWidget;
- Q_OBJECT
+ TQ_OBJECT
public:
WordCompletion();
diff --git a/kmouth/wordcompletion/wordcompletionui.ui b/kmouth/wordcompletion/wordcompletionui.ui
index bc9cde5..92e4909 100644
--- a/kmouth/wordcompletion/wordcompletionui.ui
+++ b/kmouth/wordcompletion/wordcompletionui.ui
@@ -266,6 +266,10 @@
<include location="local" impldecl="in implementation">klanguagebutton.h</include>
<include location="local" impldecl="in implementation">klanguagebuttonhelper.h</include>
<include location="local" impldecl="in implementation">wordcompletionui.ui.h</include>
+ <include location="local" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
</includes>
<forwards>
<forward>class KLanguageButton</forward>
@@ -273,21 +277,11 @@
<variables>
<variable access="public">KLanguageButton *languageButton;</variable>
</variables>
-<Q_SLOTS>
+<slots>
<slot access="protected" specifier="non virtual">languageButton_activated( int index )</slot>
-</Q_SLOTS>
+</slots>
<functions>
<function access="private" specifier="non virtual">init()</function>
</functions>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>kinputdialog.h</includehint>
-</includehints>
</UI>
diff --git a/kmouth/wordcompletion/wordcompletionui.ui.h b/kmouth/wordcompletion/wordcompletionui.ui.h
index 6ce5e75..f1c3728 100644
--- a/kmouth/wordcompletion/wordcompletionui.ui.h
+++ b/kmouth/wordcompletion/wordcompletionui.ui.h
@@ -17,7 +17,7 @@ void WordCompletionUI::init() {
loadLanguageList(languageButton);
languageButton->insertLanguage("??", i18n("Other"), TQString::fromLatin1("l10n/"), TQString());
- connect (languageButton, TQT_SIGNAL(activated(int)), this, TQT_SLOT(languageButton_activated(int)));
+ connect (languageButton, TQ_SIGNAL(activated(int)), this, TQ_SLOT(languageButton_activated(int)));
}
void WordCompletionUI::languageButton_activated (int) {
diff --git a/kmouth/wordcompletion/wordcompletionwidget.cpp b/kmouth/wordcompletion/wordcompletionwidget.cpp
index 6e6002d..2ba1fb2 100644
--- a/kmouth/wordcompletion/wordcompletionwidget.cpp
+++ b/kmouth/wordcompletion/wordcompletionwidget.cpp
@@ -95,15 +95,15 @@ WordCompletionWidget::WordCompletionWidget(TQWidget *parent, const char *name) :
dictionaryList->setSorting (-1); // no sorted list
// Connect the signals from hte KCMKTTSDWidget to this class
- connect (addButton, TQT_SIGNAL (clicked()), this, TQT_SLOT(addDictionary()) );
- connect (deleteButton, TQT_SIGNAL (clicked()), this, TQT_SLOT (deleteDictionary()) );
- connect (moveUpButton, TQT_SIGNAL (clicked()), this, TQT_SLOT (moveUp()) );
- connect (moveDownButton, TQT_SIGNAL (clicked()), this, TQT_SLOT (moveDown()) );
- connect (exportButton, TQT_SIGNAL (clicked()), this, TQT_SLOT (exportDictionary()) );
-
- connect (dictionaryList, TQT_SIGNAL (selectionChanged()), this, TQT_SLOT (selectionChanged()) );
- connect (dictionaryName, TQT_SIGNAL (textChanged (const TQString &)), this, TQT_SLOT (nameChanged (const TQString &)) );
- connect (languageButton, TQT_SIGNAL (activated (int)), this, TQT_SLOT (languageSelected(int)) );
+ connect (addButton, TQ_SIGNAL (clicked()), this, TQ_SLOT(addDictionary()) );
+ connect (deleteButton, TQ_SIGNAL (clicked()), this, TQ_SLOT (deleteDictionary()) );
+ connect (moveUpButton, TQ_SIGNAL (clicked()), this, TQ_SLOT (moveUp()) );
+ connect (moveDownButton, TQ_SIGNAL (clicked()), this, TQ_SLOT (moveDown()) );
+ connect (exportButton, TQ_SIGNAL (clicked()), this, TQ_SLOT (exportDictionary()) );
+
+ connect (dictionaryList, TQ_SIGNAL (selectionChanged()), this, TQ_SLOT (selectionChanged()) );
+ connect (dictionaryName, TQ_SIGNAL (textChanged (const TQString &)), this, TQ_SLOT (nameChanged (const TQString &)) );
+ connect (languageButton, TQ_SIGNAL (activated (int)), this, TQ_SLOT (languageSelected(int)) );
// Object for the KCMKTTSD configuration
config = new TDEConfig("kmouthrc");
diff --git a/kmouth/wordcompletion/wordcompletionwidget.h b/kmouth/wordcompletion/wordcompletionwidget.h
index a3f5088..80532b0 100644
--- a/kmouth/wordcompletion/wordcompletionwidget.h
+++ b/kmouth/wordcompletion/wordcompletionwidget.h
@@ -29,7 +29,7 @@ class KLanguageButton;
* @author Gunnar Schmi Dt
*/
class WordCompletionWidget : public WordCompletionUI {
- Q_OBJECT
+ TQ_OBJECT
public:
WordCompletionWidget(TQWidget *parent, const char *name);
diff --git a/kmouth/wordcompletion/wordlist.cpp b/kmouth/wordcompletion/wordlist.cpp
index adf73cb..2031c8e 100644
--- a/kmouth/wordcompletion/wordlist.cpp
+++ b/kmouth/wordcompletion/wordlist.cpp
@@ -160,7 +160,7 @@ void addWords (WordMap &map, WordMap add) {
void addWordsFromFile (WordMap &map, TQString filename, TQTextStream::Encoding encoding, TQTextCodec *codec) {
TQFile xmlfile(filename);
- TQXmlInputSource source (TQT_TQIODEVICE(&xmlfile));
+ TQXmlInputSource source (&xmlfile);
XMLParser parser;
TQXmlSimpleReader reader;
reader.setFeature ("http://trolltech.com/xml/features/report-start-end-entity", true);
diff --git a/ksayit/CMakeL10n.txt b/ksayit/CMakeL10n.txt
index b585ce4..0d6145b 100644
--- a/ksayit/CMakeL10n.txt
+++ b/ksayit/CMakeL10n.txt
@@ -1,3 +1,11 @@
##### create translation templates ##############
tde_l10n_auto_add_subdirectories( )
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/ksayit-desktops/"
+ SOURCES
+ src/*.desktop
+ *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/ksayit/CMakeLists.txt b/ksayit/CMakeLists.txt
new file mode 100644
index 0000000..3104aec
--- /dev/null
+++ b/ksayit/CMakeLists.txt
@@ -0,0 +1,3 @@
+tde_conditional_add_subdirectory( BUILD_KSAYIT_FREEVERB Freeverb_plugin )
+add_subdirectory( KTTSD_Lib )
+add_subdirectory( src )
diff --git a/ksayit/Freeverb_plugin/CMakeLists.txt b/ksayit/Freeverb_plugin/CMakeLists.txt
new file mode 100644
index 0000000..ed4a7cd
--- /dev/null
+++ b/ksayit/Freeverb_plugin/CMakeLists.txt
@@ -0,0 +1,46 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/ksayit/src
+ ${ARTS_MODULES_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+##### libFreeverb_plugin (module)
+
+tde_add_library( libFreeverb_plugin MODULE AUTOMOC
+
+ SOURCES
+ freeverb_setup.ui
+ freeverbsetupimpl.cpp
+ ksayitfreeverblib.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ ${ARTS_FREEVERB_PLUGIN_LIBRARIES}
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE ksayit_libFreeverb_service.desktop
+ DESTINATION ${SERVICETYPES_INSTALL_DIR}
+ PO_DIR ksayit-desktops
+)
+
+tde_create_translated_desktop(
+ SOURCE ksayit_libFreeverb.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR ksayit-desktops
+)
diff --git a/ksayit/Freeverb_plugin/freeverb_setup.ui b/ksayit/Freeverb_plugin/freeverb_setup.ui
index 7cd1a02..c34a642 100644
--- a/ksayit/Freeverb_plugin/freeverb_setup.ui
+++ b/ksayit/Freeverb_plugin/freeverb_setup.ui
@@ -653,16 +653,16 @@
<slot>slotOKwasClicked()</slot>
</connection>
</connections>
-<Q_SLOTS>
+<slots>
<slot>sliderRoomChanged(int)</slot>
<slot>sliderDampChanged(int)</slot>
<slot>sliderWetChanged(int)</slot>
<slot>sliderDryChanged(int)</slot>
<slot>sliderWidthChanged(int)</slot>
<slot>slotOKwasClicked()</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kpushbutton.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/ksayit/Freeverb_plugin/freeverbsetupimpl.h b/ksayit/Freeverb_plugin/freeverbsetupimpl.h
index 6e2eab3..1831ad3 100644
--- a/ksayit/Freeverb_plugin/freeverbsetupimpl.h
+++ b/ksayit/Freeverb_plugin/freeverbsetupimpl.h
@@ -32,7 +32,7 @@
*/
class FreeverbSetupImpl : public Freeverb_Setup {
- Q_OBJECT
+ TQ_OBJECT
public:
FreeverbSetupImpl(TQWidget *parent=0, const char *name=0, bool modal=true, TDEConfig *config=0);
diff --git a/ksayit/Freeverb_plugin/ksayit_libFreeverb.desktop b/ksayit/Freeverb_plugin/ksayit_libFreeverb.desktop
index 9e42bef..15e51d9 100644
--- a/ksayit/Freeverb_plugin/ksayit_libFreeverb.desktop
+++ b/ksayit/Freeverb_plugin/ksayit_libFreeverb.desktop
@@ -1,52 +1,8 @@
[Desktop Entry]
Name=Freeverb
-Name[ne]=फ्रीभर्व
-Name[vi]=Động từ tự do
+
Comment=A Freeverb Plugin for KSayIt
-Comment[bg]=Приставка Freeverb за KTTSD
-Comment[br]=Lugent Freeverb evit KSayIt
-Comment[ca]=Un connector de Freeverb pel KSayit
-Comment[cs]=Freeverb modul pro KSayIt
-Comment[da]=Et Freeverb plugin for KSayIt
-Comment[de]=Ein Freeverb-Modul für KSayIt
-Comment[el]=Ένα πρόσθετο Freeverb για το KTTSD
-Comment[es]=Complemento Freeverb para KSayIt
-Comment[et]=KSayIt'i Freeverbi plugin
-Comment[eu]=KSayIt-en Freeverb plugina
-Comment[fa]=وصلۀ Freever برای KSaylt
-Comment[fi]=Freeverb-liitännäinen KSayIt--ohjelmalle
-Comment[fr]=Un module Freeverb pour KSayIt
-Comment[ga]=Breiseán Freeverb le haghaidh KSayIt
-Comment[gl]=Un Plugin de Freeverb para KSayIt
-Comment[he]=תוסף Freeverb עבור KSayIt
-Comment[hu]=Freeverb modul a KSayIt programhoz
-Comment[is]=Freeverb íforrit fyrir KSayIt
-Comment[it]=Un plugin per Freeverb per KTTSD
-Comment[ja]=KSayIt 用 Freeverb プラグイン
-Comment[ka]=KSayIt Freeverb მოდული
-Comment[km]= កម្មវិធី​ជំនួយ Freeverb សម្រាប់ KSayIt
-Comment[lt]=Freeverb priedas skirtas KSayIt
-Comment[mk]=Freeverb-приклучок за Ksaylt
-Comment[nb]=Et Freeverb programtillegg for KSayIt
-Comment[nds]=En Freeverb-Moduul för KSayIt
-Comment[ne]=के से इटका लागि एउटा फ्रिभर्व प्लगइन
-Comment[nl]=Een Freeverb-plugin vor KSayIt
-Comment[pa]=KSayIt ਲਈ ਮੁਕਤ-ਵਰਬ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka Freeverb dla KSayIt
-Comment[pt]='Plugin' de Reverberação para o KTTSD
-Comment[pt_BR]=Plug-in do Freeverb para o KSayIt
-Comment[ru]=Модуль Freeverb для KSayIt
-Comment[sk]=Modul Freeverb pre PovedzTo
-Comment[sl]=Vstavek Freeverb za KSayIt
-Comment[sr]=Freeverb прикључак за KSayIt
-Comment[sr@Latn]=Freeverb priključak za KSayIt
-Comment[sv]=Freeverb-insticksprogram för Ksayit
-Comment[tg]=Модули Freeverb барои KSayIt
-Comment[tr]=Ksayit için Freeverb Eklentisi
-Comment[uk]=Втулок Freeverb для KSayIt
-Comment[vi]=Trình bổ sung "Động từ tự do" cho "Nói K"
-Comment[zh_CN]=KSayIt 的 Freeverb 插件
-Comment[zh_TW]=KSayIt 的 Freeverb 外掛程式
-X-TDE-ServiceTypes=KSayIt/FXPlugin
+
Type=Service
+X-TDE-ServiceTypes=KSayIt/FXPlugin
X-TDE-Library=libFreeverb_plugin
diff --git a/ksayit/Freeverb_plugin/ksayit_libFreeverb_service.desktop b/ksayit/Freeverb_plugin/ksayit_libFreeverb_service.desktop
index 162baa5..c524094 100644
--- a/ksayit/Freeverb_plugin/ksayit_libFreeverb_service.desktop
+++ b/ksayit/Freeverb_plugin/ksayit_libFreeverb_service.desktop
@@ -1,48 +1,5 @@
[Desktop Entry]
+Comment=A Freeverb Plugin for KSayIt
+
Type=ServiceType
X-TDE-ServiceType=KSayIt/FXPlugin
-Comment=A Freeverb Plugin for KSayIt
-Comment[bg]=Приставка Freeverb за KTTSD
-Comment[br]=Lugent Freeverb evit KSayIt
-Comment[ca]=Un connector de Freeverb pel KSayit
-Comment[cs]=Freeverb modul pro KSayIt
-Comment[da]=Et Freeverb plugin for KSayIt
-Comment[de]=Ein Freeverb-Modul für KSayIt
-Comment[el]=Ένα πρόσθετο Freeverb για το KTTSD
-Comment[es]=Complemento Freeverb para KSayIt
-Comment[et]=KSayIt'i Freeverbi plugin
-Comment[eu]=KSayIt-en Freeverb plugina
-Comment[fa]=وصلۀ Freever برای KSaylt
-Comment[fi]=Freeverb-liitännäinen KSayIt--ohjelmalle
-Comment[fr]=Un module Freeverb pour KSayIt
-Comment[ga]=Breiseán Freeverb le haghaidh KSayIt
-Comment[gl]=Un Plugin de Freeverb para KSayIt
-Comment[he]=תוסף Freeverb עבור KSayIt
-Comment[hu]=Freeverb modul a KSayIt programhoz
-Comment[is]=Freeverb íforrit fyrir KSayIt
-Comment[it]=Un plugin per Freeverb per KTTSD
-Comment[ja]=KSayIt 用 Freeverb プラグイン
-Comment[ka]=KSayIt Freeverb მოდული
-Comment[km]= កម្មវិធី​ជំនួយ Freeverb សម្រាប់ KSayIt
-Comment[lt]=Freeverb priedas skirtas KSayIt
-Comment[mk]=Freeverb-приклучок за Ksaylt
-Comment[nb]=Et Freeverb programtillegg for KSayIt
-Comment[nds]=En Freeverb-Moduul för KSayIt
-Comment[ne]=के से इटका लागि एउटा फ्रिभर्व प्लगइन
-Comment[nl]=Een Freeverb-plugin vor KSayIt
-Comment[pa]=KSayIt ਲਈ ਮੁਕਤ-ਵਰਬ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka Freeverb dla KSayIt
-Comment[pt]='Plugin' de Reverberação para o KTTSD
-Comment[pt_BR]=Plug-in do Freeverb para o KSayIt
-Comment[ru]=Модуль Freeverb для KSayIt
-Comment[sk]=Modul Freeverb pre PovedzTo
-Comment[sl]=Vstavek Freeverb za KSayIt
-Comment[sr]=Freeverb прикључак за KSayIt
-Comment[sr@Latn]=Freeverb priključak za KSayIt
-Comment[sv]=Freeverb-insticksprogram för Ksayit
-Comment[tg]=Модули Freeverb барои KSayIt
-Comment[tr]=Ksayit için Freeverb Eklentisi
-Comment[uk]=Втулок Freeverb для KSayIt
-Comment[vi]=Trình bổ sung "Động từ tự do" cho "Nói K"
-Comment[zh_CN]=KSayIt 的 Freeverb 插件
-Comment[zh_TW]=KSayIt 的 Freeverb 外掛程式
diff --git a/ksayit/Freeverb_plugin/ksayitfreeverblib.h b/ksayit/Freeverb_plugin/ksayitfreeverblib.h
index 65fe54c..2f477d2 100644
--- a/ksayit/Freeverb_plugin/ksayitfreeverblib.h
+++ b/ksayit/Freeverb_plugin/ksayitfreeverblib.h
@@ -26,7 +26,7 @@
class FreeverbPluginFactory : public KLibFactory
{
-Q_OBJECT
+TQ_OBJECT
public:
// Consturctor
@@ -36,7 +36,7 @@ public:
virtual ~FreeverbPluginFactory(){ delete p_instance; };
TQObject* createObject(TQObject *parent=0, const char* name=0,
- const char* className=TQOBJECT_OBJECT_NAME_STRING,
+ const char* className="TQObject",
const TQStringList &args=TQStringList());
private:
@@ -50,7 +50,7 @@ private:
class FreeverbPlugin : public FXPlugin
{
-Q_OBJECT
+TQ_OBJECT
public:
// Constructor
diff --git a/ksayit/KTTSD_Lib/CMakeLists.txt b/ksayit/KTTSD_Lib/CMakeLists.txt
new file mode 100644
index 0000000..511c22d
--- /dev/null
+++ b/ksayit/KTTSD_Lib/CMakeLists.txt
@@ -0,0 +1,34 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}/kspeechsink
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### KTTSD_Lib (shared)
+
+tde_add_library( KTTSD_Lib SHARED AUTOMOC
+
+ SOURCES
+ KTTSDlibSetup.ui
+ kttsdlib.cpp
+ kttsdlibsetupimpl.cpp
+ kttsdlibtalker2.cpp
+ LINK
+ tdeui-shared
+ tdecore-shared
+ kspeech_stub-static
+
+ VERSION 0.0.1
+
+ DESTINATION ${LIB_INSTALL_DIR}
+)
diff --git a/ksayit/KTTSD_Lib/KTTSDlibSetup.ui b/ksayit/KTTSD_Lib/KTTSDlibSetup.ui
index 395ad86..fc35ff5 100644
--- a/ksayit/KTTSD_Lib/KTTSDlibSetup.ui
+++ b/ksayit/KTTSD_Lib/KTTSDlibSetup.ui
@@ -114,8 +114,8 @@
<slot>slotLaunchControlcenter()</slot>
</connection>
</connections>
-<Q_SLOTS>
+<slots>
<slot access="protected">slotLaunchControlcenter()</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
</UI>
diff --git a/ksayit/KTTSD_Lib/kttsdlib.cpp b/ksayit/KTTSD_Lib/kttsdlib.cpp
index 32e66e4..31be41d 100644
--- a/ksayit/KTTSD_Lib/kttsdlib.cpp
+++ b/ksayit/KTTSD_Lib/kttsdlib.cpp
@@ -32,12 +32,12 @@ KTTSDLib::KTTSDLib(TQObject *parent, const char *name, TDEApplication *Appl)
{
TDEGlobal::locale()->insertCatalogue("libKTTSD");
m_talker = new kttsdlibtalker2(static_cast<TQObject*>(this), "kttsdlibtalker");
- connect(m_talker, TQT_SIGNAL(signalTextFinished(const uint)),
- this, TQT_SLOT(slotTextFinished(const uint)) );
- connect(m_talker, TQT_SIGNAL(signalTextStopped(const uint)),
- this, TQT_SLOT(slotTextStopped(const uint)) );
- connect(m_talker, TQT_SIGNAL(signalTextStarted(const uint)),
- this, TQT_SLOT(slotTextStarted(const uint)) );
+ connect(m_talker, TQ_SIGNAL(signalTextFinished(const uint)),
+ this, TQ_SLOT(slotTextFinished(const uint)) );
+ connect(m_talker, TQ_SIGNAL(signalTextStopped(const uint)),
+ this, TQ_SLOT(slotTextStopped(const uint)) );
+ connect(m_talker, TQ_SIGNAL(signalTextStarted(const uint)),
+ this, TQ_SLOT(slotTextStarted(const uint)) );
// reset list of currently processed jobs
while ( !jobList.empty() ){
diff --git a/ksayit/KTTSD_Lib/kttsdlib.h b/ksayit/KTTSD_Lib/kttsdlib.h
index 73e7240..696171e 100644
--- a/ksayit/KTTSD_Lib/kttsdlib.h
+++ b/ksayit/KTTSD_Lib/kttsdlib.h
@@ -47,7 +47,7 @@ class kttsdlibtalker2;
*/
class KDE_EXPORT KTTSDLib : public TQObject
{
-Q_OBJECT
+TQ_OBJECT
signals:
/** Emitted when the plugin has been finished speeking.
diff --git a/ksayit/KTTSD_Lib/kttsdlibsetupimpl.cpp b/ksayit/KTTSD_Lib/kttsdlibsetupimpl.cpp
index 1dc4196..7228768 100644
--- a/ksayit/KTTSD_Lib/kttsdlibsetupimpl.cpp
+++ b/ksayit/KTTSD_Lib/kttsdlibsetupimpl.cpp
@@ -55,8 +55,8 @@ void KTTSDlibSetupImpl::slotLaunchControlcenter()
// invoke the Control Center Module
TDEProcess *kcmproc = new TDEProcess();
- connect(kcmproc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotKCMProcessExited(TDEProcess*)) );
+ connect(kcmproc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotKCMProcessExited(TDEProcess*)) );
(*kcmproc) << "tdecmshell";
(*kcmproc) << "kcmkttsd";
kcmproc->start(TDEProcess::NotifyOnExit);
diff --git a/ksayit/KTTSD_Lib/kttsdlibsetupimpl.h b/ksayit/KTTSD_Lib/kttsdlibsetupimpl.h
index c2b4add..7b1df15 100644
--- a/ksayit/KTTSD_Lib/kttsdlibsetupimpl.h
+++ b/ksayit/KTTSD_Lib/kttsdlibsetupimpl.h
@@ -25,7 +25,7 @@
*/
class KTTSDlibSetupImpl : public KTTSDlibSetup
{
-Q_OBJECT
+TQ_OBJECT
public:
KTTSDlibSetupImpl(TQWidget *parent = 0, const char *name = 0);
diff --git a/ksayit/KTTSD_Lib/kttsdlibtalker2.h b/ksayit/KTTSD_Lib/kttsdlibtalker2.h
index fe33161..641b26e 100644
--- a/ksayit/KTTSD_Lib/kttsdlibtalker2.h
+++ b/ksayit/KTTSD_Lib/kttsdlibtalker2.h
@@ -28,7 +28,7 @@
*/
class kttsdlibtalker2 : public TQObject, public KSpeech_stub, virtual public KSpeechSink
{
-Q_OBJECT
+TQ_OBJECT
signals:
diff --git a/ksayit/src/CMakeLists.txt b/ksayit/src/CMakeLists.txt
new file mode 100644
index 0000000..ecbaca8
--- /dev/null
+++ b/ksayit/src/CMakeLists.txt
@@ -0,0 +1,73 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/ksayit/KTTSD_Lib
+ ${KAYSAYIT_ARTS_INCLUDE}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### ksayit (executable)
+
+tde_add_executable( ksayit AUTOMOC
+
+ SOURCES
+ DocTreeView.ui
+ fx_setup.ui
+ KSayItView.ui
+ doctreeviewimpl.cpp
+ effectstack.cpp
+ fxpluginhandler.cpp
+ fxsetupimpl.cpp
+ ksayit.skel
+ ksayitsystemtray.cpp
+ ksayitviewimpl.cpp
+ main.cpp
+ voicesetupdlg.cpp
+ ksayit.cpp
+ parasaxparser.cpp
+ saxhandler.cpp
+ ksayitbookmarkhandler.cpp
+ contextmenuhandler.cpp
+ docbookclasses.cpp
+ docbookgenerator.cpp
+ docbookparser.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ KTTSD_Lib-shared
+ ${KAYSAYIT_ARTS_LIBRARIES}
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+##### icons
+
+tde_install_icons()
+
+
+##### other data
+
+install(
+ FILES ksayitui.rc ContextMenus.xml
+ DESTINATION ${DATA_INSTALL_DIR}/ksayit
+)
+
+tde_create_translated_desktop(
+ SOURCE ksayit.desktop
+ PO_DIR ksayit-desktops
+)
+
+install(
+ FILES ksayit_fxplugin.h
+ DESTINATION ${INCLUDE_INSTALL_DIR}
+)
diff --git a/ksayit/src/DocTreeView.ui b/ksayit/src/DocTreeView.ui
index 166b9b6..d1240cd 100644
--- a/ksayit/src/DocTreeView.ui
+++ b/ksayit/src/DocTreeView.ui
@@ -121,8 +121,9 @@
</forwards>
<includes>
<include location="local" impldecl="in implementation">DocTreeView.ui.h</include>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
</includes>
-<Q_SIGNALS>
+<signals>
<signal>signalContentChanged(const TQString &amp;)</signal>
<signal>signalAllNodesProcessed()</signal>
<signal>signalSetText(const TQString &amp;)</signal>
@@ -131,8 +132,8 @@
<signal>signalSetBookmarkFilename(const TQString&amp;)</signal>
<signal>signalChangeBookmarkFilename(const TQString &amp;)</signal>
<signal>signalDeleteBookmark(const TQString&amp;, const TQString&amp;)</signal>
-</Q_SIGNALS>
-<Q_SLOTS>
+</signals>
+<slots>
<slot>slotItemClicked( TQListViewItem * )</slot>
<slot access="protected">slotRenameItem()</slot>
<slot access="protected">slotDeleteItem()</slot>
@@ -153,9 +154,6 @@
<slot access="protected">slotNewSection_4()</slot>
<slot access="protected">slotNewSection_5()</slot>
<slot>slotRightButtonPressed( TQListViewItem * i, const TQPoint &amp;, int )</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>tdelistview.h</includehint>
-</includehints>
</UI>
diff --git a/ksayit/src/KSayItView.ui b/ksayit/src/KSayItView.ui
index 90d8332..876ca04 100644
--- a/ksayit/src/KSayItView.ui
+++ b/ksayit/src/KSayItView.ui
@@ -58,12 +58,12 @@
<tabstops>
<tabstop>TextEdit</tabstop>
</tabstops>
-<Q_SLOTS>
+<slots>
<slot>slotCopyAvailable(bool)</slot>
<slot>slotTextChanged()</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>ktextedit.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">ktextedit.h</include>
+</includes>
</UI>
diff --git a/ksayit/src/contextmenuhandler.cpp b/ksayit/src/contextmenuhandler.cpp
index d6c5ddb..69cb5a2 100644
--- a/ksayit/src/contextmenuhandler.cpp
+++ b/ksayit/src/contextmenuhandler.cpp
@@ -158,75 +158,75 @@ void ContextMenuHandler::initActions()
// User defined actions
renameItem = new TDEAction (i18n("Rename..."),
0,
- m_DocTreeView, TQT_SLOT (slotRenameItem()), NULL );
+ m_DocTreeView, TQ_SLOT (slotRenameItem()), NULL );
deleteItem = new TDEAction (i18n("Delete..."),
0,
- m_DocTreeView, TQT_SLOT (slotDeleteItem()), NULL );
+ m_DocTreeView, TQ_SLOT (slotDeleteItem()), NULL );
newBookInfo = new TDEAction ( i18n("Overview"),
0,
- m_DocTreeView, TQT_SLOT (slotNewBookInfo()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewBookInfo()), NULL );
newChapter = new TDEAction ( i18n("Chapter"),
0,
- m_DocTreeView, TQT_SLOT (slotNewChapter()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewChapter()), NULL );
newKeywordSet = new TDEAction ( i18n("Keywords"),
0,
- m_DocTreeView, TQT_SLOT (slotNewKeywordSet()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewKeywordSet()), NULL );
newKeyword = new TDEAction ( i18n("Keyword"),
0,
- m_DocTreeView, TQT_SLOT (slotNewKeyword()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewKeyword()), NULL );
newAbstract = new TDEAction ( i18n("Abstract"),
0,
- m_DocTreeView, TQT_SLOT (slotNewAbstract()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewAbstract()), NULL );
newAuthorGroup = new TDEAction ( i18n("Authors"),
0,
- m_DocTreeView, TQT_SLOT (slotNewAuthorGroup()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewAuthorGroup()), NULL );
newAuthor = new TDEAction ( i18n("Author"),
0,
- m_DocTreeView, TQT_SLOT (slotNewAuthor()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewAuthor()), NULL );
newDate = new TDEAction ( i18n("Date"),
0,
- m_DocTreeView, TQT_SLOT (slotNewDate()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewDate()), NULL );
newReleaseInfo = new TDEAction ( i18n("Release Info"),
0,
- m_DocTreeView, TQT_SLOT (slotNewReleaseInfo()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewReleaseInfo()), NULL );
newTitle = new TDEAction ( i18n("Title"),
0,
- m_DocTreeView, TQT_SLOT (slotNewTitle()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewTitle()), NULL );
newParagraph = new TDEAction ( i18n("Paragraph"),
0,
- m_DocTreeView, TQT_SLOT (slotNewParagraph()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewParagraph()), NULL );
newSection_1 = new TDEAction ( i18n("Section Level 1"),
0,
- m_DocTreeView, TQT_SLOT (slotNewSection_1()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewSection_1()), NULL );
newSection_2 = new TDEAction ( i18n("Section Level 2"),
0,
- m_DocTreeView, TQT_SLOT (slotNewSection_2()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewSection_2()), NULL );
newSection_3 = new TDEAction ( i18n("Section Level 3"),
0,
- m_DocTreeView, TQT_SLOT (slotNewSection_3()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewSection_3()), NULL );
newSection_4 = new TDEAction ( i18n("Section Level 4"),
0,
- m_DocTreeView, TQT_SLOT (slotNewSection_4()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewSection_4()), NULL );
newSection_5 = new TDEAction ( i18n("Section Level 5"),
0,
- m_DocTreeView, TQT_SLOT (slotNewSection_5()), NULL );
+ m_DocTreeView, TQ_SLOT (slotNewSection_5()), NULL );
}
@@ -293,7 +293,7 @@ bool ContextMenuHandler::parseXmlFile(const TQString &xmlID)
ContextActionHandler handler(this);
handler.setSearchID(xmlID);
parser.setContentHandler( &handler );
- return parser.parse( TQT_TQIODEVICE(&xmlFile) );
+ return parser.parse( &xmlFile );
}
diff --git a/ksayit/src/contextmenuhandler.h b/ksayit/src/contextmenuhandler.h
index 104b76c..17b9688 100644
--- a/ksayit/src/contextmenuhandler.h
+++ b/ksayit/src/contextmenuhandler.h
@@ -66,7 +66,7 @@ private:
*/
class ContextMenuHandler : public TQObject
{
-Q_OBJECT
+TQ_OBJECT
public:
ContextMenuHandler(TQObject *parent = 0, const char *name = 0);
diff --git a/ksayit/src/doctreeviewimpl.cpp b/ksayit/src/doctreeviewimpl.cpp
index f72a717..295098d 100644
--- a/ksayit/src/doctreeviewimpl.cpp
+++ b/ksayit/src/doctreeviewimpl.cpp
@@ -86,7 +86,7 @@ DocTreeViewImpl::~DocTreeViewImpl()
void DocTreeViewImpl::enableContextMenus( bool enabled )
{
if ( enabled ){
- m_contextmenuhandler = new ContextMenuHandler(TQT_TQOBJECT(this), "contextmenuhandler");
+ m_contextmenuhandler = new ContextMenuHandler(this, "contextmenuhandler");
} else {
if ( m_contextmenuhandler )
delete m_contextmenuhandler;
@@ -927,7 +927,7 @@ void DocTreeViewImpl::slotNewDate()
date->setText(3, TQString("%1").arg(newIndex).rightJustify(8,'0') );
// get current date
TQString today;
- today = TDEGlobal::locale()->formatDate(TQDate::currentDate(Qt::LocalTime), true);
+ today = TDEGlobal::locale()->formatDate(TQDate::currentDate(TQt::LocalTime), true);
date->setText( 1, today);
date->setValue( KSayItGlobal::RAWDATA, today );
date->setValue( KSayItGlobal::RTFDATA, today );
diff --git a/ksayit/src/fx_setup.ui b/ksayit/src/fx_setup.ui
index 4e9e975..f41944e 100644
--- a/ksayit/src/fx_setup.ui
+++ b/ksayit/src/fx_setup.ui
@@ -242,11 +242,11 @@
<slot>slotConfigureEffect(TQListBoxItem*)</slot>
</connection>
</connections>
-<Q_SLOTS>
+<slots>
<slot>slotAdd()</slot>
<slot>slotRemove()</slot>
<slot>slotRemoveAll()</slot>
<slot>slotConfigureEffect(TQListBoxItem*)</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
</UI>
diff --git a/ksayit/src/fxpluginhandler.h b/ksayit/src/fxpluginhandler.h
index 92db2da..bffc6ef 100644
--- a/ksayit/src/fxpluginhandler.h
+++ b/ksayit/src/fxpluginhandler.h
@@ -46,7 +46,7 @@ typedef struct {
class FXPluginHandler : public TQObject
{
-Q_OBJECT
+TQ_OBJECT
public:
FXPluginHandler(TQObject *parent = 0, const char *name = 0, TDEConfig *config=0);
diff --git a/ksayit/src/fxsetupimpl.h b/ksayit/src/fxsetupimpl.h
index 422368e..51286c9 100644
--- a/ksayit/src/fxsetupimpl.h
+++ b/ksayit/src/fxsetupimpl.h
@@ -36,7 +36,7 @@ class FXPluginHandler;
*@author voglrobe
*/
class FX_SetupImpl : public FX_Setup {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/ksayit/src/ksayit.cpp b/ksayit/src/ksayit.cpp
index 8181a87..67c466f 100644
--- a/ksayit/src/ksayit.cpp
+++ b/ksayit/src/ksayit.cpp
@@ -70,7 +70,7 @@ KSayItApp::KSayItApp(TQWidget* parent, const char* name, WFlags f,
m_currentBookmarkFile = TQString();
config=kapp->config();
- m_kttslib = new KTTSDLib(TQT_TQOBJECT(this), "KTTSD-Library", kapp);
+ m_kttslib = new KTTSDLib(this, "KTTSD-Library", kapp);
initView();
initStatusBar();
@@ -83,32 +83,32 @@ KSayItApp::KSayItApp(TQWidget* parent, const char* name, WFlags f,
readOptions();
// connect TTS plugin handler to this object
- connect(m_kttslib, TQT_SIGNAL(signalFinished()),
- TQT_TQOBJECT(this), TQT_SLOT(slotTTSFinished()) );
+ connect(m_kttslib, TQ_SIGNAL(signalFinished()),
+ this, TQ_SLOT(slotTTSFinished()) );
// only used if library thinks it has to call the preferences dialog.
// e.g. when it detects a bad configuration.
- connect(m_kttslib, TQT_SIGNAL(signalCallPreferences()),
- TQT_TQOBJECT(this), TQT_SLOT(slotPreferences()) );
+ connect(m_kttslib, TQ_SIGNAL(signalCallPreferences()),
+ this, TQ_SLOT(slotPreferences()) );
// init Clipboard
cb = TQApplication::clipboard();
- connect(cb, TQT_SIGNAL(dataChanged()), TQT_TQOBJECT(this), TQT_SLOT(slotClipboardChanged()) );
+ connect(cb, TQ_SIGNAL(dataChanged()), this, TQ_SLOT(slotClipboardChanged()) );
// create SystemTray object
tray = new KSayItSystemTray(this, "system_tray");
- connect(tray, TQT_SIGNAL(signalCallPreferences()), TQT_TQOBJECT(this), TQT_SLOT(slotPreferences()) );
- connect(tray, TQT_SIGNAL(signalSayActivated()), TQT_TQOBJECT(this), TQT_SLOT(slotSayText()) );
- connect(tray, TQT_SIGNAL(signalSayClipboard()), TQT_TQOBJECT(this), TQT_SLOT(slotSayClipboard()) );
- connect(tray, TQT_SIGNAL(signalShutUpActivated()), TQT_TQOBJECT(this), TQT_SLOT(slotStopActivated()) );
- connect(tray, TQT_SIGNAL(signalPauseActivated()), TQT_TQOBJECT(this), TQT_SLOT(slotPauseActivated()) );
- connect(tray, TQT_SIGNAL(signalNextActivated()), TQT_TQOBJECT(this), TQT_SLOT(slotNextSentenceActivated()) );
- connect(tray, TQT_SIGNAL(signalPrevActivated()), TQT_TQOBJECT(this), TQT_SLOT(slotPrevSentenceActivated()) );
+ connect(tray, TQ_SIGNAL(signalCallPreferences()), this, TQ_SLOT(slotPreferences()) );
+ connect(tray, TQ_SIGNAL(signalSayActivated()), this, TQ_SLOT(slotSayText()) );
+ connect(tray, TQ_SIGNAL(signalSayClipboard()), this, TQ_SLOT(slotSayClipboard()) );
+ connect(tray, TQ_SIGNAL(signalShutUpActivated()), this, TQ_SLOT(slotStopActivated()) );
+ connect(tray, TQ_SIGNAL(signalPauseActivated()), this, TQ_SLOT(slotPauseActivated()) );
+ connect(tray, TQ_SIGNAL(signalNextActivated()), this, TQ_SLOT(slotNextSentenceActivated()) );
+ connect(tray, TQ_SIGNAL(signalPrevActivated()), this, TQ_SLOT(slotPrevSentenceActivated()) );
tray->show();
tray->setEnabled(true);
// create the FX plugin handler
- m_fxpluginhandler = new FXPluginHandler(TQT_TQOBJECT(this), "fxpluginhandler", config);
+ m_fxpluginhandler = new FXPluginHandler(this, "fxpluginhandler", config);
m_fxpluginhandler->searchPlugins();
// create object for effectstack
@@ -141,61 +141,61 @@ KSayItApp::~KSayItApp()
void KSayItApp::initActions()
{
// Standard-Actions
- open = KStdAction::open(TQT_TQOBJECT(this), TQT_SLOT(slotFileOpen()), actionCollection());
- save = KStdAction::save(TQT_TQOBJECT(this), TQT_SLOT(slotFileSave()), actionCollection());
- saveAs = KStdAction::saveAs(TQT_TQOBJECT(this), TQT_SLOT(slotFileSaveAs()), actionCollection());
- KStdAction::quit(TQT_TQOBJECT(this), TQT_SLOT(slotFileQuit()), actionCollection());
- KStdAction::close(TQT_TQOBJECT(this), TQT_SLOT(slotCloseMainWindow()), actionCollection());
- cut = KStdAction::cut(TQT_TQOBJECT(view), TQT_SLOT(slotCut()), actionCollection());
- copy = KStdAction::copy(TQT_TQOBJECT(view), TQT_SLOT(slotCopy()), actionCollection());
- paste = KStdAction::paste(TQT_TQOBJECT(view), TQT_SLOT(slotPaste()), actionCollection());
- preferences = KStdAction::preferences(TQT_TQOBJECT(this), TQT_SLOT(slotPreferences()), actionCollection());
- KStdAction::keyBindings(TQT_TQOBJECT(this), TQT_SLOT(slotEditKeys()), actionCollection());
- KStdAction::configureToolbars(TQT_TQOBJECT(this), TQT_SLOT(slotConfigureToolbar()), actionCollection());
+ open = KStdAction::open(this, TQ_SLOT(slotFileOpen()), actionCollection());
+ save = KStdAction::save(this, TQ_SLOT(slotFileSave()), actionCollection());
+ saveAs = KStdAction::saveAs(this, TQ_SLOT(slotFileSaveAs()), actionCollection());
+ KStdAction::quit(this, TQ_SLOT(slotFileQuit()), actionCollection());
+ KStdAction::close(this, TQ_SLOT(slotCloseMainWindow()), actionCollection());
+ cut = KStdAction::cut(view, TQ_SLOT(slotCut()), actionCollection());
+ copy = KStdAction::copy(view, TQ_SLOT(slotCopy()), actionCollection());
+ paste = KStdAction::paste(view, TQ_SLOT(slotPaste()), actionCollection());
+ preferences = KStdAction::preferences(this, TQ_SLOT(slotPreferences()), actionCollection());
+ KStdAction::keyBindings(this, TQ_SLOT(slotEditKeys()), actionCollection());
+ KStdAction::configureToolbars(this, TQ_SLOT(slotConfigureToolbar()), actionCollection());
KStdAction::showToolbar("mainToolBar", actionCollection());
- statusBarAction = KStdAction::showStatusbar(TQT_TQOBJECT(this), TQT_SLOT(slotToggleStatusBar()), actionCollection());
+ statusBarAction = KStdAction::showStatusbar(this, TQ_SLOT(slotToggleStatusBar()), actionCollection());
// User defined actions
say = new TDEAction (i18n("Say"),
TQt::Key_F9,
- TQT_TQOBJECT(this), TQT_SLOT (slotSayText()),
+ this, TQ_SLOT (slotSayText()),
actionCollection(),
"say_it");
pause = new TDEAction (i18n("Pause"),
TQt::Key_Pause,
- TQT_TQOBJECT(this), TQT_SLOT (slotPauseActivated()),
+ this, TQ_SLOT (slotPauseActivated()),
actionCollection(),
"pause");
shutup = new TDEAction (i18n("Shut Up"),
TQt::Key_F10,
- TQT_TQOBJECT(this), TQT_SLOT (slotStopActivated()),
+ this, TQ_SLOT (slotStopActivated()),
actionCollection(),
"shut_up");
next_sentence = new TDEAction (i18n("Next Sentence"),
TQt::Key_Next,
- TQT_TQOBJECT(this), TQT_SLOT (slotNextSentenceActivated()),
+ this, TQ_SLOT (slotNextSentenceActivated()),
actionCollection(),
"next_sentence");
prev_sentence = new TDEAction (i18n("Previous Sentence"),
TQt::Key_Prior,
- TQT_TQOBJECT(this), TQT_SLOT(slotPrevSentenceActivated()),
+ this, TQ_SLOT(slotPrevSentenceActivated()),
actionCollection(),
"prev_sentence");
clear = new TDEAction (i18n("Clear"),
TQt::Key_F12,
- TQT_TQOBJECT(this), TQT_SLOT(slotClear()),
+ this, TQ_SLOT(slotClear()),
actionCollection(),
"clear");
edit = new TDEToggleAction( i18n("Edit Text"),
0,
- TQT_TQOBJECT(this), TQT_SLOT(slotEditToggled()),
+ this, TQ_SLOT(slotEditToggled()),
actionCollection(),
"edittext");
@@ -325,14 +325,14 @@ void KSayItApp::initView()
view->setMinimumSize(view->sizeHint());
setCentralWidget(view);
// connections
- connect( view, TQT_SIGNAL(signalEnableCopyCut(bool)),
- TQT_TQOBJECT(this), TQT_SLOT(slotEnableCopyCut(bool)));
- connect( view, TQT_SIGNAL(signalShowStatus(const TQString &)),
- TQT_TQOBJECT(this), TQT_SLOT(slotStatusMsg(const TQString &)));
- connect( view, TQT_SIGNAL(signalSetCaption(const TQString &)),
- TQT_TQOBJECT(this), TQT_SLOT(slotSetCaption(const TQString &)));
- connect( view, TQT_SIGNAL(signalTextChanged(bool)),
- TQT_TQOBJECT(this), TQT_SLOT(slotTextChanged(bool)) );
+ connect( view, TQ_SIGNAL(signalEnableCopyCut(bool)),
+ this, TQ_SLOT(slotEnableCopyCut(bool)));
+ connect( view, TQ_SIGNAL(signalShowStatus(const TQString &)),
+ this, TQ_SLOT(slotStatusMsg(const TQString &)));
+ connect( view, TQ_SIGNAL(signalSetCaption(const TQString &)),
+ this, TQ_SLOT(slotSetCaption(const TQString &)));
+ connect( view, TQ_SIGNAL(signalTextChanged(bool)),
+ this, TQ_SLOT(slotTextChanged(bool)) );
// DockWindow
TQDockWindow *docview = new TQDockWindow(TQDockWindow::InDock, this, "docview");
@@ -344,22 +344,22 @@ void KSayItApp::initView()
this->setDockEnabled(docview, TQt::DockTop, false);
this->setDockEnabled(docview, TQt::DockBottom, false);
this->moveDockWindow(docview, TQt::DockLeft);
- connect( treeview, TQT_SIGNAL(signalContentChanged(const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotTreeViewChanged(const TQString&)) );
- connect( treeview, TQT_SIGNAL(signalSetText(const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotSetText(const TQString&)) );
- connect( treeview, TQT_SIGNAL(signalAllNodesProcessed()),
- TQT_TQOBJECT(this), TQT_SLOT(slotSayNode()) );
- connect( treeview, TQT_SIGNAL(signalEnableTextedit(bool)),
- TQT_TQOBJECT(this), TQT_SLOT(slotEnableTextedit(bool)) );
- connect( treeview, TQT_SIGNAL(signalNotifyBookmarkManager(const TQString&, const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotNotifyBookmarkHandler(const TQString&, const TQString&)) );
- connect( treeview, TQT_SIGNAL(signalSetBookmarkFilename(const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotSetBookmarkFilename(const TQString&)) );
- connect( treeview, TQT_SIGNAL(signalChangeBookmarkFilename(const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotChangeBookmarkFilename(const TQString&)) );
- connect( treeview, TQT_SIGNAL(signalDeleteBookmark(const TQString&, const TQString&)),
- TQT_TQOBJECT(this), TQT_SLOT(slotDeleteBookmark(const TQString&, const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalContentChanged(const TQString&)),
+ this, TQ_SLOT(slotTreeViewChanged(const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalSetText(const TQString&)),
+ this, TQ_SLOT(slotSetText(const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalAllNodesProcessed()),
+ this, TQ_SLOT(slotSayNode()) );
+ connect( treeview, TQ_SIGNAL(signalEnableTextedit(bool)),
+ this, TQ_SLOT(slotEnableTextedit(bool)) );
+ connect( treeview, TQ_SIGNAL(signalNotifyBookmarkManager(const TQString&, const TQString&)),
+ this, TQ_SLOT(slotNotifyBookmarkHandler(const TQString&, const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalSetBookmarkFilename(const TQString&)),
+ this, TQ_SLOT(slotSetBookmarkFilename(const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalChangeBookmarkFilename(const TQString&)),
+ this, TQ_SLOT(slotChangeBookmarkFilename(const TQString&)) );
+ connect( treeview, TQ_SIGNAL(signalDeleteBookmark(const TQString&, const TQString&)),
+ this, TQ_SLOT(slotDeleteBookmark(const TQString&, const TQString&)) );
}
@@ -425,7 +425,7 @@ ASYNC KSayItApp::dcopSayXmlFile(KURL url)
/////////////////////////////////////////////////////////////////////
-// TQT_SLOT IMPLEMENTATION
+// SLOT IMPLEMENTATION
/////////////////////////////////////////////////////////////////////
void KSayItApp::slotEditToggled()
@@ -451,7 +451,7 @@ void KSayItApp::slotConfigureToolbar()
{
saveMainWindowSettings( config, "MainWindow" );
KEditToolbar dlg(actionCollection(), KSAYITUI);
- connect(&dlg,TQT_SIGNAL(newToolbarConfig()),this,TQT_SLOT(slotNewToolbarConfig()));
+ connect(&dlg,TQ_SIGNAL(newToolbarConfig()),this,TQ_SLOT(slotNewToolbarConfig()));
if (dlg.exec())
{
createGUI(KSAYITUI);
diff --git a/ksayit/src/ksayit.desktop b/ksayit/src/ksayit.desktop
index 6a0fd4d..d958248 100644
--- a/ksayit/src/ksayit.desktop
+++ b/ksayit/src/ksayit.desktop
@@ -1,64 +1,11 @@
[Desktop Entry]
+Name=KSayIt
+
+GenericName=Text-to-Speech Frontend
+
Type=Application
Exec=ksayit -caption "%c" %i
Icon=ksayit
-X-DocPath=ksayit/index.html
Terminal=false
-Name=KSayIt
-Name[hi]=के-से-इट
-Name[mk]=KSaylt
-Name[ne]=के से इट
-Name[sk]=PovedzTo
-Name[sv]=Ksayit
-Name[tg]=KSayIt
-Name[tr]=Ksayit
-Name[vi]=Nói K
-GenericName=Text-to-Speech Frontend
-GenericName[bg]=Синтез на глас
-GenericName[bs]=Program za izgovaranje teksta
-GenericName[ca]=Frontal per text a veu
-GenericName[cs]=Rozhraní hlasové syntézy
-GenericName[da]=Forende for tekst-til-tale
-GenericName[de]=Oberfläche für die Sprachausgabe
-GenericName[el]=Μετατροπή κειμένου σε ομιλία
-GenericName[es]=Interfaz de administración del sistema de texto a voz de TDE
-GenericName[et]=Teksti kõneks muutmine
-GenericName[eu]=Testutik hizketarako interfazea
-GenericName[fa]=پایانۀ متن به گفتار
-GenericName[fi]=Teksti puheeksi käyttöliittymä
-GenericName[fr]=Interface pour la synthèse vocale
-GenericName[ga]=Comhéadan Téacs-go-Caint
-GenericName[gl]=Interface de Texto-para-Fala
-GenericName[hu]=Szövegfelolvasó
-GenericName[is]=Texti-í-tal myndrænt viðmót
-GenericName[it]=Interfaccia di pronuncia
-GenericName[ja]=テキスト読み上げフロントエンド
-GenericName[ka]=ტექსტი-გახმოვანების ინტერფეისი
-GenericName[km]=ផ្នែក​ខាង​មុខ​អត្ថបទ​ដែល​ត្រូវ​និយាយ
-GenericName[lt]=Teksto vertimo kalba naudotojo sąsaja
-GenericName[mk]=Преден дел за текст-во-говор
-GenericName[ms]=Antaramuka Teks-ke-Tutur
-GenericName[mt]=Programm għal Test-għal-Vuċi
-GenericName[nb]=Brukerflate for tekst til tale
-GenericName[nds]=Böversiet för den Vörleser
-GenericName[ne]=पाठ वाचक फ्रन्टइन्ड
-GenericName[nl]=Tekst-tot-spraak-schil
-GenericName[pa]=ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੁੱਖ
-GenericName[pl]=Program obsługujący syntezator mowy
-GenericName[pt]=Interface de Texto para Fala
-GenericName[pt_BR]=Interface para a Conversão de Texto para Fala
-GenericName[ru]=Интерфейс к средствам синтеза речи
-GenericName[sk]=Rozhranie text-na-reč
-GenericName[sl]=Vmesnik »besedila v govor«
-GenericName[sr]=Интерфејс за текст-у-говор
-GenericName[sr@Latn]=Interfejs za tekst-u-govor
-GenericName[sv]=Text-till-tal gränssnitt
-GenericName[ta]=பேச்சில் இருந்து உரை முன்னணி
-GenericName[tg]=Интерфейс барои таҳлили овоз
-GenericName[th]=ฟร้อนเอนด์แปลงข้อความเป็นคำพูด
-GenericName[tr]= Metinden Konuşmaya Önyüzü
-GenericName[uk]=Інтерфейс синтезу мовлення з тексту
-GenericName[vi]=Giao diện chuyển Văn bản thành Tiếng nói
-GenericName[zh_CN]=文本到语音前端
-GenericName[zh_TW]=文字轉語音前端程式
+X-DocPath=ksayit/index.html
Categories=Qt;TDE;Accessibility;Utility;
diff --git a/ksayit/src/ksayit.h b/ksayit/src/ksayit.h
index 85788c9..d1f28af 100644
--- a/ksayit/src/ksayit.h
+++ b/ksayit/src/ksayit.h
@@ -67,7 +67,7 @@ class KSayItBookmarkHandler;
*/
class KSayItApp : public TDEMainWindow, public DCOPObject
{
- Q_OBJECT
+ TQ_OBJECT
//
K_DCOP
diff --git a/ksayit/src/ksayit_fxplugin.h b/ksayit/src/ksayit_fxplugin.h
index b9ef351..b50b9da 100644
--- a/ksayit/src/ksayit_fxplugin.h
+++ b/ksayit/src/ksayit_fxplugin.h
@@ -35,7 +35,7 @@ using namespace Arts;
*/
class FXPlugin : public TQObject
{
-// Q_OBJECT
+// TQ_OBJECT
public:
FXPlugin(TQObject *parent=0, const char* name=0){};
diff --git a/ksayit/src/ksayitsystemtray.cpp b/ksayit/src/ksayitsystemtray.cpp
index 43452ca..42971a5 100644
--- a/ksayit/src/ksayitsystemtray.cpp
+++ b/ksayit/src/ksayitsystemtray.cpp
@@ -46,36 +46,36 @@ void KSayItSystemTray::initActions()
menu = this->contextMenu();
help = new KHelpMenu(this, kapp->aboutData(), false, actionCollection());
// Standard actions
- settings = KStdAction::preferences(TQT_TQOBJECT(this), TQT_SLOT(slotPreferences()), actionCollection());
- help_about = KStdAction::aboutApp(help, TQT_SLOT(aboutApplication()), actionCollection());
- help_kde = KStdAction::aboutKDE(help, TQT_SLOT(aboutKDE()), actionCollection());
+ settings = KStdAction::preferences(this, TQ_SLOT(slotPreferences()), actionCollection());
+ help_about = KStdAction::aboutApp(help, TQ_SLOT(aboutApplication()), actionCollection());
+ help_kde = KStdAction::aboutKDE(help, TQ_SLOT(aboutKDE()), actionCollection());
// User defined actions
say = new TDEAction(i18n("Say"),
"media-playback-start",
0,
- TQT_TQOBJECT(this), TQT_SLOT (slotSayActivated()),
+ this, TQ_SLOT (slotSayActivated()),
actionCollection(),
"say_it");
shutup = new TDEAction(i18n("Shut Up"),
"media-playback-stop",
0,
- TQT_TQOBJECT(this), TQT_SLOT (slotStopActivated()),
+ this, TQ_SLOT (slotStopActivated()),
actionCollection(),
"shut_up");
pause = new TDEAction (i18n("Pause"),
"media-playback-pause",
0,
- TQT_TQOBJECT(this), TQT_SLOT (slotPauseActivated()),
+ this, TQ_SLOT (slotPauseActivated()),
actionCollection(),
"pause");
next_sentence = new TDEAction (i18n("Next Sentence"),
"2rightarrow",
0,
- TQT_TQOBJECT(this), TQT_SLOT (slotNextSentenceActivated()),
+ this, TQ_SLOT (slotNextSentenceActivated()),
actionCollection(),
"next_sentence");
@@ -83,7 +83,7 @@ void KSayItSystemTray::initActions()
prev_sentence = new TDEAction (i18n("Previous Sentence"),
"2leftarrow",
0,
- TQT_TQOBJECT(this), TQT_SLOT(slotPrevSentenceActivated()),
+ this, TQ_SLOT(slotPrevSentenceActivated()),
actionCollection(),
"prev_sentence");
@@ -253,7 +253,7 @@ void StateWAIT::setContext(KSayItSystemTray *caller)
void StateWAIT::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button pressed
+ if (e->button()==TQt::LeftButton){ // left Mouse-button pressed
TQWidget::mousePressEvent(e); // do nothing (see mouseReleaseEvent)
} else {
mousePressEventCall(caller, e); // normal mouse-handling
@@ -262,7 +262,7 @@ void StateWAIT::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
void StateWAIT::mouseReleaseEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button released
+ if (e->button()==TQt::LeftButton){ // left Mouse-button released
say(caller);
} else {
mouseReleaseEventCall(caller, e); // normal mouse-handling
@@ -294,7 +294,7 @@ void StateSAY::setContext(KSayItSystemTray *caller)
void StateSAY::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button pressed
+ if (e->button()==TQt::LeftButton){ // left Mouse-button pressed
TQWidget::mousePressEvent(e); // do nothing (see mouseReleaseEvent)
} else {
mousePressEventCall(caller, e); // normal mouse-handling
@@ -303,7 +303,7 @@ void StateSAY::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
void StateSAY::mouseReleaseEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button released
+ if (e->button()==TQt::LeftButton){ // left Mouse-button released
TQWidget::mouseReleaseEvent(e); // do nothing (see mouseReleaseEvent)
} else {
mouseReleaseEventCall(caller, e); // normal mouse-handling
@@ -336,7 +336,7 @@ void StateCLIPEMPTY::setContext(KSayItSystemTray *caller)
void StateCLIPEMPTY::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button pressed
+ if (e->button()==TQt::LeftButton){ // left Mouse-button pressed
TQWidget::mousePressEvent(e); // do nothing (see mouseReleaseEvent)
} else {
mousePressEventCall(caller, e); // normal mouse-handling
@@ -345,7 +345,7 @@ void StateCLIPEMPTY::mousePressEvent(KSayItSystemTray *caller, TQMouseEvent *e)
void StateCLIPEMPTY::mouseReleaseEvent(KSayItSystemTray *caller, TQMouseEvent *e)
{
- if (e->button()==Qt::LeftButton){ // left Mouse-button released
+ if (e->button()==TQt::LeftButton){ // left Mouse-button released
TQWidget::mouseReleaseEvent(e); // do nothing (see mouseReleaseEvent)
} else {
mouseReleaseEventCall(caller, e); // normal mouse-handling
diff --git a/ksayit/src/ksayitsystemtray.h b/ksayit/src/ksayitsystemtray.h
index 02e35bd..05cc962 100644
--- a/ksayit/src/ksayitsystemtray.h
+++ b/ksayit/src/ksayitsystemtray.h
@@ -38,7 +38,7 @@ class State;
*@author Robert Vogl
*/
class KSayItSystemTray : public KSystemTray {
- Q_OBJECT
+ TQ_OBJECT
friend class State;
@@ -149,7 +149,7 @@ private:
class State : public KSystemTray {
- Q_OBJECT
+ TQ_OBJECT
public:
State();
diff --git a/ksayit/src/ksayitviewimpl.h b/ksayit/src/ksayitviewimpl.h
index 745bd3a..d124996 100644
--- a/ksayit/src/ksayitviewimpl.h
+++ b/ksayit/src/ksayitviewimpl.h
@@ -32,7 +32,7 @@
*/
class KSayItViewImpl : public KSayItView {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/ksayit/src/voicesetupdlg.cpp b/ksayit/src/voicesetupdlg.cpp
index 6b1a270..d04aabc 100644
--- a/ksayit/src/voicesetupdlg.cpp
+++ b/ksayit/src/voicesetupdlg.cpp
@@ -51,7 +51,7 @@ VoiceSetupDlg::VoiceSetupDlg(TQWidget *parent, const char *name, const TQString
{
setIconListAllVisible(true);
- connect (this, TQT_SIGNAL(aboutToShowPage(TQWidget*)), this, TQT_SLOT(slotPageChanged(TQWidget*)));
+ connect (this, TQ_SIGNAL(aboutToShowPage(TQWidget*)), this, TQ_SLOT(slotPageChanged(TQWidget*)));
initVoicePage();
initFXPage();
@@ -83,9 +83,9 @@ void VoiceSetupDlg::initFXPage()
FX_SetupImpl *fxDialog = new FX_SetupImpl(m_fxPage, "fxsetup", m_config, m_fxpluginhandler);
fxLayout->addWidget(fxDialog);
- connect( this, TQT_SIGNAL(signalOKWasClicked()), fxDialog, TQT_SLOT(slotSaveWasClicked()) );
- connect( this, TQT_SIGNAL(signalRemoveAllFX()), fxDialog, TQT_SLOT(slotRemoveAll()) );
- connect( this, TQT_SIGNAL(signalReloadFX()), fxDialog, TQT_SLOT(slotReload()) );
+ connect( this, TQ_SIGNAL(signalOKWasClicked()), fxDialog, TQ_SLOT(slotSaveWasClicked()) );
+ connect( this, TQ_SIGNAL(signalRemoveAllFX()), fxDialog, TQ_SLOT(slotRemoveAll()) );
+ connect( this, TQ_SIGNAL(signalReloadFX()), fxDialog, TQ_SLOT(slotReload()) );
// Disable/enable FX-Setup depending on TTS-libs capability
int status = m_kttslib->getStatus() & TTS::AUDIOFILE;
diff --git a/ksayit/src/voicesetupdlg.h b/ksayit/src/voicesetupdlg.h
index f2ddc38..f200101 100644
--- a/ksayit/src/voicesetupdlg.h
+++ b/ksayit/src/voicesetupdlg.h
@@ -32,7 +32,7 @@ class KTTSDLib;
*@author Robert Vogl
*/
class VoiceSetupDlg : public KDialogBase {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kspeechsink/CMakeLists.txt b/kspeechsink/CMakeLists.txt
new file mode 100644
index 0000000..26e4dd3
--- /dev/null
+++ b/kspeechsink/CMakeLists.txt
@@ -0,0 +1,37 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kspeech_stub (static)
+
+tde_add_library( kspeech_stub STATIC_PIC
+
+ SOURCES
+ ${KTTS_KSPEECH_DIR}/kspeech.stub
+ ${KTTS_KSPEECH_DIR}/kspeechsink.skel
+
+ EXCLUDE_FROM_ALL
+)
+
+
+##### kspeech_skel (static)
+
+tde_add_library( kspeech_skel STATIC_PIC
+
+ SOURCES
+ ${KTTS_KSPEECH_DIR}/kspeech.skel
+ ${KTTS_KSPEECH_DIR}/kspeechsink.stub
+
+ EXCLUDE_FROM_ALL
+)
diff --git a/kttsd/CMakeL10n.txt b/kttsd/CMakeL10n.txt
index 54d662b..ebcbea7 100644
--- a/kttsd/CMakeL10n.txt
+++ b/kttsd/CMakeL10n.txt
@@ -15,3 +15,9 @@ tde_l10n_create_template(
"."
"plugins/festivalint/voices.tde_l10n"
)
+
+tde_l10n_create_template(
+ CATALOG "desktop_files/kttsd-desktops/"
+ SOURCES *.desktop
+ DESTINATION "${CMAKE_SOURCE_DIR}/translations"
+)
diff --git a/kttsd/CMakeLists.txt b/kttsd/CMakeLists.txt
new file mode 100644
index 0000000..e6ee899
--- /dev/null
+++ b/kttsd/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_subdirectory( app-plugins )
+add_subdirectory( libkttsd )
+add_subdirectory( players )
+add_subdirectory( plugins )
+add_subdirectory( filters )
+add_subdirectory( kttsmgr )
+add_subdirectory( kttsd )
+add_subdirectory( kttsjobmgr )
+add_subdirectory( kcmkttsmgr )
+add_subdirectory( icons )
diff --git a/kttsd/app-plugins/CMakeLists.txt b/kttsd/app-plugins/CMakeLists.txt
new file mode 100644
index 0000000..fcf6746
--- /dev/null
+++ b/kttsd/app-plugins/CMakeLists.txt
@@ -0,0 +1 @@
+tde_conditional_add_subdirectory( BUILD_KTTSD_KATE kate )
diff --git a/kttsd/app-plugins/kate/CMakeLists.txt b/kttsd/app-plugins/kate/CMakeLists.txt
new file mode 100644
index 0000000..9ee1769
--- /dev/null
+++ b/kttsd/app-plugins/kate/CMakeLists.txt
@@ -0,0 +1,42 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### tdetexteditor_kttsd (kpart)
+
+tde_add_kpart( tdetexteditor_kttsd AUTOMOC
+
+ SOURCES
+ katekttsd.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdetexteditor-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+install(
+ FILES tdetexteditor_kttsdui.rc
+ DESTINATION ${DATA_INSTALL_DIR}/tdetexteditor_kttsd
+)
+
+tde_create_translated_desktop(
+ SOURCE tdetexteditor_kttsd.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/app-plugins/kate/katekttsd.cpp b/kttsd/app-plugins/kate/katekttsd.cpp
index fbb56ac..d5ca9d9 100644
--- a/kttsd/app-plugins/kate/katekttsd.cpp
+++ b/kttsd/app-plugins/kate/katekttsd.cpp
@@ -74,7 +74,7 @@ KateKttsdPluginView::KateKttsdPluginView( KTextEditor::View *view, const char *n
view->insertChildClient( this );
setInstance( KGenericFactory<KateKttsdPlugin>::instance() );
TDEGlobal::locale()->insertCatalogue("kttsd");
- (void) new TDEAction( i18n("Speak Text"), "kttsd", 0, this, TQT_SLOT(slotReadOut()), actionCollection(), "tools_kttsd" );
+ (void) new TDEAction( i18n("Speak Text"), "kttsd", 0, this, TQ_SLOT(slotReadOut()), actionCollection(), "tools_kttsd" );
setXMLFile( "tdetexteditor_kttsdui.rc" );
}
diff --git a/kttsd/app-plugins/kate/katekttsd.h b/kttsd/app-plugins/kate/katekttsd.h
index e137aee..53bded1 100644
--- a/kttsd/app-plugins/kate/katekttsd.h
+++ b/kttsd/app-plugins/kate/katekttsd.h
@@ -27,7 +27,7 @@
class KateKttsdPlugin : public KTextEditor::Plugin, public KTextEditor::PluginViewInterface
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -45,7 +45,7 @@ class KateKttsdPlugin : public KTextEditor::Plugin, public KTextEditor::PluginVi
class KateKttsdPluginView : public TQObject, public KXMLGUIClient
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/app-plugins/kate/tdetexteditor_kttsd.desktop b/kttsd/app-plugins/kate/tdetexteditor_kttsd.desktop
index 90fc642..2c7348c 100644
--- a/kttsd/app-plugins/kate/tdetexteditor_kttsd.desktop
+++ b/kttsd/app-plugins/kate/tdetexteditor_kttsd.desktop
@@ -1,104 +1,12 @@
[Desktop Entry]
Name=KTextEditor KTTSD Plugin
-Name[bg]=Приставка KTextEditor KTTSD
-Name[br]=Lugent KTTSD KTextEditor
-Name[bs]=KTextEditor KTTSD dodatak
-Name[ca]=Connector pel KTTSD del KTextEditor
-Name[cs]=KTextEditor KTTSD modul
-Name[de]=KTextEditor-Modul für KTTSD
-Name[el]=Πρόσθετο KTextEditor KTTSD
-Name[es]=Complemento KTextEditor KTTSD
-Name[et]=KTextEditor KTTSD plugin
-Name[eu]=KTextEditor-en KTTSD plugina
-Name[fa]=وصلۀ KTextEditor KTTSD
-Name[fi]=KTextEditor KTTSD -liitännäinen
-Name[fr]=Module KTTSD pour KTextEditor
-Name[ga]=Breiseán KTTSD KTextEditor
-Name[gl]=Plugin de KTTSD para KTextEditor
-Name[he]=תוסף KTextEditor עבור KTTSD
-Name[hu]=KTextEditor KTTSD-modul
-Name[is]=KTextEditor KTTSD íforrit
-Name[it]=Plugin di KTTSD per KTextEditor
-Name[ja]=KTextEditor KTTSD プラグイン
-Name[ka]=KTextEditor KTTSD მოდული
-Name[km]= កម្មវិធី​ជំនួយ​ KTextEditor KTTSD
-Name[lt]=KTextEditor KTTSD priedas
-Name[mk]=KTTSD-приклучок за KTextEditor
-Name[ms]=Plugin KTextEditor KTTSD
-Name[nb]=KTextEditor programtillegg for KTTSD
-Name[nds]=KTTSD-Moduul KTextEditor
-Name[ne]=केडीई पाठ सम्पादक KTTSD प्लगइन
-Name[nl]=KTextEditor KTTSD-plugin
-Name[pa]=KTextEditor KTTSD ਪਲੱਗਿੰਨ
-Name[pl]=Wtyczka KTTSD dla edytora tekstu
-Name[pt]='Plugin' KTextEditor do KTTSD
-Name[pt_BR]=Plug-in do KTTSD para o KTextEditor
-Name[ru]=Модуль KTextEditor для KTTSD
-Name[sk]=KTextEditor KTTSD modul
-Name[sl]=Vstavek KTTSD za KTextEditor
-Name[sr]=KTTSD као прикључак за KTextEditor
-Name[sr@Latn]=KTTSD kao priključak za KTextEditor
-Name[sv]=KTTSD-insticksprogram för Ktexteditor
-Name[ta]=KTextEditor KTTSD சொருகுப்பொருள்
-Name[tg]=Модли KTextEditor барои KTTSD
-Name[th]=ปลั๊กอิน KTTSD สำหรับ KTextEditor
-Name[tr]=Ktexteditor KTTSD Eklentisi
-Name[uk]=Втулок KTextEditor KTTSD
-Name[vi]=Trình bổ sung KTTSD cho Trình soạn thảo K
-Name[zh_CN]=KTextEditor KTTSD 插件
-Name[zh_TW]=K-文字編輯器的 kttsd 外掛程式
+
Comment=Adds a menu entry for speaking the text
-Comment[bg]=Добавяне на операция в менюто за изговаряне на текст
-Comment[bs]=Dodaje stavku u meniju za čitanje teksta
-Comment[ca]=Afegeix una entrada de menú per pronunciar el text
-Comment[cs]=Vložení nabídky pro předčítání textu
-Comment[da]=Tilføjer et menupunkt for at læse teksten op
-Comment[de]=Fügt einen Menüeintrag zum Vorlesen des Textes hinzu
-Comment[el]=Προσθέτει μία καταχώρηση στο μενού για τη μετατροπή σε φωνή του κειμένου
-Comment[es]=Añadir una entrada al menú para leer el texto
-Comment[et]=Lisab menüükirje teksti kõnelemiseks
-Comment[eu]=Testuak ahoskatzeko menuko sarrera bat gehitzen du
-Comment[fa]=مدخل گزینگان را برای گفتن متن اضافه می‌کند
-Comment[fi]=Lisää valikkovalinnan tekstin puhumiseksi
-Comment[fr]=Ajoute une entrée dans le menu pour prononcer le texte
-Comment[ga]=Cuir iontráil sa roghchlár chun an téacs a rá
-Comment[gl]=Engade unha entrada no menu para falar o texto
-Comment[he]=מוסיף כניסה בתפריט להקראת הטקסט
-Comment[hu]=Menüpont létrehozása szövegfelolvasáshoz
-Comment[is]=Bætir við valmyndarfærslu fyrir tal af textanum
-Comment[it]=Aggiunge una voce del menu per pronunciare il testo
-Comment[ja]=テキスト読み上げをメニューエントリに追加する
-Comment[ka]=ტექსტის წაკითხვას ამატებს მენიუს ჩანაწერს
-Comment[km]=បន្ថែម​ធាតុ​ម៉ឺនុយ​សម្រាប់​ការ​និយាយ​អត្ថបទ
-Comment[lt]=Prideda meniu įrašą teksto įkalbėjimui
-Comment[mk]=Додава елемент во менито за зборување на текстот
-Comment[ms]=Tambah entri menu untuk menjadikan teks bercakap
-Comment[nb]=Legger til en menyoppføring for å si teksten høyt
-Comment[nds]=Föögt en Menüindrag för dat Textvörlesen to
-Comment[ne]=पाठ बोल्नका लागि मेनु प्रविष्टि थप्छ
-Comment[nl]=Voegt een menuoptie toe voor het uitspreken van de tekst
-Comment[pa]=ਪਾਠ ਬੋਲਣ ਲਈ ਇੱਕ ਮੇਨੂ ਇੰਦਰਾਜ਼ ਜੋੜਦਾ ਹੈ
-Comment[pl]=Dodaje wpis w menu do mówienia tekstu
-Comment[pt]=Adiciona uma entrada de menu para ler o texto
-Comment[pt_BR]=Adiciona uma entrada no menu para falar o texto
-Comment[ru]=Добавляет меню синтеза речи
-Comment[sk]=Pridá položku menu pre hovorenie textu
-Comment[sl]=Dodaj menijski vnos za govorjenje besedila
-Comment[sr]=Додаје ставку менија за изговарање текста
-Comment[sr@Latn]=Dodaje stavku menija za izgovaranje teksta
-Comment[sv]=Lägger till ett menyalternativ för att läsa upp texten
-Comment[ta]=உரையை பேசுவதற்கு ஒரு பட்டியல் உள்ளிட்டை சேர்க்கிறது
-Comment[tg]=Илова кардани менюи таҳлили овоз
-Comment[th]=เพิ่มรายการเมนูสำหรับอ่านข้อความเป็นเสียง
-Comment[tr]=Metni okumak için bir menü girdisi oluşturur
-Comment[uk]=Додає елемент меню для декламування тексту
-Comment[vi]=Thêm danh mục thực đơn cho việc đọc văn bản
-Comment[zh_CN]=添加可读出文本的菜单项
-Comment[zh_TW]=新增朗讀文字的目錄
+
Type=Service
-X-TDE-ServiceTypes=KTextEditor/Plugin
-X-TDE-Library=tdetexteditor_kttsd
-X-Kate-Version=2.2
MimeType=text/plain
Icon=kttsd
author=Olaf Jan Schmidt, ojschmidt@kde.org
+X-TDE-ServiceTypes=KTextEditor/Plugin
+X-TDE-Library=tdetexteditor_kttsd
+X-Kate-Version=2.2
diff --git a/kttsd/compat/Makefile.am b/kttsd/compat/Makefile.am
deleted file mode 100644
index f1e3edd..0000000
--- a/kttsd/compat/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-SUBDIRS = \
- $(KTTS_ICONS_DIR) \
- $(KTTS_INTERFACES_DIR)
diff --git a/kttsd/compat/README_COMPAT b/kttsd/compat/README_COMPAT
deleted file mode 100644
index 1110f16..0000000
--- a/kttsd/compat/README_COMPAT
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a directory to keep compatibility in KTTSD.
-This directory permits distribution and compilation of the following kttsd components:
- If KDE < 3.4, copy of tdelibs/interfaces/kspeech.
- If KDE < 3.5, copy of tdelibs/pics (kttsd icons only)
-
-Last Sync: Sat Mar 26 18:00:00 EST 2004 by Gary Cramblitt (PhantomsDad) <garycramblitt@comcast.net>
diff --git a/kttsd/compat/icons/Makefile.am b/kttsd/compat/icons/Makefile.am
deleted file mode 100644
index e5515a8..0000000
--- a/kttsd/compat/icons/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-KDE_ICON = AUTO
diff --git a/kttsd/compat/icons/cr128-app-kttsd.png b/kttsd/compat/icons/cr128-app-kttsd.png
deleted file mode 100644
index 864894e..0000000
--- a/kttsd/compat/icons/cr128-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/cr16-app-kttsd.png b/kttsd/compat/icons/cr16-app-kttsd.png
deleted file mode 100644
index 7179c48..0000000
--- a/kttsd/compat/icons/cr16-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/cr22-app-kttsd.png b/kttsd/compat/icons/cr22-app-kttsd.png
deleted file mode 100644
index 2642794..0000000
--- a/kttsd/compat/icons/cr22-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/cr32-app-kttsd.png b/kttsd/compat/icons/cr32-app-kttsd.png
deleted file mode 100644
index 8288ed5..0000000
--- a/kttsd/compat/icons/cr32-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/cr48-app-kttsd.png b/kttsd/compat/icons/cr48-app-kttsd.png
deleted file mode 100644
index 5d50783..0000000
--- a/kttsd/compat/icons/cr48-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/cr64-app-kttsd.png b/kttsd/compat/icons/cr64-app-kttsd.png
deleted file mode 100644
index df7deb2..0000000
--- a/kttsd/compat/icons/cr64-app-kttsd.png
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/icons/crsc-app-kttsd.svgz b/kttsd/compat/icons/crsc-app-kttsd.svgz
deleted file mode 100644
index 199484f..0000000
--- a/kttsd/compat/icons/crsc-app-kttsd.svgz
+++ /dev/null
Binary files differ
diff --git a/kttsd/compat/interfaces/Makefile.am b/kttsd/compat/interfaces/Makefile.am
deleted file mode 100644
index 54cb7de..0000000
--- a/kttsd/compat/interfaces/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = $(AUTODIRS)
diff --git a/kttsd/compat/interfaces/kspeech/Makefile.am b/kttsd/compat/interfaces/kspeech/Makefile.am
deleted file mode 100644
index d7b5aaa..0000000
--- a/kttsd/compat/interfaces/kspeech/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-# This is necessary for "make bcheck" to work.
-INCLUDES = $(all_includes)
-
-# Header files to be installed.
-include_HEADERS = kspeech.h kspeechsink.h
-
-# Define DCOP/Text-to-Speech Service Type.
-kde_servicetypes_DATA = dcoptexttospeech.desktop
diff --git a/kttsd/compat/interfaces/kspeech/dcoptexttospeech.desktop b/kttsd/compat/interfaces/kspeech/dcoptexttospeech.desktop
deleted file mode 100644
index 48a8d34..0000000
--- a/kttsd/compat/interfaces/kspeech/dcoptexttospeech.desktop
+++ /dev/null
@@ -1,52 +0,0 @@
-[Desktop Entry]
-Type=ServiceType
-X-TDE-ServiceType=DCOP/Text-to-Speech
-Comment=Text-to-Speech Service with a DCOP interface
-Comment[bg]=Модул за синтез на глас с интерфейс DCOP
-Comment[bs]=Servis za čitanje teksta za DCOP interfejsom
-Comment[ca]=Servei de text a veu amb una interfície DCOP
-Comment[cs]=Služba hlasové syntézy s DCOP rozhraním
-Comment[cy]=Gwasanaeth Testun-i-Lafar efo rhyngwyneb DCOP
-Comment[da]=Tekst-til-tale tjeneste med en DCOP grænseflade
-Comment[de]=Sprachausgabedienst mit DCOP-Schnittstelle
-Comment[el]=Υπηρεσία κειμένου-σε-ομιλία με διασύνδεση DCOP
-Comment[es]=Servicio de texto a voz con interfaz DCOP
-Comment[et]=Teksti kõneks muutmise teenus DCOP-liidesega
-Comment[eu]=DCOP interfazedun testutik hizketarako zerbitzua
-Comment[fa]=خدمت متن به گفتار با یک واسط DCOP
-Comment[fi]=Teksti puheeksi -palvelu DCOP -liittymällä
-Comment[fr]=Service de synthèse vocale avec une interface DCOP
-Comment[ga]=Seirbhís Téacs-go-Caint le comhéadan DCOP
-Comment[gl]= Servizo de Texto-para-Fala con interface DCOP
-Comment[he]=שירות טקסט לדיבור עם ממשק DCOP
-Comment[hu]=Szövegfelolvasó szolgáltatás DCOP-felülettel
-Comment[is]=Texti-í-tal þjónusta með DCOP viðmóti
-Comment[it]=Servizio di pronuncia con interfaccia DCOP
-Comment[ja]=DCOP インターフェースによるテキスト読み上げサービス
-Comment[ka]=ტექსტი-სიტყვა სერვისი DCOP ინტერფეისით
-Comment[km]=សេវា​អត្ថបទ​ដែល​ត្រូវ​និយាយ​ជាមួយ​នឹង​ចំណុច​ប្រទាក់ DCOP
-Comment[lt]=Teksto vertimo kalba tarnyba su DCOP sąsaja
-Comment[mk]=Сервис за текст-во-говор со DCOP-интерфејс
-Comment[ms]=Servis Teks-ke-Tutur dengan antara muka DCOP
-Comment[nb]=Tjeneste for tekst-til-tale med DCOP-grensesnitt
-Comment[nds]=Vörleesdeenst mit DCOP-Koppelsteed
-Comment[ne]=DCOP इन्टरफेससँग पाठ वाचक सेवा
-Comment[nl]=Tekst-tot-spraak-dienst met een DCOP-interface
-Comment[pl]=Usługa odczytywania tekstu z interfejsem DCOP
-Comment[pt]=Servidor Texto-para-Voz com interface DCOP
-Comment[pt_BR]=Serviço de Fala de Textos com uma interface DCOP
-Comment[ru]=Сервис синтеза речи через интерфейс DCOP
-Comment[rw]=Serivise Umwandiko-ku-Kuvuga ifite imigaragarire DCOP
-Comment[sk]=Text-na-reč služba pre DCOP
-Comment[sl]=Storitev besedila v govor z vmesnikom DCOP
-Comment[sr]=Услуга изговарања текста са DCOP интерфејсом
-Comment[sr@Latn]=Usluga izgovaranja teksta sa DCOP interfejsom
-Comment[sv]=Text-till-tal tjänst med DCOP-gränssnitt
-Comment[ta]=ஒரு DCOP இடைமுகத்தில் உரையில் இருந்து பேச்சு சேவை
-Comment[tg]=Бартарафсозии таҳлили овоз ба воситаи интерфейси DCOP
-Comment[th]=บริการแปลงข้อความเป็นคำพูดผ่านทาง DCOP
-Comment[tr]=DCOP arayüzü ile Metinden Konuşmaya Servisi
-Comment[uk]=Служба синтезу мовлення з тексту із інтерфейсом DCOP
-Comment[vi]=Dịch vụ chuyển Văn bản thành Tiếng nói cho giao diện DCOP
-Comment[zh_CN]=带 DCOP 接口的文本到语音服务
-Comment[zh_TW]=有 DCOP 介面的文字轉語音服務
diff --git a/kttsd/compat/interfaces/kspeech/kspeech.h b/kttsd/compat/interfaces/kspeech/kspeech.h
deleted file mode 100644
index 760a3be..0000000
--- a/kttsd/compat/interfaces/kspeech/kspeech.h
+++ /dev/null
@@ -1,1285 +0,0 @@
-/*
- kspeech.h
- KTTSD DCOP Interface
- --------------------
- Copyright:
- (C) 2002-2003 by José Pablo Ezequiel "Pupeno" Fernández <pupeno@kde.org>
- (C) 2003-2004 by Olaf Schmidt <ojschmidt@kde.org>
- (C) 2004-2005 by Gary Cramblitt <garycramblitt@comcast.net>
- -------------------
- Original author: José Pablo Ezequiel "Pupeno" Fernández
- ******************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; version 2 of the License. *
- * *
- ***************************************************************************/
-
-#ifndef _KSPEECH_H_
-#define _KSPEECH_H_
-
-#include <dcopobject.h>
-#include <tqstringlist.h>
-
-/**
- * @interface KSpeech
- *
- * kspeech - the KDE Text-to-Speech API.
- *
- * @version 1.0 Draft 10
- *
- * @since KDE 3.4
- *
- * This class defines the DCOP interface for applications desiring to speak text.
- * Applications may speak text by sending DCOP messages to application "kttsd" object "KSpeech".
- *
- * %KTTSD -- the KDE Text-to-Speech Deamon -- is the program that supplies the services
- * in the KDE Text-to-Speech API.
- *
- * @warning The KSpeech interface is still being developed and is likely to change in the future.
- *
- * @section Features
- *
- * - Priority system for Screen Readers, warnings and messages, while still playing
- * regular texts.
- * - Long text is parsed into sentences. User may backup by sentence or part,
- * replay, pause, and stop playing.
- * - Handles multiple speaking applications. Text messages are treated like print jobs.
- * Jobs may be created, started, stopped, paused, resumed, and deleted.
- * - Speak contents of clipboard.
- * - Speak KDE notifications.
- * - Plugin-based text job filtering permits substitution for misspoken words,
- * abbreviations, etc., transformation of XML or XHTML to SSML, and automatic
- * choice of appropriate synthesis engine.
- *
- * @section Requirements
- *
- * You may build any KDE application to use KSpeech, since the interface is in tdelibs, but
- * the tdeaccessibility package must be installed for KTTS to function.
- *
- * You will need a speech synthesis engine, such as Festival. See the KTTS Handbook
- * for the latest information on installing and configuring speech engines and voices
- * with KTTS.
- *
- * @section goals Design Goals
- *
- * The KDE Text-to-Speech API is designed with the following goals:
- *
- * - Support the features enumerated above.
- * - Plugin-based architecture for support of a wide variety of speech synthesis
- * engines and drivers.
- * - Permit generation of speech from the command line (or via shell scripts)
- * using the KDE DCOP utilities.
- * - Provide a lightweight and easily usable interface for applications to
- * generate speech output.
- * - Applications need not be concerned about contention over the speech device.
- * - Provide limited support for speech markup languages, such as Sable,
- * Java %Speech Markup Language (JSML), and %Speech Markup Meta-language (SMML).
- * - Provide limited support for embedded speech markers.
- * - Asynchronous to prevent system blocking.
- * - Plugin-based audio architecture. Currently supports aRts but will support
- * additional audio engines in the future, such as gstreamer.
- * - Compatible with original %KTTSD API as developed by José Pablo Ezequiel
- * "Pupeno" Fernández (avoid breaking existing applications).
- *
- * Architecturally, applications interface with %KTTSD, which performs queueing,
- * speech job managment, plugin management and sentence parsing. %KTTSD interfaces with a
- * %KTTSD speech plugin(s), which then interfaces with the speech engine(s) or driver(s).
- *
- @verbatim
- application
- ^
- | via DCOP (the KDE Text-to-Speech API)
- v
- kttsd
- ^
- | KTTSD plugin API
- v
- kttsd plugin
- ^
- |
- v
- speech engine
- @endverbatim
- *
- * The %KTTSD Plugin API is documented in PluginConf in the tdeaccessibility module.
- *
- * There is a separate GUI application, called kttsmgr, for providing %KTTSD
- * configuration and job management.
- *
- * kttsd maintains 4 types of speech output:
- * - Screen Reader Output
- * - Warnings
- * - Messages
- * - Text Jobs
- *
- * Method sayScreenReaderOutput speaks Screen Reader output.
- * It pre-empts any other speech in progress,
- * including other Screen Reader outputs, i.e., it is not a queue.
- * This method is reserved for use by Screen Readers.
- *
- * Methods sayWarning and sayMessage place messages into the Warnings and
- * Messages queues respectively. Warnings take priority over messages, which take priority
- * over text jobs. Warnings and messages are spoken when the currently-speaking
- * sentence of a text job is finished.
- *
- * setText places text into the text job queue. startText begins speaking jobs.
- * When one job finishes, the next job begins. Method appendText adds
- * additional parts to a text job. Within a text job, the application (and user
- * via the kttsmgr GUI), may back up or advance by sentence or part, or rewind
- * to the beginning.
- * See jumpToTextPart and moveRelTextSentence.
- * Text jobs may be paused, stopped, and resumed or deleted from the queue.
- * See pauseText, stopText, resumeText, and removeText.
- *
- * @section cmdline DCOP Command-line Interface
- *
- * To create a text job to be spoken
- *
- @verbatim
- dcop kttsd KSpeech setText <text> <talker>
- @endverbatim
- *
- * where \<text\> is the text to be spoken, and \<talker\> is usually a language code
- * such as "en", "cy", etc.
- *
- * Example.
- *
- @verbatim
- dcop kttsd KSpeech setText "This is a test." "en"
- @endverbatim
- *
- * To start speaking the text.
- *
- @verbatim
- dcop kttsd KSpeech startText 0
- @endverbatim
- *
- * You can combine the setText and startText commands into a single command.
- *
- @verbatim
- dcop kttsd KSpeech sayText <text> <talker>
- @endverbatim
- *
- * @since KDE 3.5
- *
- * To stop speaking and rewind to the beginning of the text.
- *
- @verbatim
- dcop kttsd KSpeech stopText 0
- @endverbatim
- *
- * Depending upon the speech plugin used, speaking may not immediately stop.
- *
- * To stop and remove a text job.
- *
- @verbatim
- dcop kttsd KSpeech removeText 0
- @endverbatim
- *
- * Note: For more information about talker codes, see talkers below.
- *
- * @section programming Calling KTTSD from a Program
- *
- * There are two methods of making DCOP calls from your application to %KTTSD.
- *
- * - Manually code them using dcopClient object. See tdebase/konqueror/kttsplugin/tdehtmlkttsd.cpp
- * for an example. This method is recommended if you want to make a few simple calls to KTTSD.
- * - Use kspeech_stub as described below. This method generates the marshalling code for you
- * and is recommended for a more complex speech-enabled applications. kcmkttsmgr in the
- * tdeaccessibility module is an example that uses this method.
- *
- * To make DCOP calls from your program using kspeech_stub, follow these steps:
- *
- * 1. Include kspeech_stub.h in your code. Derive an object from the KSpeech_stub interface.
- * For example, suppose you are developing a KPart and want to call %KTTSD.
- * Your class declaration might look like this:
- *
- @verbatim
- #include <kspeech_stub.h>
- class MyPart: public KParts::ReadOnlyPart, public KSpeech_stub {
- @endverbatim
- *
- * 2. In your class constructor, initialize DCOPStub, giving it the sender
- * "kttsd", object "KSpeech".
- *
- @verbatim
- MyPart::MyPart(TQWidget *parent, const char *name) :
- KParts::ReadOnlyPart(parent, name),
- DCOPStub("kttsd", "KSpeech") {
- @endverbatim
- *
- * 3. See if KTTSD is running, and if not, start it.
- *
- @verbatim
- DCOPClient *client = dcopClient();
- client->attach();
- if (!client->isApplicationRegistered("kttsd")) {
- TQString error;
- if (TDEApplication::startServiceByDesktopName("kttsd", TQStringList(), &error))
- cout << "Starting KTTSD failed with message " << error << endl;
- }
- @endverbatim
- *
- * If you want to detect if KTTSD is installed without starting it, use this code.
- *
- @verbatim
- TDETrader::OfferList offers = TDETrader::self()->query("DCOP/Text-to-Speech", "Name == 'KTTSD'");
- if (offers.count() > 0)
- {
- // KTTSD is installed.
- }
- @endverbatim
- *
- * Typically, you would do this to hide a menu item or button if KTTSD is not installed.
- *
- * 4. Make calls to KTTSD in your code.
- *
- @verbatim
- uint jobNum = setText("Hello World", "en");
- startText(jobNum);
- @endverbatim
- *
- * 4. Add kspeech_DIR and kspeech.stub to your Makefile.am. Example:
- *
- @verbatim
- kspeech_DIR = $(kde_includes)
- libmypart_la_SOURCES = kspeech.stub
- @endverbatim
- *
- * @section signals Signals Emitted by KTTSD
- *
- * %KTTSD emits a number of DCOP signals, which provide information about sentences spoken,
- * text jobs started, stopped, paused, resumed, finished, or deleted and markers seen.
- * In general, these signals are broadcast to any application that connects to them.
- * Applications should check the appId argument to determine whether the signal belongs to
- * them or not.
- *
- * To receive %KTTSD DCOP signals, follow these steps:
- *
- * 1. Include kspeechsink.h in your code. Derive an object from the KSpeechSink interface
- * and declare a method for each signal you'd like to receive. For example,
- * if you were coding a KPart and wanted to receive the KTTSD signal sentenceStarted:
- *
- @verbatim
- #include <kspeechsink.h>
- class MyPart:
- public KParts::ReadOnlyPart,
- virtual public KSpeechSink
- {
- protected:
- ASYNC sentenceStarted(const TQCString& appId, const uint jobNum, const uint seq);
- @endverbatim
- *
- * You can combine sending and receiving in one object.
- *
- @verbatim
- #include <kspeechsink.h>
- class MyPart:
- public KParts::ReadOnlyPart,
- public KSpeech_stub,
- virtual public KSpeechSink
- {
- protected:
- ASYNC sentenceStarted(const TQCString& appId, const uint jobNum, const uint seq);
- @endverbatim
- *
- * See below for the signals you can declare.
- *
- * 2. In your class constructor, initialize DCOPObject with the name of your DCOP
- * receiving object.
- *
- @verbatim
- MyPart::MyPart(TQWidget *parent, const char *name) :
- KParts::ReadOnlyPart(parent, name),
- DCOPObject("mypart_kspeechsink") {
- @endverbatim
- *
- * Use any name you like.
- *
- * 3. Where appropriate (usually in your constructor), make sure your DCOPClient
- * is registered and connect the %KTTSD DCOP signals to your declared receiving
- * methods.
- *
- @verbatim
- // Register DCOP client.
- DCOPClient *client = kapp->dcopClient();
- if (!client->isRegistered())
- {
- client->attach();
- client->registerAs(kapp->name());
- }
- // Connect KTTSD DCOP signals to our slots.
- connectDCOPSignal("kttsd", "KSpeech",
- "sentenceStarted(TQCString,uint,uint)",
- "sentenceStarted(TQCString,uint,uint)",
- false);
- @endverbatim
- *
- * Notice that the argument signatures differ slightly from the actual declarations. For
- * example
- *
- @verbatim
- ASYNC sentenceStarted(const TQCString& appId, const uint jobNum, const uint seq);
- @endverbatim
- *
- * becomes
- *
- @verbatim
- "sentenceStarted(TQCString,uint,uint)",
- @endverbatim
- *
- * in the connectDCOPSignal call.
- *
- * 4. Write the definition for the received signal. Be sure to check whether the signal
- * is intended for your application.
- *
- @verbatim
- ASYNC MyPart::sentenceStarted(const TQCString& appId, const uint jobNum, const uint seq)
- {
- // Check appId to determine if this is our signal.
- if (appId != dcopClient()->appId()) return;
- // Do something here.
- }
- @endverbatim
- *
- * 5. Add kspeechsink_DIR and kspeechsink.skel to your Makefile.am. Example for an app
- * both sending and receiving.
- *
- @verbatim
- kspeech_DIR = $(kde_includes)
- kspeechsink_DIR = $(kde_includes)
- libmypart_la_SOURCES = kspeech.stub kspeechsink.skel
- @endverbatim
- *
- * @section talkers Talkers, Talker Codes, and Plugins
- *
- * Many of the methods permit you to specify a desired "talker". This
- * may be a simple language code, such as "en" for English, "es" for Spanish, etc.
- * Code as NULL to use the default configured talker.
- *
- * Within KTTSMGR, the user has the ability to configure more than one talker for each language,
- * with different voices, genders, volumes, and talking speeds.
- *
- * Talker codes serve two functions:
- * - They identify configured plugins, and
- * - They provide a way for applications to specify the desired speaking attributes
- * that influence the choice of plugin to speak text.
- *
- * A Talker Code consists of a series of XML tags and attributes.
- * An example of a full Talker Code with all attributes specified is
- *
- * <voice lang="en" name="kal" gender="male"/>
- * <prosody volume="soft" rate="fast"/>
- * <kttsd synthesizer="Festival" />
- *
- * (The @e voice and @e prosody tags are adapted from the W3C Speech Synthesis
- * Markup Language (SSML) and Java Speech Markup Language (JSML).
- * The @e kttsd tag is an extension to the SMML and JSML languages to support
- * named synthesizers and text encodings.)
- * %KTTS doesn't really care about the @e voice, @e prosody, and @e kttsd tags. In fact,
- * they may be omitted and just the attributes specified. The example above then
- * becomes
- *
- * lang="en" name="kal" gender="male" volume="soft" rate="fast"
- * synthesizer="Festival"
- *
- * The attributes may be specified in any order.
- *
- * For clarity, the rest of the discussion
- * will omit the @e voice, @e prosody, and @e kttsd tags.
- *
- * The attributes that make up a talker code are:
- *
- * - @e lang. Language code and optional country code.
- * Examples: en, es, en_US, en_GB. Codes
- * are case in-sensitive and hyphen (-) or underscore (_) may be
- * used to separate the country code from the language code.
- * - @e synthesizer. The name of the synthesizer (plugin) used to produce the speech.
- * - @e gender. May be either "male", "female", or "neutral".
- * - @e name. The name of the voice code.
- * The choice of voice codes is synthesizer-specific.
- * - @e volume. May be "loud", "medium", or "quiet". A synonym for "quiet" is
- * "soft".
- * - @e rate. May be "fast", "medium", or "slow".
- *
- * Each plugin, once it has been configured by a user in kttsmgr, returns a
- * fully-specified talker code to identify itself. If the plugin supports it,
- * the user may configure another instance of the plugin with a different set
- * of attributes. This is the difference between a "plugin" and a "talker".
- * A talker is a configured instance of a plugin. Each plugin (if it supports it)
- * may be configured as multiple talkers.
- *
- * When the user configures %KTTSD, she configures one or more talkers and then
- * places them in preferred order, top to bottom in kttsmgr. In effect,
- * she specifies her preferences for each of the talkers.
- *
- * When applications specify a talker code, they need not (and typically do not)
- * give a full specification. An example of a talker code with only some of the
- * attributes specified might be
- *
- * lang="en" gender="female"
- *
- * If the talker code is not in XML attribute format, it assumed to be a @e lang
- * attribute. So the talker code
- *
- * en
- *
- * is interpreted as
- *
- * lang="en"
- *
- * When a program requests a talker code in calls to setText, appendText,
- * sayMessage, sayWarning, and sayScreenReaderOutput,
- * %KTTSD tries to match the requested talker code to the closest matching
- * configured talker.
- *
- * The @e lang attribute has highest priority (attempting to speak English with
- * a Spanish synthesizer would likely be unintelligible). So the language
- * attribute is said to have "priority".
- * If an application does not specify a language attribute, a default one will be assumed.
- * The rest of the attributes are said to be "preferred". If %KTTSD cannot find
- * a talker with the exact preferred attributes requested, the closest matching
- * talker will likely still be understandable.
- *
- * An application may specify that one or more of the attributes it gives in a talker
- * code have priority by preceeding each priority attribute with an asterisk.
- * For example, the following talker code
- *
- * lang="en" gender="*female" volume="soft"
- *
- * means that the application wants to use a talker that supports American English language
- * and Female gender. If there is more than one such talker, one that supports
- * Soft volume would be preferred. Notice that a talker configured as English, Male,
- * and Soft volume would not be picked as long as an English Female talker is
- * available.
- *
- * The algorithm used by %KTTSD to find a matching talker is as follows:
- *
- * - If language code is not specified by the application, assume default configured
- * by user. The primary language code automatically has priority.
- * - (Note: This is not yet implemented.)
- * If there are no talkers configured in the language, %KTTSD will attempt
- * to automatically configure one (see automatic configuraton discussion below)
- * - The talker that matches on the most priority attributes wins.
- * - If a tie, the one that matches on the most preferred attributes wins.
- * - If there is still a tie, the one nearest the top of the kttsmgr display
- * (first configured) will be chosen.
- *
- * Language codes actually consist of two parts, a language code and an optional
- * country code. For example, en_GB is English (United Kingdom). The language code is
- * treated as a priority attribute, but the country code (if specified) is treated
- * as preferred. So for example, if an application requests the following
- * talker code
- *
- * lang="en_GB" gender="male" volume="medium"
- *
- * then a talker configured as lang="en" gender="male" volume="medium" would be
- * picked over one configured as lang="en_GB" gender="female" volume="soft",
- * since the former matches on two preferred attributes and the latter only on the
- * preferred attribute GB. An application can override this and make the country
- * code priority with an asterisk. For example,
- *
- * lang="*en_GB" gender="male" volume="medium"
- *
- * To specify that American English is priority, put an asterisk in front of
- * en_US, like this.
- *
- * lang="*en_US" gender="male" volume="medium"
- *
- * Here the application is indicating that a talker that speaks American English
- * has priorty over one that speaks a different form of English.
- *
- * (Note: Not yet implemented).
- * If a language code is specified, and no plugin is currently configured
- * with a matching language code, %KTTSD will attempt to automatically
- * load and configure a plugin to support the requested language. If
- * there is no such plugin, or there is a plugin but it cannot automatically
- * configure itself, %KTTSD will pick one of the configured plugins using the
- * algorithm given above.
- *
- * Notice that %KTTSD will always pick a talker, even if it is a terrible match.
- * (The principle is that something heard is better than nothing at all. If
- * it sounds terrible, user will change his configuration.)
- * If an attribute is absolutely mandatory -- in other words the application
- * must speak with the attribute or not at all -- the application can determine if
- * there are any talkers configured with the attribute by calling getTalkers,
- * and if there are none, display an error message to the user.
- *
- * Applications can implement their own talker-matching algorithm by
- * calling getTalkers, then finding the desired talker from the returned
- * list. When the full talker code is passed in, %KKTSD will find an exact
- * match and use the specified talker.
- *
- * If an application requires a configuration that user has not created,
- * it should display a message to user instructing them to run kttsmgr and
- * configure the desired talker. (This must be done interactively because
- * plugins often need user assistance locating voice files, etc.)
- *
- * The above scheme is designed to balance the needs
- * of applications against user preferences. Applications are given the control
- * they @e might need, without unnecessarily burdening the application author.
- * If you are an application author, the above discussion might seem overly
- * complicated. It isn't really all that complicated. Here are rules of thumb:
- *
- * - It is legitimate to give a NULL (0) talker code, in which case, the user's default
- * talker will be used.
- * - If you know the language code, give that in the talker code, otherwise
- * leave it out.
- * - If there is an attribute your application @e requires for proper functioning,
- * specify that with an asterisk in front of it. For example, your app might
- * speak in two different voices, Male and Female. (Since your
- * app requires both genders, call getTalkers to determine if both genders
- * are available, and if not, advise user to configure them. Better yet,
- * give the user a choice of available distinquishing attributes
- * (loud/soft, fast/slow, etc.)
- * - If there are other attributes you would prefer, specify those without an
- * asterisk, but leave them out if it doesn't really make any difference
- * to proper functioning of your application. Let the user decide them
- * when they configure %KTTS.
- *
- * One final note about talkers. %KTTSD does talker matching for each sentence
- * spoken, just before the sentence is sent to a plugin for synthesis. Therefore,
- * the user can change the effective talker in mid processing of a text job by
- * changing his preferences, or even deleting or adding new talkers to the configuration.
- *
- * @section markup Speech Markup
- *
- * Note: %Speech Markup is not yet fully implemented in %KTTSD.
- *
- * Each of the five methods for queueing text to be spoken -- sayScreenReaderOutput,
- * setText, appendText, sayMessage, and sayWarning -- may contain speech markup,
- * provided that the plugin the user has configured supports that markup. The markup
- * languages and plugins currently supported are:
- *
- * - %Speech Synthesis Markup language (SSML): Festival and Hadifix.
- *
- * This may change in the future as synthesizers improve.
- *
- * Before including markup in the text sent to kttsd, the application should
- * query whether the currently-configured plugin
- * supports the markup language by calling supportsMarkup.
- *
- * It it does not support the markup, it will be stripped out of the text.
- *
- * @section markers Support for Markers
- *
- * Note: Markers are not yet implemented in %KTTSD.
- *
- * When using a speech markup language, such as Sable, JSML, or SSML, the application may embed
- * named markers into the text. If the user's chosen speech plugin supports markers, %KTTSD
- * will emit DCOP signal markerSeen when the speech engine encounters the marker.
- * Depending upon the speech engine and plugin, this may occur either when the speech engine
- * encounters the marker during synthesis from text to speech, or when the speech is actually
- * spoken on the audio device. The calling application can call the supportsMarkers
- * method to determine if the currently configured plugin supports markers or not.
- *
- * @section sentenceparsing Sentence Parsing
- *
- * Not all speech engines provide robust capabilities for stopping synthesis that is in progress.
- * To compensate for this, %KTTSD parses text jobs given to it by the setText and
- * appendText methods into sentences and sends the sentences to the speech
- * plugin one at a time. In this way, should the user wish to stop the speech
- * output, they can do so, and the worst that will happen is that the last sentence
- * will be completed. This is called Sentence Boundary Detection (SBD).
- *
- * Sentence Boundary Detection also permits the user to rewind by sentences.
- *
- * The default sentence delimiter used for plain text is as follows:
- *
- * - A period (.), question mark (?), exclamation mark (!), colon (:), or
- * semi-colon (;) followed by whitespace (including newline), or
- * - Two newlines in a row separated by optional whitespace, or
- * - The end of the text.
- *
- * When given text containing speech markup, %KTTSD automatically determines the markup type
- * and parses based on the sentence semantics of the markup language.
- *
- * An application may change the sentence delimiter by calling setSentenceDelimiter
- * prior to calling setText. Changing the delimiter does not affect other
- * applications.
- *
- * Text given to %KTTSD via the sayWarning, sayMessage, and sayScreenReaderOutput
- * methods is @e not parsed into sentences. For this reason, applications
- * should @e not send long messages with these methods.
- *
- * Sentence Boundary Detection is implemented as a plugin SBD filter. See
- * filters for more information.
- *
- * @section filters Filters
- *
- * Users may specify filters in the kttsmgr GUI. Filters are plugins that modify the text
- * to be spoken or change other characteristics of jobs. Currently, the following filter plugins
- * are available:
- *
- * - String Replacer. Permits users to substitute for mispoken words, or vocalize chat
- * emoticons.
- * - XML Transformer. Given a particular XML or XHTML format, permits conversion of the
- * XML to SSML (Speech Synthesis Markup Language) using XSLT (XML Style Language - Transforms)
- * stylesheets.
- * - Talker Chooser. Permits users to redirect jobs from one configured Talker to another
- * based on the contents of the job or application that sent it.
- *
- * Additional plugins may be available in the future.
- *
- * In additional to these regular filters, KTTS also implements Sentence Boundary Detection (SBD)
- * as a plugin filter. See sentenceparsing for more information.
- *
- * Regular filters are applied to Warnings, Messages, and Text jobs. SBD filters are
- * only applied to regular Text jobs; they are not applied to Warnings and Messages. Screen
- * Reader Outputs are never filtered.
- *
- * @section authors Authors
- *
- * @author José Pablo Ezequiel "Pupeno" Fernández <pupeno@kde.org>
- * @author Gary Cramblitt <garycramblitt@comcast.net>
- * @author Olaf Schmidt <ojschmidt@kde.org>
- * @author Gunnar Schmi Dt <gunnar@schmi-dt.de>
- */
-
-// NOTE: kspeech class is now obsolete. Please use KSpeech instead.
-
-class KSpeech : virtual public DCOPObject {
- K_DCOP
-
- public:
- /**
- * @enum kttsdJobState
- * Job states returned by method getTextJobState.
- */
- enum kttsdJobState
- {
- jsQueued = 0, /**< Job has been queued but is not yet speakable. */
- jsSpeakable = 1, /**< Job is speakable, but is not speaking. */
- jsSpeaking = 2, /**< Job is currently speaking. */
- jsPaused = 3, /**< Job has been paused. */
- jsFinished = 4 /**< Job is finished and is deleteable. */
- };
-
- /**
- * @enum kttsdMarkupType
- * %Speech markup language types.
- */
- enum kttsdMarkupType
- {
- mtPlain = 0, /**< Plain text */
- mtJsml = 1, /**< Java %Speech Markup Language */
- mtSsml = 2, /**< %Speech Synthesis Markup Language */
- mtSable = 3, /**< Sable 2.0 */
- mtHtml = 4 /**< HTML @since 3.5 */
- };
-
- k_dcop:
- /** @name DCOP Methods */
- //@{
-
- /**
- * Determine whether the currently-configured speech plugin supports a speech markup language.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * @param markupType The kttsd code for the desired speech markup language.
- * @return True if the plugin currently configured for the indicated
- * talker supports the indicated speech markup language.
- * @see kttsdMarkupType
- */
- virtual bool supportsMarkup(const TQString &talker, uint markupType = 0) const = 0;
-
- /**
- * Determine whether the currently-configured speech plugin supports markers in speech markup.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * @return True if the plugin currently configured for the indicated
- * talker supports markers.
- */
- virtual bool supportsMarkers(const TQString &talker) const = 0;
-
- /**
- * Say a message as soon as possible, interrupting any other speech in progress.
- * IMPORTANT: This method is reserved for use by Screen Readers and should not be used
- * by any other applications.
- * @param msg The message to be spoken.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- *
- * If an existing Screen Reader output is in progress, it is stopped and discarded and
- * replaced with this new message.
- */
- virtual ASYNC sayScreenReaderOutput(const TQString &msg, const TQString &talker) = 0;
-
- /**
- * Say a warning. The warning will be spoken when the current sentence
- * stops speaking and takes precedence over Messages and regular text. Warnings should only
- * be used for high-priority messages requiring immediate user attention, such as
- * "WARNING. CPU is overheating."
- * @param warning The warning to be spoken.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- */
- virtual ASYNC sayWarning(const TQString &warning, const TQString &talker) = 0;
-
- /**
- * Say a message. The message will be spoken when the current sentence stops speaking
- * but after any warnings have been spoken.
- * Messages should be used for one-shot messages that can't wait for
- * normal text messages to stop speaking, such as "You have mail.".
- * @param message The message to be spoken.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * If no talker has been configured for the specified talker code,
- * defaults to the closest matching talker.
- */
- virtual ASYNC sayMessage(const TQString &message, const TQString &talker) = 0;
-
- /**
- * Sets the GREP pattern that will be used as the sentence delimiter.
- * @param delimiter A valid GREP pattern.
- *
- * The default sentence delimiter is
- @verbatim
- ([\\.\\?\\!\\:\\;])(\\s|$|(\\n *\\n))
- @endverbatim
- *
- * Note that backward slashes must be escaped.
- * When %KTTSD parses the text, it replaces all tabs, spaces, and formfeeds
- * with a single space, and then replaces the sentence delimiters using
- * the following statement:
- @verbatim
- TQString::replace(sentenceDelimiter, "\\1\t");
- @endverbatim
- *
- * which replaces all sentence delimiters with a tab, but
- * preserving the first capture text (first parenthesis). In other
- * words, the sentence punctuation is preserved.
- * The tab is later used to separate the text into sentences.
- *
- * Changing the sentence delimiter does not affect other applications.
- *
- * @see sentenceparsing
- */
- virtual ASYNC setSentenceDelimiter(const TQString &delimiter) = 0;
-
- /**
- * Queue a text job. Does not start speaking the text.
- * @param text The message to be spoken.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default plugin.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- * @return Job number.
- *
- * Plain text is parsed into individual sentences using the current sentence delimiter.
- * Call setSentenceDelimiter to change the sentence delimiter prior to
- * calling setText.
- * Call getTextCount to retrieve the sentence count after calling setText.
- *
- * The text may contain speech mark language, such as Sable, JSML, or SSML,
- * provided that the speech plugin/engine support it. In this case,
- * sentence parsing follows the semantics of the markup language.
- *
- * Call startText to mark the job as speakable and if the
- * job is the first speakable job in the queue, speaking will begin.
- *
- * @see getTextCount
- * @see startText
- */
- virtual uint setText(const TQString &text, const TQString &talker) = 0;
-
- /**
- * Say a plain text job. This is a convenience method that
- * combines setText and startText into a single call.
- * @param text The message to be spoken.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default plugin.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- * @return Job number.
- *
- * Plain text is parsed into individual sentences using the current sentence delimiter.
- * Call setSentenceDelimiter to change the sentence delimiter prior to
- * calling setText.
- * Call getTextCount to retrieve the sentence count after calling setText.
- *
- * The text may contain speech mark language, such as Sable, JSML, or SSML,
- * provided that the speech plugin/engine support it. In this case,
- * sentence parsing follows the semantics of the markup language.
- *
- * The job is marked speakable.
- * If there are other speakable jobs preceeding this one in the queue,
- * those jobs continue speaking and when finished, this job will begin speaking.
- * If there are no other speakable jobs preceeding this one, it begins speaking.
- *
- * @see getTextCount
- *
- * @since KDE 3.5
- */
- virtual uint sayText(const TQString &text, const TQString &talker) = 0;
-
- /**
- * Adds another part to a text job. Does not start speaking the text.
- * @param text The message to be spoken.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return Part number for the added part. Parts are numbered starting at 1.
- *
- * The text is parsed into individual sentences. Call getTextCount to retrieve
- * the sentence count. Call startText to mark the job as speakable and if the
- * job is the first speakable job in the queue, speaking will begin.
- *
- * @see setText.
- * @see startText.
- */
- virtual int appendText(const TQString &text, uint jobNum=0) = 0;
-
- /**
- * Queue a text job from the contents of a file. Does not start speaking the text.
- * @param filename Full path to the file to be spoken. May be a URL.
- * @param talker Code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- * @param encoding Name of the encoding to use when reading the file. If
- * NULL or Empty, uses default stream encoding.
- * @return Job number. 0 if an error occurs.
- *
- * Plain text is parsed into individual sentences using the current sentence delimiter.
- * Call setSentenceDelimiter to change the sentence delimiter prior to calling setText.
- * Call getTextCount to retrieve the sentence count after calling setText.
- *
- * The text may contain speech mark language, such as Sable, JSML, or SSML,
- * provided that the speech plugin/engine support it. In this case,
- * sentence parsing follows the semantics of the markup language.
- *
- * Call startText to mark the job as speakable and if the
- * job is the first speakable job in the queue, speaking will begin.
- *
- * @see getTextCount
- * @see startText
- */
- virtual uint setFile(const TQString &filename, const TQString &talker,
- const TQString& encoding) = 0;
-
- /**
- * Get the number of sentences in a text job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return The number of sentences in the job. -1 if no such job.
- *
- * The sentences of a job are given sequence numbers from 1 to the number returned by this
- * method. The sequence numbers are emitted in the sentenceStarted and
- * sentenceFinished signals.
- */
- virtual int getTextCount(uint jobNum=0) = 0;
-
- /**
- * Get the job number of the current text job.
- * @return Job number of the current text job. 0 if no jobs.
- *
- * Note that the current job may not be speaking. See isSpeakingText.
- *
- * @see getTextJobState.
- * @see isSpeakingText
- */
- virtual uint getCurrentTextJob() = 0;
-
- /**
- * Get the number of jobs in the text job queue.
- * @return Number of text jobs in the queue. 0 if none.
- */
- virtual uint getTextJobCount() = 0;
-
- /**
- * Get a comma-separated list of text job numbers in the queue.
- * @return Comma-separated list of text job numbers in the queue.
- */
- virtual TQString getTextJobNumbers() = 0;
-
- /**
- * Get the state of a text job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return State of the job. -1 if invalid job number.
- *
- * @see kttsdJobState
- */
- virtual int getTextJobState(uint jobNum=0) = 0;
-
- /**
- * Get information about a text job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return A TQDataStream containing information about the job.
- * Blank if no such job.
- *
- * The stream contains the following elements:
- * - int state - Job state.
- * - TQCString appId - DCOP senderId of the application that requested the speech job.
- * - TQString talker - Talker Code requested by application.
- * - int seq - Current sentence being spoken. Sentences are numbered starting at 1.
- * - int sentenceCount - Total number of sentences in the job.
- * - int partNum - Current part of the job begin spoken. Parts are numbered starting at 1.
- * - int partCount - Total number of parts in the job.
- *
- * Note that sequence numbers apply to the entire job. They do not start from 1 at the beginning of
- * each part.
- *
- * The following sample code will decode the stream:
- @code
- TQByteArray jobInfo = getTextJobInfo(jobNum);
- TQDataStream stream(jobInfo, IO_ReadOnly);
- int state;
- TQCString appId;
- TQString talker;
- int seq;
- int sentenceCount;
- int partNum;
- int partCount;
- stream >> state;
- stream >> appId;
- stream >> talker;
- stream >> seq;
- stream >> sentenceCount;
- stream >> partNum;
- stream >> partCount;
- @endcode
- */
- virtual TQByteArray getTextJobInfo(uint jobNum=0) = 0;
-
- /**
- * Given a Talker Code, returns the Talker ID of the talker that would speak
- * a text job with that Talker Code.
- * @param talkerCode Talker Code.
- * @return Talker ID of the talker that would speak the text job.
- */
- virtual TQString talkerCodeToTalkerId(const TQString& talkerCode) = 0;
-
- /**
- * Return a sentence of a job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @param seq Sequence number of the sentence.
- * @return The specified sentence in the specified job. If no such
- * job or sentence, returns "".
- */
- virtual TQString getTextJobSentence(uint jobNum=0, uint seq=0) = 0;
-
- /**
- * Determine if kttsd is currently speaking any text jobs.
- * @return True if currently speaking any text jobs.
- */
- virtual bool isSpeakingText() const = 0;
-
- /**
- * Remove a text job from the queue.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * The job is deleted from the queue and the textRemoved signal is emitted.
- *
- * If there is another job in the text queue, and it is marked speakable,
- * that job begins speaking.
- */
- virtual ASYNC removeText(uint jobNum=0) = 0;
-
- /**
- * Start a text job at the beginning.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * Rewinds the job to the beginning.
- *
- * The job is marked speakable.
- * If there are other speakable jobs preceeding this one in the queue,
- * those jobs continue speaking and when finished, this job will begin speaking.
- * If there are no other speakable jobs preceeding this one, it begins speaking.
- *
- * The textStarted signal is emitted when the text job begins speaking.
- * When all the sentences of the job have been spoken, the job is marked for deletion from
- * the text queue and the textFinished signal is emitted.
- */
- virtual ASYNC startText(uint jobNum=0) = 0;
-
- /**
- * Stop a text job and rewind to the beginning.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * The job is marked not speakable and will not be speakable until startText
- * or resumeText is called.
- *
- * If there are speaking jobs preceeding this one in the queue, they continue speaking.
- *
- * If the job is currently speaking, the textStopped signal is emitted,
- * the job stops speaking, and if the next job in the queue is speakable, it
- * begins speaking.
- *
- * Depending upon the speech engine and plugin used, speech may not stop immediately
- * (it might finish the current sentence).
- */
- virtual ASYNC stopText(uint jobNum=0) = 0;
-
- /**
- * Pause a text job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * The job is marked as paused and will not be speakable until resumeText or
- * startText is called.
- *
- * If there are speaking jobs preceeding this one in the queue, they continue speaking.
- *
- * If the job is currently speaking, the textPaused signal is emitted and the job
- * stops speaking. Note that if the next job in the queue is speakable, it does
- * not start speaking as long as this job is paused.
- *
- * Depending upon the speech engine and plugin used, speech may not stop immediately
- * (it might finish the current sentence).
- *
- * @see resumeText
- */
- virtual ASYNC pauseText(uint jobNum=0) = 0;
-
- /**
- * Start or resume a text job where it was paused.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * The job is marked speakable.
- *
- * If the job is currently speaking, or is waiting to be spoken (speakable
- * state), the resumeText() call is ignored.
- *
- * If the job is currently queued, or is finished, it is the same as calling
- * @see startText .
- *
- * If there are speaking jobs preceeding this one in the queue,
- * those jobs continue speaking and when finished this job will begin
- * speaking where it left off.
- *
- * The textResumed signal is emitted when the job resumes.
- *
- * @see pauseText
- */
- virtual ASYNC resumeText(uint jobNum=0) = 0;
-
- /**
- * Get a list of the talkers configured in KTTS.
- * @return A TQStringList of fully-specified talker codes, one
- * for each talker user has configured.
- *
- * @see talkers
- */
- virtual TQStringList getTalkers() = 0;
-
- /**
- * Change the talker for a text job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @param talker New code for the talker to do the speaking. Example "en".
- * If NULL, defaults to the user's default talker.
- * If no plugin has been configured for the specified Talker code,
- * defaults to the closest matching talker.
- */
- virtual ASYNC changeTextTalker(const TQString &talker, uint jobNum=0 ) = 0;
-
- /**
- * Get the user's default talker.
- * @return A fully-specified talker code.
- *
- * @see talkers
- * @see getTalkers
- */
- virtual TQString userDefaultTalker() = 0;
-
- /**
- * Move a text job down in the queue so that it is spoken later.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- *
- * If the job is currently speaking, it is paused.
- * If the next job in the queue is speakable, it begins speaking.
- */
- virtual ASYNC moveTextLater(uint jobNum=0) = 0;
-
- /**
- * Jump to the first sentence of a specified part of a text job.
- * @param partNum Part number of the part to jump to. Parts are numbered starting at 1.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return Part number of the part actually jumped to.
- *
- * If partNum is greater than the number of parts in the job, jumps to last part.
- * If partNum is 0, does nothing and returns the current part number.
- * If no such job, does nothing and returns 0.
- * Does not affect the current speaking/not-speaking state of the job.
- */
- virtual int jumpToTextPart(int partNum, uint jobNum=0) = 0;
-
- /**
- * Advance or rewind N sentences in a text job.
- * @param n Number of sentences to advance (positive) or rewind (negative) in the job.
- * @param jobNum Job number of the text job.
- * If zero, applies to the last job queued by the application,
- * but if no such job, applies to the current job (if any).
- * @return Sequence number of the sentence actually moved to. Sequence numbers
- * are numbered starting at 1.
- *
- * If no such job, does nothing and returns 0.
- * If n is zero, returns the current sequence number of the job.
- * Does not affect the current speaking/not-speaking state of the job.
- */
- virtual uint moveRelTextSentence(int n, uint jobNum=0) = 0;
-
- /**
- * Add the clipboard contents to the text queue and begin speaking it.
- */
- virtual ASYNC speakClipboard() = 0;
-
- /**
- * Displays the %KTTS Manager dialog. In this dialog, the user may backup or skip forward in
- * any text job by sentence or part, rewind jobs, pause or resume jobs, or
- * delete jobs.
- */
- virtual void showDialog() = 0;
-
- /**
- * Stop the service.
- */
- virtual void kttsdExit() = 0;
-
- /**
- * Re-start %KTTSD.
- */
- virtual void reinit() = 0;
-
- /**
- * Return the KTTSD deamon version number.
- * @since KDE 3.5
- */
- virtual TQString version() = 0;
- //@}
-
- k_dcop_signals:
- void ignoreThis();
-
- /** @name DCOP Signals */
- //@{
-
- /**
- * This signal is emitted when KTTSD starts or restarts after a call to reinit.
- */
- void kttsdStarted();
- /**
- * This signal is emitted just before KTTSD exits.
- */
- void kttsdExiting();
- /**
- * This signal is emitted when the speech engine/plugin encounters a marker in the text.
- * @param appId DCOP application ID of the application that queued the text.
- * @param markerName The name of the marker seen.
- *
- * @see markers
- */
- void markerSeen(const TQCString& appId, const TQString& markerName);
- /**
- * This signal is emitted whenever a sentence begins speaking.
- * @param appId DCOP application ID of the application that queued the text.
- * @param jobNum Job number of the text job.
- * @param seq Sequence number of the text.
- *
- * @see getTextCount
- */
- void sentenceStarted(const TQCString& appId, uint jobNum, uint seq);
- /**
- * This signal is emitted when a sentence has finished speaking.
- * @param appId DCOP application ID of the application that queued the text.
- * @param jobNum Job number of the text job.
- * @param seq Sequence number of the text.
- *
- * @see getTextCount
- */
- void sentenceFinished(const TQCString& appId, uint jobNum, uint seq);
-
- /**
- * This signal is emitted whenever a new text job is added to the queue.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textSet(const TQCString& appId, uint jobNum);
-
- /**
- * This signal is emitted whenever a new part is appended to a text job.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- * @param partNum Part number of the new part. Parts are numbered starting
- * at 1.
- */
- void textAppended(const TQCString& appId, uint jobNum, int partNum);
-
- /**
- * This signal is emitted whenever speaking of a text job begins.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textStarted(const TQCString& appId, uint jobNum);
- /**
- * This signal is emitted whenever a text job is finished. The job has
- * been marked for deletion from the queue and will be deleted when another
- * job reaches the Finished state. (Only one job in the text queue may be
- * in state Finished at one time.) If startText or resumeText is
- * called before the job is deleted, it will remain in the queue for speaking.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textFinished(const TQCString& appId, uint jobNum);
- /**
- * This signal is emitted whenever a speaking text job stops speaking.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- *
- * The signal is only emitted if stopText() is called and the job is currently
- * speaking.
- */
- void textStopped(const TQCString& appId, uint jobNum);
- /**
- * This signal is emitted whenever a speaking text job is paused.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textPaused(const TQCString& appId, uint jobNum);
- /**
- * This signal is emitted when a text job, that was previously paused, resumes speaking.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textResumed(const TQCString& appId, uint jobNum);
- /**
- * This signal is emitted whenever a text job is deleted from the queue.
- * The job is no longer in the queue when this signal is emitted.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- */
- void textRemoved(const TQCString& appId, uint jobNum);
- //@}
-};
-
-#endif // _KSPEECH_H_
diff --git a/kttsd/compat/interfaces/kspeech/kspeechsink.h b/kttsd/compat/interfaces/kspeech/kspeechsink.h
deleted file mode 100644
index 1032980..0000000
--- a/kttsd/compat/interfaces/kspeech/kspeechsink.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- kspeechsink.h
- KTTSD DCOP Signal Sink Interface
- --------------------------------
- Copyright:
- (C) 2004 by Gary Cramblitt <garycramblitt@comcast.net>
- -------------------
- Original author: Gary Cramblitt <garycramblitt@comcast.net>
- ******************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; version 2 of the License. *
- * *
- ***************************************************************************/
-
-/**
- * @interface KSpeechSink
- *
- * KTTSD DCOP Signal Sink
- *
- * @since KDE 3.4
- *
- * This defines the interface to sink signals emitted by KTTSD, the KDE Text-to-speech Deamon.
- * The DCOP IDL Compiler generates a skeleton file from this interface definition that will
- * marshal the arguments for you.
- *
- * @section Usage
- *
- * See the Signals section of kspeech.h for instructions.
- *
- * @warning The KSpeechSink interface is still being developed and is likely to change in the future.
-*/
-
-#ifndef _KSPEECHSINK_H_
-#define _KSPEECHSINK_H_
-
-#include <dcopobject.h>
-
-class KSpeechSink : virtual public DCOPObject {
- K_DCOP
-
- public:
- /**
- * @enum kttsdJobState
- * Job states returned by method getTextJobState.
- */
- enum kttsdJobState
- {
- jsQueued = 0, /**< Job has been queued but is not yet speakable. */
- jsSpeakable = 1, /**< Job is speakable, but is not speaking. */
- jsSpeaking = 2, /**< Job is currently speaking. */
- jsPaused = 3, /**< Job has been paused. */
- jsFinished = 4 /**< Job is finished and is deleteable. */
- };
-
- /**
- * @enum kttsdMarkupType
- * %Speech markup language types.
- */
- enum kttsdMarkupType
- {
- mtPlain = 0, /**< Plain text */
- mtJsml = 1, /**< Java %Speech Markup Language */
- mtSmml = 2, /**< %Speech Markup Meta-language */
- mtSable = 3 /**< Sable 2.0 */
- };
-
- k_dcop:
- /**
- * This signal is emitted when KTTSD starts or restarts after a call to reinit.
- */
- virtual ASYNC kttsdStarted() { };
- /**
- * This signal is emitted just before KTTSD exits.
- */
- virtual ASYNC kttsdExiting() { };
-
- /**
- * This signal is emitted when the speech engine/plugin encounters a marker in the text.
- * @param appId DCOP application ID of the application that queued the text.
- * @param markerName The name of the marker seen.
- * @see markers
- */
- virtual ASYNC markerSeen(const TQCString& appId, const TQString& markerName) { Q_UNUSED(appId); Q_UNUSED(markerName); };
- /**
- * This signal is emitted whenever a sentence begins speaking.
- * @param appId DCOP application ID of the application that queued the text.
- * @param jobNum Job number of the text job.
- * @param seq Sequence number of the text.
- * @see getTextCount
- */
- virtual ASYNC sentenceStarted(const TQCString& appId, uint jobNum, uint seq) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(seq); };
- /**
- * This signal is emitted when a sentence has finished speaking.
- * @param appId DCOP application ID of the application that queued the text.
- * @param jobNum Job number of the text job.
- * @param seq Sequence number of the text.
- * @see getTextCount
- */
- virtual ASYNC sentenceFinished(const TQCString& appId, uint jobNum, uint seq) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(seq); };
-
- /**
- * This signal is emitted whenever a new text job is added to the queue.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textSet(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
-
- /**
- * This signal is emitted whenever a new part is appended to a text job.
- * @param appId The DCOP senderId of the application that created the job.
- * @param jobNum Job number of the text job.
- * @param partNum Part number of the new part. Parts are numbered starting
- * at 1.
- */
- virtual ASYNC textAppended(const TQCString& appId, uint jobNum, int partNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); Q_UNUSED(partNum); };
-
- /**
- * This signal is emitted whenever speaking of a text job begins.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textStarted(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
- /**
- * This signal is emitted whenever a text job is finished. The job has
- * been marked for deletion from the queue and will be deleted when another
- * job reaches the Finished state. (Only one job in the text queue may be
- * in state Finished at one time.) If startText or resumeText is
- * called before the job is deleted, it will remain in the queue for speaking.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textFinished(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
- /**
- * This signal is emitted whenever a speaking text job stops speaking.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textStopped(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
- /**
- * This signal is emitted whenever a speaking text job is paused.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textPaused(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
- /**
- * This signal is emitted when a text job, that was previously paused, resumes speaking.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textResumed(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
- /**
- * This signal is emitted whenever a text job is deleted from the queue.
- * The job is no longer in the queue when this signal is emitted.
- * @param appId The DCOP senderId of the application that created the job. NULL if kttsd.
- * @param jobNum Job number of the text job.
- */
- virtual ASYNC textRemoved(const TQCString& appId, uint jobNum) { Q_UNUSED(appId); Q_UNUSED(jobNum); };
-};
-
-#endif // _KSPEECHSINK_H_
diff --git a/kttsd/debian/TODO b/kttsd/debian/TODO
deleted file mode 100644
index 25c8d99..0000000
--- a/kttsd/debian/TODO
+++ /dev/null
@@ -1,36 +0,0 @@
-* FWIW, I have the following packages installed (among many others, of course):
- libtqt3-headers 3.3.3-4.1 Qt3 header files
- libtqt3-mt-dev 3.3.3-4.1 Qt development files (Threaded)
- libtqt3c102-mt 3.3.3-4.1 Qt GUI Library (Threaded runtime version), V
- libtqthreads-12 1.6.4-4 QuickThreads library for Guile
- qt3-designer 3.3.3-4.1 Qt3 Designer
- qt3-dev-tools 3.3.3-4.1 Qt3 development tools
- qt3-doc 3.3.3-4.1 Qt3 API documentation
- kde 3.1.2 The K Desktop Environment
- tdelibs4 3.2.3-2 KDE core libraries
- tdelibs4-dev 3.2.3-2 KDE core libraries (development files)
- tdelibs4-doc 3.2.3-2 KDE core library documentation
- kde-devel 3.1.2 The K Desktop Environment (development files
- kde-devel-extr 3.1.2-0.2 The K Desktop Environment (extra development
- exuberant-ctag 5.5.4-1 build tag file indexes of source code defini
- cdbs 0.4.26-1.1 common build system for Debian packages
-
-* Here's my build procedure (note that I'm using CDBS):
- - cd tdeaccessibility/doc/kttsd && make distclean && cd tdeaccessibility/kttsd && make distclean
- - cvs2dist tdeaccessibility kttsd --version 0.3.0
- - Copy resulting kttsd-0.3.0.tar.gz to a work folder and rename to kttsd_0.3.0.orig.tar.gz
- (Note underscore)
- - Unpack tarball
- - cd kttsd-0.3.0
- - rm -fR autom4te.cache
- - cp -R kttsd/debian debian
- - debuild -uc -us
-
-* dpkg-shlibdeps is reporting:
- dpkg-shlibdeps: warning: could not find path for libkttsd.so.1
- Should I have libkttsd.so in the .install file?
-
-* Should rc files be installed to etc/ tree?
-
-* For unknown reason, several of the doc translations aren't being built (da, pt for example),
- but en and de are being built. ??
diff --git a/kttsd/debian/changelog b/kttsd/debian/changelog
deleted file mode 100644
index 81f503a..0000000
--- a/kttsd/debian/changelog
+++ /dev/null
@@ -1,5 +0,0 @@
-kttsd (0.3.0-1) unstable; urgency=low
-
- * Second Release
-
- -- Gary Cramblitt (PhantomsDad) <garycramblitt@comcast.net> Wed, 9 Feb 2005 23:05:18 -0500
diff --git a/kttsd/debian/compat b/kttsd/debian/compat
deleted file mode 100644
index b8626c4..0000000
--- a/kttsd/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-4
diff --git a/kttsd/debian/control b/kttsd/debian/control
deleted file mode 100644
index e7473a0..0000000
--- a/kttsd/debian/control
+++ /dev/null
@@ -1,40 +0,0 @@
-Source: kttsd
-Section: kde
-Priority: extra
-Maintainer: Gary Cramblitt (PhantomsDad) <garycramblitt@comcast.net>
-Build-Depends: debhelper (>= 4.0.0), tdelibs4-dev (>= 4:3.2), qt3-doc (>=3.3.3)
-Standards-Version: 3.6.1.1
-
-Package: kttsd
-Architecture: any
-Depends: ${shlibs:Depends}
-Suggests: festival, festival-doc, festvox-kallpc, flite, epos,
- xsltproc, sox, kttsd-gstreamer
-Description: KDE Text-to-Speech system
- KTTS, the KDE Text-to-Speech (TTS) system, is a plug-in based dcop service
- that allows any KDE (or non-KDE) application to speak using the DCOP
- interface.
- .
- KTTS intends to be the implementation for the KDE Text-to-Speech API.
- .
- Features
- --------
- * Priority system for warnings and messages, while still playing
- regular text.
- * Long text is parsed into sentences. User may backup by sentence or
- paragraph, replay, pause, and stop playing.
- * Speak contents of clipboard.
- * Speak KDE notification events (KNotify).
- .
- You must also install a speech synthesis engine, such as festival, flite,
- epos, freetts, or hadifix (MBROLA and txt2pho). khelpcenter help:/kttsd/
- for links and suggestions for obtaining and installing synthesizers.
-
-Package: kttsd-gstreamer
-Architecture: any
-Depends: kttsd, libgstreamer0.8-0 (>= 0.8.7)
-Description: KTTSD GStreamer plugin
- A plugin for the KDE Text-to-Speech system for producing
- audio output via GStreamer. You will also need the
- GStreamer wav file plugin and at least one GStreamer
- output plugin (aRts, oss, or nas).
diff --git a/kttsd/debian/copyright b/kttsd/debian/copyright
deleted file mode 100644
index c4848dc..0000000
--- a/kttsd/debian/copyright
+++ /dev/null
@@ -1,33 +0,0 @@
-This package was debianized by Gary Cramblitt (PhantomsDad)
-<garycramblitt@comcast.net> on
-Wed, 9 FEb 2005 17:06:00 +0500.
-
-It was downloaded from the KDE CVS repository.
-
-Upstream Authors:
- José Pablo Ezequiel Fernández <pupeno@pupeno.com>
- Gary Cramblitt <garycramblitt@comcast.net>
- Gunnar Schmi Dt <gunnar@schmi-dt.de>
- Olaf Schmidt <ojschmidt@kde.org>
- Paul Giannaros <ceruleanblaze@gmail.com>
-
-Copyright:
-(c) 2002, José Pablo Ezequiel Fernández
-
- This package is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; version 2 dated June, 1991.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- 02110-1301, USA.
-
-
-On Debian systems, the complete text of the GNU General
-Public License can be found in /usr/share/common-licenses/GPL file.
diff --git a/kttsd/debian/dirs b/kttsd/debian/dirs
deleted file mode 100644
index e772481..0000000
--- a/kttsd/debian/dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/bin
diff --git a/kttsd/debian/docs b/kttsd/debian/docs
deleted file mode 100644
index 724e084..0000000
--- a/kttsd/debian/docs
+++ /dev/null
@@ -1,2 +0,0 @@
-README
-TODO
diff --git a/kttsd/debian/kttsd-gstreamer.install b/kttsd/debian/kttsd-gstreamer.install
deleted file mode 100644
index 8265406..0000000
--- a/kttsd/debian/kttsd-gstreamer.install
+++ /dev/null
@@ -1,3 +0,0 @@
-debian/tmp/usr/lib/trinity/libkttsd_gstplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_gstplugin.la
-debian/tmp/usr/share/services/kttsd_gstplugin.desktop
diff --git a/kttsd/debian/kttsd.install b/kttsd/debian/kttsd.install
deleted file mode 100644
index 3d2c1f2..0000000
--- a/kttsd/debian/kttsd.install
+++ /dev/null
@@ -1,107 +0,0 @@
-debian/tmp/usr/bin/kttsd
-debian/tmp/usr/bin/kttsmgr
-debian/tmp/usr/lib/libkttsd.so.1.0.0
-debian/tmp/usr/lib/libkttsd.so.1
-debian/tmp/usr/lib/libkttsd.la
-debian/tmp/usr/lib/trinity/libkttsd_festivalintplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_festivalintplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_commandplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_commandplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_hadifixplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_hadifixplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_fliteplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_fliteplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_eposplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_eposplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_freettsplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_freettsplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_artsplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_artsplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_stringreplacerplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_stringreplacerplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_sbdplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_sbdplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_talkerchooserplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_talkerchooserplugin.la
-debian/tmp/usr/lib/trinity/libkttsd_xmltransformerplugin.so
-debian/tmp/usr/lib/trinity/libkttsd_xmltransformerplugin.la
-debian/tmp/usr/lib/trinity/libkttsjobmgrpart.so
-debian/tmp/usr/lib/trinity/libkttsjobmgrpart.la
-debian/tmp/usr/lib/trinity/kcm_kttsd.so
-debian/tmp/usr/lib/trinity/kcm_kttsd.la
-debian/tmp/usr/lib/trinity/tdetexteditor_kttsd.la
-debian/tmp/usr/lib/trinity/tdetexteditor_kttsd.so
-
-debian/tmp/usr/lib/trinity/libtdehtmlkttsdplugin.la
-debian/tmp/usr/lib/trinity/libtdehtmlkttsdplugin.so
-
-debian/tmp/usr/share/servicetypes/kttsd_synthplugin.desktop
-debian/tmp/usr/share/servicetypes/kttsd_audioplugin.desktop
-debian/tmp/usr/share/servicetypes/kttsd_filterplugin.desktop
-debian/tmp/usr/share/servicetypes/dcoptexttospeech.desktop
-
-debian/tmp/usr/share/apps/kttsd/xslt/SSMLtoPlainText.xsl
-debian/tmp/usr/share/apps/kttsd/festivalint/voices
-debian/tmp/usr/share/apps/kttsd/festivalint/sabletowave.scm
-debian/tmp/usr/share/apps/kttsd/festivalint/xslt/SSMLtoSable.xsl
-debian/tmp/usr/share/apps/kttsd/hadifix/xslt/SSMLtoTxt2pho.xsl
-debian/tmp/usr/share/apps/kttsd/talkerchooser/female_notifications_rc
-debian/tmp/usr/share/apps/kttsd/sbd/polish_festival_sbdrc
-debian/tmp/usr/share/apps/kttsd/sbd/standard_sbdrc
-debian/tmp/usr/share/apps/kttsd/stringreplacer/abbreviations.xml
-debian/tmp/usr/share/apps/kttsd/stringreplacer/emoticons.xml
-debian/tmp/usr/share/apps/kttsd/stringreplacer/polish_festival_fixes.xml
-debian/tmp/usr/share/apps/kttsd/stringreplacer/chat.xml
-debian/tmp/usr/share/apps/kttsd/stringreplacer/kmail.xml
-debian/tmp/usr/share/apps/kttsd/stringreplacer/polish_festival_unspeakables.xml
-debian/tmp/usr/share/apps/kttsd/xmltransformer/xhtml2ssml.xsl
-debian/tmp/usr/share/apps/tdetexteditor_kttsd/tdetexteditor_kttsdui.rc
-
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/common
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/general.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/index.cache.bz2
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/index.docbook
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/addtalker.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/audio.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/festivalintconf.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/general.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/interruption.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/jobs.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/talkers.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/filters.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/stringreplacer.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/xmltransformer.png
-debian/tmp/usr/share/doc/tde/HTML/*/kttsd/talkerchooser.png
-
-debian/tmp/usr/share/services/kttsd_festivalintplugin.desktop
-debian/tmp/usr/share/services/kttsd_commandplugin.desktop
-debian/tmp/usr/share/services/kttsd_hadifixplugin.desktop
-debian/tmp/usr/share/services/kttsd_fliteplugin.desktop
-debian/tmp/usr/share/services/kttsd_eposplugin.desktop
-debian/tmp/usr/share/services/kttsd_freettsplugin.desktop
-debian/tmp/usr/share/services/kttsd_stringreplacerplugin.desktop
-debian/tmp/usr/share/services/kttsd_sbdplugin.desktop
-debian/tmp/usr/share/services/kttsd_xmltransformerplugin.desktop
-debian/tmp/usr/share/services/kttsd_talkerchooserplugin.desktop
-debian/tmp/usr/share/services/kttsd.desktop
-debian/tmp/usr/share/services/kttsjobmgr.desktop
-debian/tmp/usr/share/services/kttsd_artsplugin.desktop
-debian/tmp/usr/share/services/tdetexteditor_kttsd.desktop
-
-debian/tmp/usr/share/apps/tdehtml/kpartplugins/tdehtmlkttsd.desktop
-debian/tmp/usr/share/apps/tdehtml/kpartplugins/tdehtmlkttsd.rc
-
-debian/tmp/usr/share/icons/hicolor/16x16/actions/male.png
-debian/tmp/usr/share/icons/hicolor/16x16/actions/female.png
-debian/tmp/usr/share/icons/crystalsvg/16x16/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/22x22/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/32x32/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/48x48/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/64x64/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/128x128/apps/kttsd.png
-debian/tmp/usr/share/icons/crystalsvg/scalable/apps/kttsd.svgz
-
-debian/tmp/usr/share/applications/tde/kcmkttsd.desktop
-debian/tmp/usr/share/applications/tde/kttsmgr.desktop
-
-debian/tmp/usr/share/locale/*/LC_MESSAGES/
diff --git a/kttsd/debian/kttsd.manpages b/kttsd/debian/kttsd.manpages
deleted file mode 100644
index 8051bd1..0000000
--- a/kttsd/debian/kttsd.manpages
+++ /dev/null
@@ -1,2 +0,0 @@
-debian/man/kttsmgr.1
-debian/man/kttsd.1
diff --git a/kttsd/debian/kttsmgr.menu b/kttsd/debian/kttsmgr.menu
deleted file mode 100644
index f39b56b..0000000
--- a/kttsd/debian/kttsmgr.menu
+++ /dev/null
@@ -1,6 +0,0 @@
-?package(kttsd):\
- needs="x11"\
- section="Apps/Tools"\
- hints="KDE"\
- title="KTTSMgr"\
- command="/usr/bin/kttsmgr"
diff --git a/kttsd/debian/man/kttsd.1 b/kttsd/debian/man/kttsd.1
deleted file mode 100644
index 379d7f0..0000000
--- a/kttsd/debian/man/kttsd.1
+++ /dev/null
@@ -1,159 +0,0 @@
-.\" This file was generated by kdemangen.pl and hand edited
-.TH KTTSD 1 "Oct 2004" "K Desktop Environment" "Text-to-speech synthesis deamon"
-.SH NAME
-kttsd
-- Text-to-speech synthesis deamon
-.SH SYNOPSIS
-kttsd [Qt-options] [KDE-options]
-.SH DESCRIPTION
-kttsd is part of the KDE Text-to-Speech system. kttsd is the
-non-GUI deamon that provides TTS services to applications
-via the DCOP interface. kttsd is configured via kttsmgr.
-.SH OPTIONS
-.SS Generic options:
-.TP
-.B --help
-Show help about options
-.TP
-.B --help-qt
-Show Qt specific options
-.TP
-.B --help-kde
-Show KDE specific options
-.TP
-.B --help-all
-Show all options
-.TP
-.B --author
-Show author information
-.TP
-.B -v, --version
-Show version information
-.TP
-.B --license
-Show license information
-.TP
-.B --
-End of options
-.SS
-.SS KDE options:
-.TP
-.B --caption <caption>
-Use 'caption' as name in the titlebar
-.TP
-.B --icon <icon>
-Use 'icon' as the application icon
-.TP
-.B --miniicon <icon>
-Use 'icon' as the icon in the titlebar
-.TP
-.B --config <filename>
-Use alternative configuration file
-.TP
-.B --dcopserver <server>
-Use the DCOP Server specified by 'server'
-.TP
-.B --nocrashhandler
-Disable crash handler, to get core dumps
-.TP
-.B --waitforwm
-Waits for a WM_NET compatible windowmanager
-.TP
-.B --style <style>
-sets the application GUI style
-.TP
-.B --geometry <geometry>
-sets the client geometry of the main widget
-.TP
-.B --nofork
-Don't run in the background.
-.SS Qt options:
-.TP
-.B --display <displayname>
-Use the X-server display 'displayname'
-.TP
-.B --session <sessionId>
-Restore the application for the given 'sessionId'
-.TP
-.B --cmap
-Causes the application to install a private color
-map on an 8-bit display
-.TP
-.B --ncols <count>
-Limits the number of colors allocated in the color
-cube on an 8-bit display, if the application is
-using the QApplication::ManyColor color
-specification
-.TP
-.B --nograb
-tells Qt to never grab the mouse or the keyboard
-.TP
-.B --dograb
-running under a debugger can cause an implicit
--nograb, use -dograb to override
-.TP
-.B --sync
-switches to synchronous mode for debugging
-.TP
-.B --fn, --font <fontname>
-defines the application font
-.TP
-.B --bg, --background <color>
-sets the default background color and an
-application palette (light and dark shades are
-calculated)
-.TP
-.B --fg, --foreground <color>
-sets the default foreground color
-.TP
-.B --btn, --button <color>
-sets the default button color
-.TP
-.B --name <name>
-sets the application name
-.TP
-.B --title <title>
-sets the application title (caption)
-.TP
-.B --visual TrueColor
-forces the application to use a TrueColor visual on
-an 8-bit display
-.TP
-.B --inputstyle <inputstyle>
-sets XIM (X Input Method) input style. Possible
-values are onthespot, overthespot, offthespot and
-root
-.TP
-.B --im <XIM server>
-set XIM server
-.TP
-.B --noxim
-disable XIM
-.TP
-.B --reverse
-mirrors the whole layout of widgets
-.SS
-
-.SH SEE ALSO
-Full user documentation is available through the KDE Help Center. You can also enter the URL
-.BR help:/kttsd/
-directly into konqueror or you can run
-.BR "`khelpcenter help:/kttsd/'"
-from the command-line.
-.br
-
-kttsmgr(1)
-.br
-.SH AUTHORS
-.nf
-Jos Pablo Ezequiel Fernndez <pupeno@pupeno.com>
-.br
-Gary Cramblitt <garycramblitt@comcast.net>
-.br
-Gunnar Schmi Dt <gunnar@schmi-dt.de>
-.br
-Olaf Schmidt <ojschmidt@kde.org>
-.br
-Paul Giannaros <ceruleanblaze@gmail.com>
-.br
-
diff --git a/kttsd/debian/man/kttsmgr.1 b/kttsd/debian/man/kttsmgr.1
deleted file mode 100644
index 547ff14..0000000
--- a/kttsd/debian/man/kttsmgr.1
+++ /dev/null
@@ -1,157 +0,0 @@
-.\" This file was generated by kdemangen.pl and hand edited.
-.TH KTTSMGR 1 "Oct 2004" "K Desktop Environment" "Text-to-Speech Manager"
-.SH NAME
-kttsmgr
-- Text-to-Speech Manager
-.SH SYNOPSIS
-kttsmgr [Qt-options] [KDE-options]
-.SH DESCRIPTION
-kttsmgr is an application for starting and configuring the
-KDE Text-to-Speech system.
-.SH OPTIONS
-.SS Generic options:
-.TP
-.B --help
-Show help about options
-.TP
-.B --help-qt
-Show Qt specific options
-.TP
-.B --help-kde
-Show KDE specific options
-.TP
-.B --help-all
-Show all options
-.TP
-.B --author
-Show author information
-.TP
-.B -v, --version
-Show version information
-.TP
-.B --license
-Show license information
-.TP
-.B --
-End of options
-.SS
-.SS KDE options:
-.TP
-.B --caption <caption>
-Use 'caption' as name in the titlebar
-.TP
-.B --icon <icon>
-Use 'icon' as the application icon
-.TP
-.B --miniicon <icon>
-Use 'icon' as the icon in the titlebar
-.TP
-.B --config <filename>
-Use alternative configuration file
-.TP
-.B --dcopserver <server>
-Use the DCOP Server specified by 'server'
-.TP
-.B --nocrashhandler
-Disable crash handler, to get core dumps
-.TP
-.B --waitforwm
-Waits for a WM_NET compatible windowmanager
-.TP
-.B --style <style>
-sets the application GUI style
-.TP
-.B --geometry <geometry>
-sets the client geometry of the main widget
-.TP
-.B --nofork
-Don't run in the background.
-.SS Qt options:
-.TP
-.B --display <displayname>
-Use the X-server display 'displayname'
-.TP
-.B --session <sessionId>
-Restore the application for the given 'sessionId'
-.TP
-.B --cmap
-Causes the application to install a private color
-map on an 8-bit display
-.TP
-.B --ncols <count>
-Limits the number of colors allocated in the color
-cube on an 8-bit display, if the application is
-using the QApplication::ManyColor color
-specification
-.TP
-.B --nograb
-tells Qt to never grab the mouse or the keyboard
-.TP
-.B --dograb
-running under a debugger can cause an implicit
--nograb, use -dograb to override
-.TP
-.B --sync
-switches to synchronous mode for debugging
-.TP
-.B --fn, --font <fontname>
-defines the application font
-.TP
-.B --bg, --background <color>
-sets the default background color and an
-application palette (light and dark shades are
-calculated)
-.TP
-.B --fg, --foreground <color>
-sets the default foreground color
-.TP
-.B --btn, --button <color>
-sets the default button color
-.TP
-.B --name <name>
-sets the application name
-.TP
-.B --title <title>
-sets the application title (caption)
-.TP
-.B --visual TrueColor
-forces the application to use a TrueColor visual on
-an 8-bit display
-.TP
-.B --inputstyle <inputstyle>
-sets XIM (X Input Method) input style. Possible
-values are onthespot, overthespot, offthespot and
-root
-.TP
-.B --im <XIM server>
-set XIM server
-.TP
-.B --noxim
-disable XIM
-.TP
-.B --reverse
-mirrors the whole layout of widgets
-.SS
-
-.SH SEE ALSO
-Full user documentation is available through the KDE Help Center. You can also enter the URL
-.BR help:/kttsd/
-directly into konqueror or you can run
-.BR "`khelpcenter help:/kttsd/'"
-from the command-line.
-.br
-
-kttsd(1)
-.SH AUTHORS
-.nf
-Jos Pablo Ezequiel Fernndez <pupeno@pupeno.com>
-.br
-Gary Cramblitt <garycramblitt@comcast.net>
-.br
-Gunnar Schmi Dt <gunnar@schmi-dt.de>
-.br
-Olaf Schmidt <ojschmidt@kde.org>
-.br
-Paul Giannaros <ceruleanblaze@gmail.com>
-.br
-
diff --git a/kttsd/debian/man/manpages.in b/kttsd/debian/man/manpages.in
deleted file mode 100644
index f0a5d64..0000000
--- a/kttsd/debian/man/manpages.in
+++ /dev/null
@@ -1,2 +0,0 @@
-kttsd kttsd
-kttsd kttsmgr
diff --git a/kttsd/debian/rules b/kttsd/debian/rules
deleted file mode 100755
index eaed76d..0000000
--- a/kttsd/debian/rules
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/make -f
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/kde.mk
-DEB_CONFIGURE_EXTRA_FLAGS := --enable-kttsd-gstreamer
diff --git a/kttsd/debian/shlibs.kttsd b/kttsd/debian/shlibs.kttsd
deleted file mode 100644
index 6746322..0000000
--- a/kttsd/debian/shlibs.kttsd
+++ /dev/null
@@ -1,2 +0,0 @@
-libkttsd 1 (>= 1:1.0.0)
-
diff --git a/kttsd/filters/CMakeLists.txt b/kttsd/filters/CMakeLists.txt
new file mode 100644
index 0000000..e604c93
--- /dev/null
+++ b/kttsd/filters/CMakeLists.txt
@@ -0,0 +1,42 @@
+add_subdirectory( stringreplacer )
+add_subdirectory( xmltransformer )
+add_subdirectory( sbd )
+add_subdirectory( talkerchooser )
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### testfilter (test)
+
+tde_add_check_executable( testfilter AUTOMOC
+
+ SOURCES
+ main.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ kttsd-shared
+ TEST
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_filterplugin.desktop
+ DESTINATION ${SERVICETYPES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/filters/sbd/CMakeLists.txt b/kttsd/filters/sbd/CMakeLists.txt
new file mode 100644
index 0000000..0132026
--- /dev/null
+++ b/kttsd/filters/sbd/CMakeLists.txt
@@ -0,0 +1,44 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_sbdplugin (kpart)
+
+tde_add_kpart( libkttsd_sbdplugin AUTOMOC
+
+ SOURCES
+ sbdconfwidget.ui
+ sbdproc.cpp
+ sbdconf.cpp
+ sbdplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_sbdplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+install(
+ FILES standard_sbdrc polish_festival_sbdrc
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/sbd
+)
diff --git a/kttsd/filters/sbd/kttsd_sbdplugin.desktop b/kttsd/filters/sbd/kttsd_sbdplugin.desktop
index 4b4f234..b105efa 100644
--- a/kttsd/filters/sbd/kttsd_sbdplugin.desktop
+++ b/kttsd/filters/sbd/kttsd_sbdplugin.desktop
@@ -1,90 +1,8 @@
[Desktop Entry]
Name=Sentence Boundary Detector
-Name[bg]=Детектор на изречения
-Name[ca]=Detector de límit de frase
-Name[cs]=Zjištění vět
-Name[da]=Grænsedetektor for sætninger
-Name[de]=Satzgrenzenerkennung
-Name[el]=Ανιχνευτής ορίων πρότασης
-Name[es]=Detector de final de frase
-Name[et]=Lausepiiri tuvastaja
-Name[eu]=Esaldien mugen detektorea
-Name[fa]=آشکارساز کرانۀ جمله
-Name[fi]=Lauserajojen tunnistin
-Name[fr]=Détecteur de fins de phrases
-Name[ga]=Brathadóir Teorainneacha Abairtí
-Name[gl]=Detector de Límite de Frases
-Name[hu]=Mondathatár-detektáló
-Name[is]=Setningamarka greinir
-Name[it]=Rilevatore del limite delle frasi
-Name[ja]=センテンスの境界検出
-Name[ka]=წინადადების საზღვრის დამდგენი
-Name[km]= ឧបករណ៍​ចាប់​ព្រំដែន​ប្រយោគ
-Name[lt]=Sakinio ribų aptikiklis
-Name[mk]=Детектор на граница на реченица
-Name[ms]=Pengesan Sempadan Ayat
-Name[nb]=Finner setningsgrenser
-Name[nds]=Satzgrenz-Faststellen
-Name[ne]=वाक्य सीमा संसूचक
-Name[nl]=Zingrensdetectie
-Name[pl]=Wykrywanie granicy zdania
-Name[pt]=Detector de Limite de Frase
-Name[pt_BR]=Detector de Fim de Sentenças
-Name[ru]=Определитель границ предложения
-Name[sk]=Detekcia okraja vety
-Name[sl]=Detektor meje stavkov
-Name[sr]=Детектор граница реченице
-Name[sr@Latn]=Detektor granica rečenice
-Name[sv]=Meningsgränsdetektering
-Name[ta]=வாக்கிய பவுண்டரி கண்டுபிடிப்பான்
-Name[tg]=Муайянсозии ҳудуди ҷумлаҳо
-Name[tr]=Cümle Sınırlama Algılayıcı
-Name[uk]=Виявлення меж речень
-Name[vi]=Trình nhận dạng Ranh giới Câu văn
-Name[zh_CN]=语句分界检测器
-Name[zh_TW]=句子界限偵測器
+
Comment=Sentence Boundary Detection Filter Plugin for KTTS
-Comment[bg]=Приставка филтър за определяне границите на изречението
-Comment[ca]=Connector del filtre detector de límit de frase pel KTTS
-Comment[cs]=Modul filtru zjišťování vět KTTS
-Comment[da]=Grænsedetektor for sætninger, filter-plugin for KTTS
-Comment[de]=Generisches KTTS-Modul zur Erkennung von Satzgrenzen
-Comment[el]=Φίλτρο πρόσθετο ανίχνευσης ορίων πρότασης για το KTTS
-Comment[es]=Complemento de filtrado que detecta el final de las frases para KTTS
-Comment[et]=KTTS-i lausepiiri tuvastamise filtri plugin
-Comment[eu]=KTTS-ren esaldien mugen detektorearen iragazkien plugina
-Comment[fa]=وصلۀ پالایۀ آشکارسازی کرانۀ جمله برای KTTS
-Comment[fi]=Lauserajojen tunnistussuodatin liitännäinen KTTS-ohjelmalle
-Comment[fr]=Module de filtrage de fins de phrases pour KTTS
-Comment[gl]=Plugin de Filtro Detector de Límite de Frases para KTTS
-Comment[hu]=Mondatvég-detektáló szűrőmodul a KTTS-hez
-Comment[is]=Setningamarka greinasía fyrir KTTS
-Comment[it]=Plugin per il filtro di rilevazione del limite delle frasi per KTTS
-Comment[ja]=KTTS 用センテンスの境界検出フィルタプラグイン
-Comment[ka]=წინადადების საზღვრის დამდგენის ფილტრის მოდული KTTS-სთვის
-Comment[km]=កម្មវិធី​ជំនួយ​តម្រង​ឧបករណ៍​ចាប់​ព្រំដែន​ប្រយោគ​សម្រាប់ KTTS
-Comment[lt]=Sakinio ribų aptikiklio filtro priedas, skirtas KTTS
-Comment[mk]=Филтер за KTTS за детекција на границата на реченица
-Comment[ms]=Plugin Penapis Pengesan Sempadan Ayat bagi KTTS
-Comment[nb]=Programtillegg for KTTS som finner setningsgrenser
-Comment[nds]=KTTS-Filtermoduul för dat Faststellen vun Satzgrenzen
-Comment[ne]=KTTS का लागि वाक्य सीमा पत्ता लगाउने फिल्टर
-Comment[nl]=Zingrensdetectieplugin voor KTTS
-Comment[pl]=Wtyczka filtra wykrywania granicy zdania dla KTTS
-Comment[pt]='Plugin' de Filtro de Detecção de Limite de Frase para o KTTS
-Comment[pt_BR]=Plug-in de Detector de Fim de Sentenças para o KTTSD
-Comment[ru]=Фильтр границ предложения для KTTS
-Comment[sk]=Modul filtra na detekciu okraja vety v KTTS
-Comment[sl]=Filtrni vstavek KTTS za zanavanje mej stavka
-Comment[sr]=Филтерски прикључак KTTS-а за откривање граница реченице
-Comment[sr@Latn]=Filterski priključak KTTS-a za otkrivanje granica rečenice
-Comment[sv]=Insticksprogram för KTTS med filter för meningsgränsdetektering
-Comment[ta]=KTTSக்கான வாக்கிய கண்டறி அலங்கார சொருகுப்பொருள்
-Comment[tg]=Филтри ҳудуди ҷумлаҳо барои KTTS
-Comment[tr]=KTTS için Cümle Sınırlama Algılayıcı Süzgeci Eklentisi
-Comment[uk]=Втулок фільтра виявлення меж для KTTS
-Comment[vi]=Trình bổ sung Lọc Nhận dạng Ranh giới Câu văn cho KTTS
-Comment[zh_TW]=KTTS 使用的偵測句子是否已結束的外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/FilterPlugin
X-TDE-Library=libkttsd_sbdplugin
diff --git a/kttsd/filters/sbd/sbdconf.cpp b/kttsd/filters/sbd/sbdconf.cpp
index f718664..005f8c3 100644
--- a/kttsd/filters/sbd/sbdconf.cpp
+++ b/kttsd/filters/sbd/sbdconf.cpp
@@ -73,24 +73,24 @@ SbdConf::SbdConf( TQWidget *parent, const char *name, const TQStringList& /*args
m_widget->reButton->setEnabled( m_reEditorInstalled );
if ( m_reEditorInstalled )
- connect( m_widget->reButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotReButton_clicked()) );
+ connect( m_widget->reButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotReButton_clicked()) );
- connect( m_widget->reLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->sbLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->nameLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->appIdLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect(m_widget->languageBrowseButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLanguageBrowseButton_clicked()));
- connect(m_widget->loadButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLoadButton_clicked()));
- connect(m_widget->saveButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSaveButton_clicked()));
- connect(m_widget->clearButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotClearButton_clicked()));
+ connect( m_widget->reLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->sbLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->nameLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->appIdLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect(m_widget->languageBrowseButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLanguageBrowseButton_clicked()));
+ connect(m_widget->loadButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLoadButton_clicked()));
+ connect(m_widget->saveButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotSaveButton_clicked()));
+ connect(m_widget->clearButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotClearButton_clicked()));
// Set up defaults.
defaults();
diff --git a/kttsd/filters/sbd/sbdconf.h b/kttsd/filters/sbd/sbdconf.h
index 3c44419..169fa66 100644
--- a/kttsd/filters/sbd/sbdconf.h
+++ b/kttsd/filters/sbd/sbdconf.h
@@ -42,7 +42,7 @@ class EditReplacementWidget;
class SbdConf : public KttsFilterConf
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/sbd/sbdconfwidget.ui b/kttsd/filters/sbd/sbdconfwidget.ui
index 3c8bcff..93e0833 100644
--- a/kttsd/filters/sbd/sbdconfwidget.ui
+++ b/kttsd/filters/sbd/sbdconfwidget.ui
@@ -286,9 +286,6 @@
<property name="text">
<string>Load...</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="whatsThis" stdset="0">
<string>Click to load a Sentence Boundary Detection configuration from a file.</string>
<comment>What's this text</comment>
@@ -348,16 +345,8 @@
<tabstop>appIdLineEdit</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/kttsd/filters/sbd/sbdproc.cpp b/kttsd/filters/sbd/sbdproc.cpp
index ba4f3b7..357a95b 100644
--- a/kttsd/filters/sbd/sbdproc.cpp
+++ b/kttsd/filters/sbd/sbdproc.cpp
@@ -567,7 +567,7 @@ SbdProc::SbdProc( TQObject *parent, const char *name, const TQStringList& /*args
{
// kdDebug() << "SbdProc::SbdProc: Running" << endl;
m_sbdThread = new SbdThread( parent, *name + "_thread" );
- connect( m_sbdThread, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotSbdThreadFilteringFinished()) );
+ connect( m_sbdThread, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotSbdThreadFilteringFinished()) );
}
/**
@@ -753,7 +753,7 @@ bool SbdProc::init(TDEConfig* config, const TQString& configGroup){
delete m_sbdThread;
m_sbdThread = new SbdThread();
m_sbdThread->setConfiguredSbRegExp( m_configuredRe );
- connect( m_sbdThread, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotSbdThreadFilteringFinished()) );
+ connect( m_sbdThread, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotSbdThreadFilteringFinished()) );
m_state = fsIdle;
emit filteringStopped();
}
diff --git a/kttsd/filters/sbd/sbdproc.h b/kttsd/filters/sbd/sbdproc.h
index 228f018..78ad2ae 100644
--- a/kttsd/filters/sbd/sbdproc.h
+++ b/kttsd/filters/sbd/sbdproc.h
@@ -62,7 +62,7 @@ class TQDomNode;
class SbdThread: public TQObject, public TQThread
{
- Q_OBJECT
+ TQ_OBJECT
public:
@@ -240,7 +240,7 @@ class SbdThread: public TQObject, public TQThread
class SbdProc : virtual public KttsFilterProc
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/stringreplacer/CMakeLists.txt b/kttsd/filters/stringreplacer/CMakeLists.txt
new file mode 100644
index 0000000..e295940
--- /dev/null
+++ b/kttsd/filters/stringreplacer/CMakeLists.txt
@@ -0,0 +1,48 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_stringreplacerplugin (kpart)
+
+tde_add_kpart( libkttsd_stringreplacerplugin AUTOMOC
+
+ SOURCES
+ stringreplacerconfwidget.ui
+ editreplacementwidget.ui
+ stringreplacerconf.cpp
+ stringreplacerproc.cpp
+ stringreplacerplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_stringreplacerplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+
+file( GLOB _xmls RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.xml )
+
+install(
+ FILES ${_xmls}
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/stringreplacer
+)
diff --git a/kttsd/filters/stringreplacer/editreplacementwidget.ui b/kttsd/filters/stringreplacer/editreplacementwidget.ui
index 8c61932..2424f75 100644
--- a/kttsd/filters/stringreplacer/editreplacementwidget.ui
+++ b/kttsd/filters/stringreplacer/editreplacementwidget.ui
@@ -255,9 +255,8 @@
<tabstop>substLineEdit</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/kttsd/filters/stringreplacer/kttsd_stringreplacerplugin.desktop b/kttsd/filters/stringreplacer/kttsd_stringreplacerplugin.desktop
index 316f63d..e36c06d 100644
--- a/kttsd/filters/stringreplacer/kttsd_stringreplacerplugin.desktop
+++ b/kttsd/filters/stringreplacer/kttsd_stringreplacerplugin.desktop
@@ -1,91 +1,8 @@
[Desktop Entry]
Name=String Replacer
-Name[bg]=Замяна на низове
-Name[ca]=Reemplaçador de cadenes
-Name[cs]=Nahrazení řetězce
-Name[da]=Streng-erstatter
-Name[de]=Zeichenkettenersetzer
-Name[el]=Αντικαταστάτης συμβολοσειρών
-Name[es]=Reemplazador de cadenas
-Name[et]=Stringiasendaja
-Name[eu]=Kate-ordezkatzailea
-Name[fa]=جایگزین‌کنندۀ رشته
-Name[fi]=Tekstien korvaaja
-Name[fr]=Remplacement de chaînes
-Name[ga]=Ionadóir Teaghrán
-Name[gl]=Reemprazamento de Cadeas
-Name[he]=מחליף מחרוזות
-Name[hu]=Sztringcserélő
-Name[is]=Strengja útskiptir
-Name[it]=Sostitutore di stringhe
-Name[ja]=文字列置換
-Name[ka]=სტრიქონის ჩამნაცვლებელი
-Name[km]= ឧបករណ៍​ជំនួស​ខ្សែ​អក្សរ
-Name[lt]=Eilučių pakeitiklis
-Name[mk]=Менувач на низи знаци
-Name[ms]=Pengganti Rentetan
-Name[nb]=Strengerstatter
-Name[nds]=Tekenkeed-Tuscher
-Name[ne]=स्ट्रिङ प्रतिस्थापक
-Name[nl]=Tekstvervanger
-Name[pa]=ਸਤਰ ਤਬਦੀਲ
-Name[pl]=Zastępowanie tekstu
-Name[pt]=Substituição de Textos
-Name[pt_BR]=Substituidor de Strings
-Name[ru]=Автозамена
-Name[sk]=Náhrada reťazca
-Name[sl]=Zamenjevalnik nizov
-Name[sr]=Замењивач знаковних низова
-Name[sr@Latn]=Zamenjivač znakovnih nizova
-Name[sv]=Strängersättning
-Name[ta]=சர இடமாற்றி
-Name[tg]=Ҷойивазкунии автоматӣ
-Name[tr]=Metin Değiştirici
-Name[uk]=Заміна рядків
-Name[vi]=Trình thay Chuỗi
-Name[zh_TW]=字串置換器
+
Comment=Generic String Replacement Filter Plugin for KTTS
-Comment[bg]=Приставка филтър за замяна на низове за KTTS
-Comment[ca]=Connector del filtre reemplaçador genèric de cadenes pel KTTS
-Comment[cs]=Modul filtru náhrady řetězce KTTS
-Comment[da]=Generisk strengerstatnings-filter-plugin for KTTS
-Comment[de]=Ein generisches Modul zur Zeichenkettenersetzung für KTTS
-Comment[el]=Γενικό φίλτρο πρόσθετο αντικατάστασης συμβολοσειρών για το KTTS
-Comment[es]=Complemento de filtro genérico de sustituición de cadenas para KTTS
-Comment[et]=KTTS-i üldine stringiasendusfiltri plugin
-Comment[eu]=KTTS-ren kateak ordezkatzeko iragazki-plugin generikoa
-Comment[fa]=وصلۀ پالایۀ جایگزینی رشتۀ عمومی برای KTTS
-Comment[fi]=Yleinen tekstien korvaussuodatinliitännäinen KTTS-ohjelmaan
-Comment[fr]=Module de filtrage de remplacement de chaînes générique pour KTTS
-Comment[gl]=Plugin de Filtro Xenérico de Substituición de Cadeas para KTTS
-Comment[hu]=Általános sztringcserélő modul a KTTS-hez
-Comment[is]=Almennt strengja útskiptinga íforrit fyrir KTTS
-Comment[it]=Plugin generico per il filtro di sostituzione di stringhe per KTTS
-Comment[ja]=KTTS 用汎用文字列置換フィルタプラグイン
-Comment[ka]=ზოგადი სტრიქონის ჩანაცვლების ფილტრის მოდული KTTS-სთვის
-Comment[km]=កម្មវិធី​ជំនួយ​តម្រង​ការ​ជំនួស​ខ្សែអក្សរ​ទូទៅ​សម្រាប់ KTTS
-Comment[lt]=Bendro pobūdžio eilučių pakeitimo filtro priedas, skirtas KTTS
-Comment[mk]=Филтер за KTTS за општа замена на низи знаци
-Comment[ms]=Plugin Penapis Penggantian Rentetan Generik bagi KTTS
-Comment[nb]=Filter-programtillegg til KTTS for streng-erstatning
-Comment[nds]=KTTS-Filtermoduul för dat Utwesseln vun Tekenkeden
-Comment[ne]=KTTS का लागि जेनेरीक स्ट्रिङ प्रतिस्थापन फिल्टर प्लगइन
-Comment[nl]=Generieke tekst-vervang-filter-plugin voor KTTS
-Comment[pl]=Wtyczka zastępowania tekstu dla KTTS
-Comment[pt]='Plugin' Genérico de Substituição de Textos para o KTTS
-Comment[pt_BR]=Plug-in de Filtro genérico de Substituição de Strings Para o KTTS
-Comment[ru]=Фильтр автозамены для KTTS
-Comment[sk]=Všeobecný modul filtra náhrady reťazca v KTTS
-Comment[sl]=Filtrni vstavek KTTS za generični zamenjevalnik nizov
-Comment[sr]=Генерички филтерски прикључак KTTS-а за замену знаковних низова
-Comment[sr@Latn]=Generički filterski priključak KTTS-a za zamenu znakovnih nizova
-Comment[sv]=Insticksprogram för KTTS med generellt strängersättningsfilter
-Comment[ta]=KTTSக்கான அலங்கார சொருகுபொருள் சர இடமாற்றி
-Comment[tg]=Филтри худивазкунӣ барои KTTS
-Comment[tr]=KTTS için Genel Metin Değiştirme Süzgeci Eklentisi
-Comment[uk]=Втулок загального фільтра заміни рядків для KTTS
-Comment[vi]=Trình bổ sung Lọc Thay Chuỗi Chung cho KTTS
-Comment[zh_TW]=KTTS 使用的字串置換外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/FilterPlugin
X-TDE-Library=libkttsd_stringreplacerplugin
diff --git a/kttsd/filters/stringreplacer/stringreplacerconf.cpp b/kttsd/filters/stringreplacer/stringreplacerconf.cpp
index a57b5c8..e226f68 100644
--- a/kttsd/filters/stringreplacer/stringreplacerconf.cpp
+++ b/kttsd/filters/stringreplacer/stringreplacerconf.cpp
@@ -74,30 +74,30 @@ StringReplacerConf::StringReplacerConf( TQWidget *parent, const char *name, cons
layout->addWidget(m_widget);
m_widget->substLView->setSortColumn(-1);
- connect(m_widget->nameLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->languageBrowseButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLanguageBrowseButton_clicked()));
- connect(m_widget->addButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotAddButton_clicked()));
- connect(m_widget->upButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotUpButton_clicked()));
- connect(m_widget->downButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotDownButton_clicked()));
- connect(m_widget->editButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotEditButton_clicked()));
- connect(m_widget->removeButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotRemoveButton_clicked()));
- connect(m_widget->loadButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLoadButton_clicked()));
- connect(m_widget->saveButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSaveButton_clicked()));
- connect(m_widget->clearButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotClearButton_clicked()));
- connect(m_widget->substLView, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(enableDisableButtons()));
- connect(m_widget->appIdLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
+ connect(m_widget->nameLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->languageBrowseButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLanguageBrowseButton_clicked()));
+ connect(m_widget->addButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotAddButton_clicked()));
+ connect(m_widget->upButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotUpButton_clicked()));
+ connect(m_widget->downButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotDownButton_clicked()));
+ connect(m_widget->editButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotEditButton_clicked()));
+ connect(m_widget->removeButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotRemoveButton_clicked()));
+ connect(m_widget->loadButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLoadButton_clicked()));
+ connect(m_widget->saveButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotSaveButton_clicked()));
+ connect(m_widget->clearButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotClearButton_clicked()));
+ connect(m_widget->substLView, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(enableDisableButtons()));
+ connect(m_widget->appIdLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
// Determine if tdeutils Regular Expression Editor is installed.
m_reEditorInstalled = !TDETrader::self()->query("KRegExpEditor/KRegExpEditor").isEmpty();
@@ -581,14 +581,14 @@ void StringReplacerConf::addOrEditSubstitution(bool isAdd)
m_editWidget->substLineEdit->setText( item->text(3) );
}
// The match box may not be blank.
- connect( m_editWidget->matchLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(slotMatchLineEdit_textChanged(const TQString&)) );
- connect( m_editWidget->regexpRadioButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotTypeButtonGroup_clicked()) );
- connect( m_editWidget->wordRadioButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotTypeButtonGroup_clicked()) );
- connect( m_editWidget->matchButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotMatchButton_clicked()) );
+ connect( m_editWidget->matchLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(slotMatchLineEdit_textChanged(const TQString&)) );
+ connect( m_editWidget->regexpRadioButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotTypeButtonGroup_clicked()) );
+ connect( m_editWidget->wordRadioButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotTypeButtonGroup_clicked()) );
+ connect( m_editWidget->matchButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotMatchButton_clicked()) );
// Display the box in a dialog.
m_editDlg = new KDialogBase(
KDialogBase::Swallow,
diff --git a/kttsd/filters/stringreplacer/stringreplacerconf.h b/kttsd/filters/stringreplacer/stringreplacerconf.h
index 8b67039..e369e26 100644
--- a/kttsd/filters/stringreplacer/stringreplacerconf.h
+++ b/kttsd/filters/stringreplacer/stringreplacerconf.h
@@ -42,7 +42,7 @@ class EditReplacementWidget;
class StringReplacerConf : public KttsFilterConf
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/stringreplacer/stringreplacerconfwidget.ui b/kttsd/filters/stringreplacer/stringreplacerconfwidget.ui
index f1e58d7..3bc6fb3 100644
--- a/kttsd/filters/stringreplacer/stringreplacerconfwidget.ui
+++ b/kttsd/filters/stringreplacer/stringreplacerconfwidget.ui
@@ -191,9 +191,6 @@
<property name="text">
<string>Load...</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="whatsThis" stdset="0">
<string>Click to load a word list from a file.</string>
<comment>What's this text</comment>
@@ -458,17 +455,9 @@
<tabstop>appIdLineEdit</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/kttsd/filters/stringreplacer/stringreplacerproc.h b/kttsd/filters/stringreplacer/stringreplacerproc.h
index 23ed5a2..bd7559f 100644
--- a/kttsd/filters/stringreplacer/stringreplacerproc.h
+++ b/kttsd/filters/stringreplacer/stringreplacerproc.h
@@ -37,7 +37,7 @@
class StringReplacerProc : virtual public KttsFilterProc
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/talkerchooser/CMakeLists.txt b/kttsd/filters/talkerchooser/CMakeLists.txt
new file mode 100644
index 0000000..14b1130
--- /dev/null
+++ b/kttsd/filters/talkerchooser/CMakeLists.txt
@@ -0,0 +1,45 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${CMAKE_BINARY_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_talkerchooserplugin (kpart)
+
+tde_add_kpart( libkttsd_talkerchooserplugin AUTOMOC
+
+ SOURCES
+ talkerchooserconfwidget.ui
+ talkerchooserconf.cpp
+ talkerchooserproc.cpp
+ talkerchooserplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_talkerchooserplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+install(
+ FILES female_notifications_rc
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/talkerchooser
+)
diff --git a/kttsd/filters/talkerchooser/kttsd_talkerchooserplugin.desktop b/kttsd/filters/talkerchooser/kttsd_talkerchooserplugin.desktop
index 9138f57..3a41f84 100644
--- a/kttsd/filters/talkerchooser/kttsd_talkerchooserplugin.desktop
+++ b/kttsd/filters/talkerchooser/kttsd_talkerchooserplugin.desktop
@@ -1,88 +1,8 @@
[Desktop Entry]
Name=Talker Chooser
-Name[bg]=Избор на глас
-Name[ca]=Selector de parla
-Name[cs]=Výběr hlasu
-Name[da]=Vælger af oplæser
-Name[de]=Sprecherauswahl
-Name[el]=Επιλογή εκφωνητή
-Name[es]=Selector de lectores
-Name[et]=Kõneleja valimine
-Name[fa]=انتخاب‌کنندۀ گوینده
-Name[fi]=Puhujan valitsin
-Name[fr]=Sélecteur de voix
-Name[ga]=Roghnóir Cainteora
-Name[gl]=Escolla de Locutor
-Name[hu]=Hangválasztó
-Name[is]=Talveljari
-Name[it]=Selezione dell'oratore
-Name[ja]=話者選択
-Name[ka]=მოლაპარაკის ამომრჩეველი
-Name[km]=ឧបករណ៍​ជ្រើស​អ្នក​និយាយ
-Name[mk]=Избирач на говорникот
-Name[ms]=Pemilih Penutur
-Name[nb]=Snakkervelger
-Name[nds]=Snacker-Utwahl
-Name[ne]=वक्ता चयनकर्ता
-Name[nl]=Spreker kiezen
-Name[pa]=ਬੋਲਚਾਲ ਚੋਣਕਾਰ
-Name[pl]=Wybieranie Mówców
-Name[pt]=Escolha de Orador
-Name[pt_BR]=Escolha do Talker
-Name[ru]=Диктор
-Name[sk]=Voľba hovorcu
-Name[sl]=Izbirnik govornika
-Name[sr]=Бирач говорника
-Name[sr@Latn]=Birač govornika
-Name[sv]=Urval av talare
-Name[ta]=டாக்கர் தேர்ந்தெடுப்பான்
-Name[tg]=Диктор
-Name[tr]=Konuşmacı Seçici
-Name[uk]=Вибір диктора
-Name[vi]=Trình chọn Máy nói
-Name[zh_TW]=語音選擇器
+
Comment=Generic Talker Chooser Filter Plugin for KTTS
-Comment[bg]=Приставка за избор на глас за KTTS
-Comment[ca]=Connector del filtre selector genèric de parla pel KTTS
-Comment[cs]=Modul filtru výběru hlasu KTTS
-Comment[da]=Generisk vælger af oplæser for KTTS
-Comment[de]=Generischer Sprecherauswahlfilter für KTTS
-Comment[el]=Γενικό φίλτρο πρόσθετο επιλογής εκφωνητή για το KTTS
-Comment[es]=Complemento de audio para KTTSD
-Comment[et]=KTTS-i üldine kõneleja valimise filtri plugin
-Comment[eu]=KTTS-ren hizlariak hautatzeko iragazk-plugin generikoa
-Comment[fa]=وصلۀ پالایۀ انتخاب‌کنندۀ گویندۀ عمومی برای KTTS
-Comment[fi]=Yleinen puhujan valitsin suodatin liitännäinen KTTS-ohjelmalle
-Comment[fr]=Module de filtrage de sélection de voix pour KTTS
-Comment[gl]=Plugin para Escoller o Locutor para KTTS
-Comment[hu]=Általános hangkiválasztó modul a KTTS-hez
-Comment[is]=Almennt talvalsíforrit fyrir KTTS
-Comment[it]=Plugin generico per il filtro di scelta dell'oratore per KTTS
-Comment[ja]=KTTS 用汎用話者選択フィルタプラグイン
-Comment[ka]=მოლაპარაკის ამომრჩეველის ზოგადი ფილტრის მოდული KTTS-სთვის
-Comment[km]=កម្មវិធី​ជំនួយ​ឧបករណ៍​ជ្រើស​រើស​អ្នក​និយាយ​ទូទៅ​សម្រាប់ KTTS
-Comment[mk]=Филтер за KTTS за избирач на општ говорник
-Comment[ms]=Plugin Penapis Pemilih Penutur Generik bagi KTTS
-Comment[nb]=Filter-programtillegg til KTTS for snakkervalg
-Comment[nds]=KTTS-Filtermoduul för dat Utsöken vun den Snacker
-Comment[ne]=KTTS का लागि जेनेरीक वक्ता चयनकर्ता फिल्टर प्लगइन
-Comment[nl]=Generieke plugin om de spreker te kiezen voor KTTS
-Comment[pa]=KTTS ਲਈ ਸਧਾਰਨ ਬੋਲੀ ਚੋਣਕਾਰ ਫਿਲਟਰ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka wyboru Mówców dla KTTS
-Comment[pt]='Plugin' Genérico de Escolha de Orador para o KTTS
-Comment[pt_BR]=Plug-in de Filtro Genérico Para Escolha do Talker do KTTS
-Comment[ru]=Фильтр выбора диктора для KTTS
-Comment[sk]=Všeobecný modul filra na voľbu hovorcu v KTTS
-Comment[sl]=Filtrni vstavek KTTS za generični izbirnik govorca
-Comment[sr]=Генерички филтерски прикључак KTTS-а за бирач говорника
-Comment[sr@Latn]=Generički filterski priključak KTTS-a za birač govornika
-Comment[sv]=Insticksprogram för KTTS med generellt urvalsfilter för talare
-Comment[ta]=KTTS க்கான ஜெனரிக் பேச்சாளர் தேர்ந்தெடுப்பான அலங்கார சொருகுப்பொருள்
-Comment[tg]=Филтри интихоби диктор барои KTTS
-Comment[tr]=KTTS için Genel Konuşma Seçici Süzgeci Eklentisi
-Comment[uk]=Загальний втулок Фільтра вибору диктора для KTTS
-Comment[vi]=Trình bổ sung Lọc Chọn Máy nói Chung cho KTTS
-Comment[zh_TW]=KTTS 使用的語音選擇外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/FilterPlugin
X-TDE-Library=libkttsd_talkerchooserplugin
diff --git a/kttsd/filters/talkerchooser/talkerchooserconf.cpp b/kttsd/filters/talkerchooser/talkerchooserconf.cpp
index 676a25d..350c77d 100644
--- a/kttsd/filters/talkerchooser/talkerchooserconf.cpp
+++ b/kttsd/filters/talkerchooser/talkerchooserconf.cpp
@@ -65,23 +65,23 @@ TalkerChooserConf::TalkerChooserConf( TQWidget *parent, const char *name, const
m_reEditorInstalled = !TDETrader::self()->query("KRegExpEditor/KRegExpEditor").isEmpty();
m_widget->reEditorButton->setEnabled(m_reEditorInstalled);
- connect(m_widget->nameLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->reLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->reEditorButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotReEditorButton_clicked()));
- connect(m_widget->appIdLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->talkerButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotTalkerButton_clicked()));
+ connect(m_widget->nameLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->reLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->reEditorButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotReEditorButton_clicked()));
+ connect(m_widget->appIdLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->talkerButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotTalkerButton_clicked()));
- connect(m_widget->loadButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLoadButton_clicked()));
- connect(m_widget->saveButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSaveButton_clicked()));
- connect(m_widget->clearButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotClearButton_clicked()));
+ connect(m_widget->loadButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLoadButton_clicked()));
+ connect(m_widget->saveButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotSaveButton_clicked()));
+ connect(m_widget->clearButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotClearButton_clicked()));
// Set up defaults.
defaults();
diff --git a/kttsd/filters/talkerchooser/talkerchooserconf.h b/kttsd/filters/talkerchooser/talkerchooserconf.h
index 9db6266..8b302ae 100644
--- a/kttsd/filters/talkerchooser/talkerchooserconf.h
+++ b/kttsd/filters/talkerchooser/talkerchooserconf.h
@@ -44,7 +44,7 @@ class EditReplacementWidget;
class TalkerChooserConf : public KttsFilterConf
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/talkerchooser/talkerchooserconfwidget.ui b/kttsd/filters/talkerchooser/talkerchooserconfwidget.ui
index a66c2bc..f163922 100644
--- a/kttsd/filters/talkerchooser/talkerchooserconfwidget.ui
+++ b/kttsd/filters/talkerchooser/talkerchooserconfwidget.ui
@@ -305,15 +305,8 @@
<tabstop>appIdLineEdit</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+</includes>
</UI>
diff --git a/kttsd/filters/talkerchooser/talkerchooserproc.h b/kttsd/filters/talkerchooser/talkerchooserproc.h
index 8434d95..8e836f7 100644
--- a/kttsd/filters/talkerchooser/talkerchooserproc.h
+++ b/kttsd/filters/talkerchooser/talkerchooserproc.h
@@ -30,7 +30,7 @@
class TalkerChooserProc : virtual public KttsFilterProc
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/xmltransformer/CMakeLists.txt b/kttsd/filters/xmltransformer/CMakeLists.txt
new file mode 100644
index 0000000..bd9ba6d
--- /dev/null
+++ b/kttsd/filters/xmltransformer/CMakeLists.txt
@@ -0,0 +1,44 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_xmltransformerplugin (kpart)
+
+tde_add_kpart( libkttsd_xmltransformerplugin AUTOMOC
+
+ SOURCES
+ xmltransformerconfwidget.ui
+ xmltransformerconf.cpp
+ xmltransformerproc.cpp
+ xmltransformerplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_xmltransformerplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+install(
+ FILES xhtml2ssml.xsl xhtml2ssml_simple.xsl
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/xmltransformer
+)
diff --git a/kttsd/filters/xmltransformer/kttsd_xmltransformerplugin.desktop b/kttsd/filters/xmltransformer/kttsd_xmltransformerplugin.desktop
index c417be9..15653aa 100644
--- a/kttsd/filters/xmltransformer/kttsd_xmltransformerplugin.desktop
+++ b/kttsd/filters/xmltransformer/kttsd_xmltransformerplugin.desktop
@@ -1,87 +1,8 @@
[Desktop Entry]
Name=XML Transformer
-Name[bg]=Трансформиране на XML
-Name[bs]=XML transformacije
-Name[ca]=Transformador XML
-Name[cs]=XML transformace
-Name[da]=XML Transformatør
-Name[de]=XML-Umformer
-Name[el]=XML μεταμορφωτής
-Name[es]=Transformador XML
-Name[et]=XML-i teisendus
-Name[fa]=تبدیل‌کنندۀ XML
-Name[fi]=XML-muunnin
-Name[fr]=Transformation XML
-Name[ga]=Trasfhoirmeoir XML
-Name[gl]=Transformador XML
-Name[hu]=XML-átalakító
-Name[is]=XML ummyndari
-Name[it]=Trasformatore XML
-Name[ja]=XML 変換
-Name[ka]=XML გარდამქმნელი
-Name[km]= កម្មវិធី​ប្លែង​ XML
-Name[mk]=XML-трансформирач
-Name[ms]=Transformer XML
-Name[nds]=XML-Ümwanneln
-Name[ne]=XML रुपान्तरणकर्ता
-Name[nl]=XML-omvormer
-Name[pa]=XML ਤਬਦੀਲੀਕਾਰ
-Name[pl]=Transformacja XML
-Name[pt]=Transformação de XML
-Name[pt_BR]=Transformador XML
-Name[ru]=Преобразователь XML
-Name[sk]=Transformácia XML
-Name[sl]=Pretvornik XML
-Name[sr]=XML трансформатор
-Name[sr@Latn]=XML transformator
-Name[sv]=XML-transformering
-Name[tg]=Тағйирдиҳии XML
-Name[tr]=XML Dönüştürücü
-Name[uk]=Перетворення XML
-Name[vi]=Trình chuyển đổi XML
-Name[zh_TW]=XML 轉換器
+
Comment=Generic XML Tranformation Filter Plugin for KTTS
-Comment[bg]=Приставка филтър за трансформиране на XML за KTTS
-Comment[ca]=Connector del filtre genèric del transformador XML pel KTTS
-Comment[cs]=Modul filtru obecné XML transformace KTTS
-Comment[da]=Generisk XML Tranformationsfilter-plugin for KTTS
-Comment[de]=Generisches XML-Umformungs-Filtermodul für KTTS
-Comment[el]=Γενικό φίλτρο πρόσθετο XML μεταμόρφωσης για το KTTS
-Comment[es]=Complemento de Audio para KTTSD
-Comment[et]=KTTS-i üldine XML-i teisenduse filtri plugin
-Comment[eu]=KTTS-ren XML transformazioen iragazki-plugin generikoa
-Comment[fa]=وصلۀ پالایۀ انتقال XML عمومی برای KTTS
-Comment[fi]=Yleinen XML-muuntimen suodatin liitännäinen KTTS-ohjelmalle
-Comment[fr]=Module de filtrage de transformation XML générique pour KTTS
-Comment[gl]=Plugin de Transformación de XML para KTTS
-Comment[hu]=Általános XML-átalakító modul a KTTS-hez
-Comment[is]=Almennt XML ummynda íforrit fyrir KTTS
-Comment[it]=Plugin generico per il filtro di trasformazione XML per KTTS
-Comment[ja]=KTTS 用汎用 XML 変換フィルタプラグイン
-Comment[ka]=ზოგადი XML გარდამქმნელის ფილტრის მოდული KTTS-სთვის
-Comment[km]=កម្មវិធី​ជំនួស​តម្រង​ការ​ប្លែង​ XML ទូទៅ​សម្រាប់ KTTS
-Comment[mk]=Филтер за KTTS за трансформација на општ XML
-Comment[ms]=Plugin Penapis Transformasi XML Generik bagi KTTS
-Comment[nb]=Filter-programtillegg til KTTS for alminnelig XML-transformasjon
-Comment[nds]=KTTS-Filtermoduul för dat Ümwanneln vun XML
-Comment[ne]=KTTS का लागि जेनेरीक XML रुपान्तरण फिल्टर प्लगइन
-Comment[nl]=Generieke filterplugin voor XML-omvorming voor KTTS
-Comment[pa]=KTTS ਲਈ XML ਸੰਚਾਰ ਫਿਲਟਰ
-Comment[pl]=Wtyczka transformacji XML dla KTTS
-Comment[pt]='Plugin' Genérico de Transformação de XML para o KTTS
-Comment[pt_BR]=Plug-in de Filtro Genérico de Transformação XML: para o KTTSD
-Comment[ru]=Фильтр XML для KTTS
-Comment[sk]=Všeobecný modul filtra pre transformáciu XML v KTTS
-Comment[sl]=Filtrni vstavek KTTS za generično preoblikovanje XML
-Comment[sr]=Генерички филтерски прикључак KTTS-а за трансформацију XML-а
-Comment[sr@Latn]=Generički filterski priključak KTTS-a za transformaciju XML-a
-Comment[sv]=Insticksprogram för KTTS med generellt XML-transformeringsfilter
-Comment[ta]=KTTSக்கான ஜெனரிக் XML மாற்று அலங்கார சொருகுப்பொருள்
-Comment[tg]=Филтри XMLбарои KTTS
-Comment[tr]=KTTS için genel XML Dönüştürücü Süzgeci Eklentisi
-Comment[uk]=Втулок загального фільтра перетворення XML для KTTS
-Comment[vi]=Trình bổ sung Lọc Chuyển đổi XML Chung cho KTTS
-Comment[zh_TW]=KTTS 使用的一般 XML 轉換外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/FilterPlugin
X-TDE-Library=libkttsd_xmltransformerplugin
diff --git a/kttsd/filters/xmltransformer/xmltransformerconf.cpp b/kttsd/filters/xmltransformer/xmltransformerconf.cpp
index 0a27174..2f3538f 100644
--- a/kttsd/filters/xmltransformer/xmltransformerconf.cpp
+++ b/kttsd/filters/xmltransformer/xmltransformerconf.cpp
@@ -59,18 +59,18 @@ XmlTransformerConf::XmlTransformerConf( TQWidget *parent, const char *name, cons
defaults();
// Connect signals.
- connect( m_widget->nameLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect( m_widget->xsltPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->xsltprocPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->rootElementLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->doctypeLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
- connect( m_widget->appIdLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()) );
+ connect( m_widget->nameLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect( m_widget->xsltPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->xsltprocPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->rootElementLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->doctypeLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
+ connect( m_widget->appIdLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()) );
}
/**
diff --git a/kttsd/filters/xmltransformer/xmltransformerconf.h b/kttsd/filters/xmltransformer/xmltransformerconf.h
index 34bee27..a818032 100644
--- a/kttsd/filters/xmltransformer/xmltransformerconf.h
+++ b/kttsd/filters/xmltransformer/xmltransformerconf.h
@@ -39,7 +39,7 @@
class XmlTransformerConf : public KttsFilterConf
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/filters/xmltransformer/xmltransformerconfwidget.ui b/kttsd/filters/xmltransformer/xmltransformerconfwidget.ui
index 89d5c7c..ecb6d3b 100644
--- a/kttsd/filters/xmltransformer/xmltransformerconfwidget.ui
+++ b/kttsd/filters/xmltransformer/xmltransformerconfwidget.ui
@@ -234,16 +234,9 @@
</grid>
</widget>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>klineedit.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>klineedit.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+</includes>
</UI>
diff --git a/kttsd/filters/xmltransformer/xmltransformerproc.cpp b/kttsd/filters/xmltransformer/xmltransformerproc.cpp
index 9a279b9..b341337 100644
--- a/kttsd/filters/xmltransformer/xmltransformerproc.cpp
+++ b/kttsd/filters/xmltransformer/xmltransformerproc.cpp
@@ -250,12 +250,12 @@ bool XmlTransformerProc::init(TDEConfig* config, const TQString& configGroup)
// m_xsltProc->args() << endl;
m_state = fsFiltering;
- connect(m_xsltProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_xsltProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_xsltProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_xsltProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_xsltProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_xsltProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
if (!m_xsltProc->start(TDEProcess::NotifyOnExit,
static_cast<TDEProcess::Communication>(TDEProcess::Stdout | TDEProcess::Stderr)))
{
diff --git a/kttsd/filters/xmltransformer/xmltransformerproc.h b/kttsd/filters/xmltransformer/xmltransformerproc.h
index 002008b..f9c1977 100644
--- a/kttsd/filters/xmltransformer/xmltransformerproc.h
+++ b/kttsd/filters/xmltransformer/xmltransformerproc.h
@@ -35,7 +35,7 @@ class TDEProcess;
class XmlTransformerProc : virtual public KttsFilterProc
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/icons/CMakeLists.txt b/kttsd/icons/CMakeLists.txt
new file mode 100644
index 0000000..643654c
--- /dev/null
+++ b/kttsd/icons/CMakeLists.txt
@@ -0,0 +1,3 @@
+##### icons
+
+tde_install_icons()
diff --git a/kttsd/kcmkttsmgr/CMakeLists.txt b/kttsd/kcmkttsmgr/CMakeLists.txt
new file mode 100644
index 0000000..6c52766
--- /dev/null
+++ b/kttsd/kcmkttsmgr/CMakeLists.txt
@@ -0,0 +1,50 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${CMAKE_BINARY_DIR}/kttsd/libkttsd
+ ${CMAKE_BINARY_DIR}/kspeechsink
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kcm_kttsd (kpart)
+
+tde_add_kpart( kcm_kttsd MODULE AUTOMOC
+
+ SOURCES
+ kcmkttsmgrwidget.ui
+ addtalkerwidget.ui
+ selecteventwidget.ui
+ kcmkttsmgr.cpp
+ addtalker.cpp
+ selectevent.cpp
+ LINK
+ tdeio-shared
+ kttsd-shared
+ kspeech_stub-static
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kcmkttsd_testmessage.desktop
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd
+ PO_DIR kttsd-desktops
+)
+
+tde_create_translated_desktop(
+ SOURCE kcmkttsd.desktop
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/kcmkttsmgr/addtalker.cpp b/kttsd/kcmkttsmgr/addtalker.cpp
index 8de3429..170c7a6 100644
--- a/kttsd/kcmkttsmgr/addtalker.cpp
+++ b/kttsd/kcmkttsmgr/addtalker.cpp
@@ -65,10 +65,10 @@ AddTalker::AddTalker(SynthToLangMap synthToLangMap, TQWidget* parent, const char
applyFilter();
// Connect widgets to slots.
- connect(languageRadioButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(applyFilter()));
- connect(synthesizerRadioButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(applyFilter()));
- connect(languageSelection, TQT_SIGNAL(activated(int)), this, TQT_SLOT(applyFilter()));
- connect(synthesizerSelection, TQT_SIGNAL(activated(int)), this, TQT_SLOT(applyFilter()));
+ connect(languageRadioButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(applyFilter()));
+ connect(synthesizerRadioButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(applyFilter()));
+ connect(languageSelection, TQ_SIGNAL(activated(int)), this, TQ_SLOT(applyFilter()));
+ connect(synthesizerSelection, TQ_SIGNAL(activated(int)), this, TQ_SLOT(applyFilter()));
}
AddTalker::~AddTalker()
diff --git a/kttsd/kcmkttsmgr/addtalker.h b/kttsd/kcmkttsmgr/addtalker.h
index ebb56d6..1d300bd 100644
--- a/kttsd/kcmkttsmgr/addtalker.h
+++ b/kttsd/kcmkttsmgr/addtalker.h
@@ -35,7 +35,7 @@ typedef TQMap<TQString,TQStringList> LangToSynthMap;
class AddTalker : public AddTalkerWidget
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kcmkttsmgr/addtalkerwidget.ui b/kttsd/kcmkttsmgr/addtalkerwidget.ui
index ae48c61..4597a90 100644
--- a/kttsd/kcmkttsmgr/addtalkerwidget.ui
+++ b/kttsd/kcmkttsmgr/addtalkerwidget.ui
@@ -253,8 +253,7 @@
<tabstop>languageRadioButton</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+</includes>
</UI>
diff --git a/kttsd/kcmkttsmgr/kcmkttsd.desktop b/kttsd/kcmkttsmgr/kcmkttsd.desktop
index 3b5a349..2c627ce 100644
--- a/kttsd/kcmkttsmgr/kcmkttsd.desktop
+++ b/kttsd/kcmkttsmgr/kcmkttsd.desktop
@@ -1,142 +1,22 @@
[Desktop Entry]
-Type=Application
Name=Text-to-Speech
-Name[bg]=Синтез на глас
-Name[bs]=Izgovaranje teksta
-Name[ca]=Text a veu
-Name[cs]=Hlasová syntéza
-Name[cy]=Testun-i-Leferydd
-Name[da]=Tekst-til-tale
-Name[de]=Sprachausgabe
-Name[el]=Κείμενο-σε-ομιλία
-Name[es]=Texto a voz
-Name[et]=Tekst kõneks
-Name[eu]=Testutik hizketara
-Name[fa]=متن به گفتار
-Name[fi]=Teksti puheeksi
-Name[fr]=Synthèse vocale
-Name[ga]=Téacs-go-Caint
-Name[gl]=Texto-para-Fala
-Name[he]=טקסט לדיבור
-Name[hu]=Szövegfelolvasó
-Name[is]=Texti-í-tal
-Name[it]=Pronuncia
-Name[ja]=テキスト読み上げ
-Name[ka]=ტექსტი-გახმოვანება
-Name[km]=អត្ថបទ​ដែល​ត្រូវ​និយាយ
-Name[mk]=Текст-во-говор
-Name[ms]=Teks-ke-Tutur
-Name[nb]=Tekst-til-tale
-Name[nds]=Vörleser
-Name[ne]=पाठ वाचक
-Name[nl]=Tekst-tot-spraak
-Name[pa]=ਪਾਠ ਤੋਂ ਬੋਲੀ
-Name[pl]=Odczytywanie tekstu
-Name[pt]=Texto-para-Fala
-Name[pt_BR]=Conversão de texto para fala
-Name[ru]=Синтез речи
-Name[sk]=Text-na-reč
-Name[sl]=Besedilo v govor
-Name[sr]=Текст-у-говор
-Name[sr@Latn]=Tekst-u-govor
-Name[sv]=Text-till-tal
-Name[ta]=உரையில் இருந்து பேச்சுக்கு
-Name[tg]=Таҳлили овоз
-Name[tr]=Metinden Konuşmaya
-Name[uk]=Синтез мовлення з тексту
-Name[vi]=Văn bản sang Tiếng nói
-Name[zh_TW]=文字轉語音
+
Comment=Text-to-Speech Control Module
-Comment[bg]=Модул за синтез на глас
-Comment[bs]=Kontrolni modul za izgovaranje teksta
-Comment[ca]=Mòdul de control de text a veu
-Comment[cs]=Modul ovládání hlasové syntézy
-Comment[da]=Kontrolmodul for tekst-til-tale
-Comment[de]=Kontrollmodul für die Sprachausgabe
-Comment[el]=Άρθρωμα ελέγχου κειμένου-σε-ομιλία
-Comment[es]=Modulo de control del sintetizador texto a voz
-Comment[et]=Juhtimiskeskuse teksti kõneks muutmise moodul
-Comment[eu]=Testutik hizketarako modulua
-Comment[fa]=پیمانۀ کنترل متن به گفتار
-Comment[fi]=Teksti puheeksi -hallintamoduuli
-Comment[fr]=Module de configuration de la synthèse vocale
-Comment[ga]=Modúl Rialaithe Téacs-go-Caint
-Comment[gl]=Módulo de Control do Texto-para-Fala
-Comment[he]=מודול מרכז בקרה עבור טקסט לדיבור
-Comment[hu]=A szövegfelolvasó szolgáltatás beállításai
-Comment[is]=Texti-í-tal stjórneining
-Comment[it]=Modulo di controllo di pronuncia
-Comment[ja]=テキスト読み上げ制御モジュール
-Comment[ka]=ტექსტი-სიტყვის მართვის მოდული
-Comment[km]=ម៉ូឌុល​ត្រួតពិនិត្យ​​អត្ថបទ​ដែល​ត្រូវ​និយាយ
-Comment[mk]=Контролен модул за текст-во-говор
-Comment[ms]=Modul Kawalan Teks-ke-Tutur
-Comment[nb]=Styremodul for tekst-til-tale
-Comment[nds]=Kuntrullmoduul för den Vörleser
-Comment[ne]=पाठ वाचक नियन्त्रण मोड्युल
-Comment[nl]=Tekst-tot-spraak configuratiemodule
-Comment[pa]=ਪਾਠ ਤੋਂ ਬੋਲੀ ਕੰਟਰੋਲ ਮੈਡੀਊਲ
-Comment[pl]=Moduł konfiguracji odczytywania tekstu
-Comment[pt]=Módulo de Controlo de Texto-para-Fala
-Comment[pt_BR]=Módulo de Controle de conversão de texto para fala
-Comment[ru]=Настройка синтеза речи
-Comment[sk]=Riadiaci modul text-na-reč
-Comment[sl]=Nadzorni modul besedila v govor
-Comment[sr]=Контролни модул за текст-у-говор
-Comment[sr@Latn]=Kontrolni modul za tekst-u-govor
-Comment[sv]=Text-till-tal inställningsmodul
-Comment[ta]=உரையில் இருந்து பேச்சு கட்டுப்பாட்டு பகுதி
-Comment[tg]=Танзими таҳлили овоз
-Comment[tr]=Metinden Konuşmaya Kontrol Modülü
-Comment[uk]=Модуль керування синтезом мовлення з тексту
-Comment[vi]=Mô đun Điều khiển Văn bản sang Tiếng nói
-Comment[zh_TW]=文字轉語音控制模組
-X-TDE-ServiceTypes=Application,TDECModule
-X-DocPath=kttsd
+
+Keywords=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;
+
+Type=Application
+Exec=tdecmshell kcmkttsd
+Icon=kttsd
NoDisplay=false
StartupNotify=false
StartupWMClass=
-Exec=tdecmshell kcmkttsd
-Icon=kttsd
+Terminal=false
Categories=Qt;TDE;X-TDE-settings-accessibility;
-Keywords=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;
-Keywords[bg]=синтез; глас; говор; текст; kttsd; kcmkttsmgr; kttsmgr; tts; ttsd; ktts; text; to; speech; speak; synthesizer; synth; festival; command; freetts; proklam; via; voice;
-Keywords[br]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;skrid;da;prezegenn;komz;synthesizer;synth;festival;urzhiad;freetts;proklam;via;mouezh;
-Keywords[bs]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;čitanje;izgovaranje;
-Keywords[ca]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;a;veu;parla;sintetitzador;síntesi;festival;ordre;freetts;proklam;via;veu;
-Keywords[cs]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;mluvit;syntéza;syntetizér;synth;festival;příkaz;freetts;proklam;hlasová;předčítání;čtení;
-Keywords[da]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;til;tale;tal;synthesizer;synth;festival;kommando;freetts;proklam;via;stemme;
-Keywords[de]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;Sprachsynthese;Vorlesen;Sprache;Sprachausgabe;
-Keywords[el]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;κείμενο;σε;ομιλία;εκφώνηση;synthesizer;synth;festival;εντολή;freetts;proklam;μέσω;φωνή;
-Keywords[es]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;a;voz;habla;sintetizador;festival;orden;freetts;proklam;via;voz;
-Keywords[et]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;kõneks;kõne;süntesaator;festival;käsk;freetts;proklam;hääl;
-Keywords[eu]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;testua; hizketa;ahoskatu;sintetizadorea;synth;festival;command; freetts;proklam;via;ahotsa;
-Keywords[fa]=kttsd،kcmkttsmgr،kttsmgr،tts،ttsd،ktts،متن، به، گفتار، صحبت کردن دهنده، synth، Festival، فرمان، freetts،proklam، از طریق، صدا;
-Keywords[fr]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texte;to;prononcer;énoncer;synthétiseur;synth;festival;command;freetts;proklam;via;voix;
-Keywords[ga]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;téacs;go;caint;abair;sintéiseoir;sintéis;festival;ordú;freetts;proklam;via;guth;glór;
-Keywords[gl]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;para;fala;falar;sintetizador;sintetizar;festival;comando;freetts;proklam;via;voz;
-Keywords[he]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;דיבור;טקסט;מקריא; קול;פסטיבל;מסנטז;סינטי;סינטיזייזר;
-Keywords[hu]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;szöveg;hang;beszéd;beszél;szintetizátor;szintetizálás;festival;parancs;freetts;proklam;via;voice;
-Keywords[is]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;texti;í;tal;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;
-Keywords[it]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;pronuncia;parlare;sintetizzatore;synth;festival;comando;freetts;proklam;via;voce;
-Keywords[mk]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;текст;во;говор;синтисајзер;фестивал;наредба;команда;глас;
-Keywords[nb]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;til;tale;snakke;synthesizer;synth;festival;kommando;freetts;proklam;via;voice;
-Keywords[nds]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;Vörleser;vörlesen;Blicksnuut;synth;festival;freetts;proklam;Stimm;Spraakutgaav;
-Keywords[nl]=kttsd;tts;ttsd;ktts;text to speech;praten;synthesizer;synth;festival;command;freetts;proklam;via voice;spraakprogramma;geluid;stem;tekst tot spraak;spreken;computerstem;
-Keywords[pl]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;tekst;do;mowa;mówienie; synteza;festival;polecenie;głos;mówienie;odczytywanie tekstu;
-Keywords[pt]=kttsd;kcmkttsmgr;kttsmgr;tts;TTS;ttsd;ktts;texto;fala;falar;sintetizador;festival;comandar;freetts;proklam;via;voice;
-Keywords[pt_BR]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;fala;conversa; sintentizador;ynth;festival;command;freetts;proklam;via;voz;
-Keywords[ru]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text-to-speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;голос;речь;синтез;синтез речи;
-Keywords[sl]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;besedilo;v;govor;govori;sintetizator;;festival;ukaz;freetts;proklam;preko;glas;
-Keywords[sr]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;текст;говор;наредба;
-Keywords[sr@Latn]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;tekst;govor;naredba;
-Keywords[sv]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;till;tal;läsa;syntes;synt;festival;kommando;freetts;proklam;via;röst;
-Keywords[tg]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;овоз;ибора;таҳлили овоз;
-Keywords[uk]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;synth;festival;command;freetts;proklam;via;voice;мовлення;синтез;голос;текст;команда;через;
-Keywords[vi]=kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;văn bản;sang;tiếng nói;nói;tổng hợp;tạp;festival;lệnh;freets;proklam;qua;giọng nói;
+X-DocPath=kttsd
+X-TDE-ServiceTypes=Application,TDECModule
X-TDE-FactoryName=kttsd
X-TDE-ParentApp=kcontrol
X-TDE-SubstituteUID=false
X-TDE-ModuleType=Library
X-TDE-Library=kttsd
-Terminal=false
diff --git a/kttsd/kcmkttsmgr/kcmkttsd_testmessage.desktop b/kttsd/kcmkttsmgr/kcmkttsd_testmessage.desktop
index 7035d35..e0d9c31 100644
--- a/kttsd/kcmkttsmgr/kcmkttsd_testmessage.desktop
+++ b/kttsd/kcmkttsmgr/kcmkttsd_testmessage.desktop
@@ -1,46 +1,4 @@
[Desktop Entry]
-NoDisplay=true
Name=The text-to-speech system seems to be functioning properly.
-Name[bg]=Системата за синтез на глас изглежда, че функционира нормално.
-Name[ca]=El sistema de text a veu sembla que funciona correctament.
-Name[cs]=Zdá se, že systém hlasové syntézy funguje správně.
-Name[da]=Tekst-til-tale systemet synes at virke rigtigt.
-Name[de]=Die Sprachausgabe scheint ordnungsgemäß zu funktionieren.
-Name[el]=Το σύστημα κειμένου-σε-ομιλία φαίνεται να λειτουργεί κανονικά.
-Name[es]=El sintetizador de texto a voz parece estar funcionando correctamente.
-Name[et]=Teksti kõneks muutmise süsteem paistab korralikult töötavat.
-Name[eu]=Testutik-hizketarako sistemak ongi funtzionatzen duela dirudi.
-Name[fa]=به نظر می‌رسد که سیستم متن به گفتار درست عمل می‌کند.
-Name[fi]=Teksti puheeksi -järjestelmä näyttää toimivan hyvin.
-Name[fr]=Le système de synthèse vocale semble fonctionner correctement.
-Name[ga]=Dealraíonn sé go bhfuil an córas téacs-go-caint ag obair mar is ceart.
-Name[gl]=O sistema de texto-para-fala parece estar a funcionar correctamente.
-Name[he]=נראה כי מערכת הטקסט לדיבור עובדת כהלכה.
-Name[hu]=A szövegfelolvasó rendszer megfelelően működik.
-Name[is]=Texti-í-tal kerfið virðist virka eðlilega.
-Name[it]=Il sistema di pronuncia pare funzionare correttamente.
-Name[ja]=テキスト読み上げシステムは正しく動作しているようです。
-Name[ka]=ტექსტი-გახმოვანება სისტემა როგორც ჩანს სწორად მოქმედებს.
-Name[km]=ប្រព័ន្ធ​អត្ថបទ​ដែល​ត្រូវ​និយាយ​ហាក់ដូចជា​មាន​មុខងារ​ត្រឹមត្រូវ ។
-Name[mk]=Изгледа дека системот за текст-во-говор функционира како што треба.
-Name[ms]=Sistem teks-ke-Tutur berfungsi dengan baik.
-Name[nb]=Tekst-til-tale-systemet ser ut til å virke som det skal.
-Name[nds]=As dat lett funkscheneert de Vörleser as he schall.
-Name[ne]=पाठ वाचक प्रणालीले ठीक रुपमा कार्य गर्ने देखिन्छ
-Name[nl]=Het tekst-tot-spraaksysteem blijkt goed te functioneren.
-Name[pa]=ਇੱਕ ਪਾਠ ਤੋਂ ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ ਸਿਸਟਮ, ਜੋ ਕਿ ਠੀਕ ਤਰਾਂ ਕੰਮ ਕਰਦਾ ਜਾਪਦਾ ਹੈ।
-Name[pl]=System odczytywania tekstu funkcjonuje prawidłowo.
-Name[pt]=O sistema de texto-para-voz parece estar a funcionar correctamente.
-Name[pt_BR]=O sistema de fala do TDE parece estar funcionando corretamente.
-Name[ru]=Система синтеза речи работает нормально.
-Name[sk]=Systém text-na-reč funguje správne.
-Name[sl]=Sistem besedila v govor očitno deluje pravilno.
-Name[sr]=Систем текст-у-говор изгледа да функционише исправно.
-Name[sr@Latn]=Sistem tekst-u-govor izgleda da funkcioniše ispravno.
-Name[sv]=Text till tal-systemet verkar fungera som det ska.
-Name[ta]=உரையில் இருந்து பேச்சு அமைப்பு சரியாக இயங்குகிறது.
-Name[tg]=Системаи таҳлили овоз мӯътадил кор мекунад.
-Name[tr]=Metinden Konuşmaya sistemi düzgün çalışıyor.
-Name[uk]=Система синтезу мовлення з тексту функціонує правильно.
-Name[vi]=Hệ thống văn bản sang tiếng nói có vẻ hoạt động tốt.
-Name[zh_TW]=文字轉語音的系統已正常運作。
+
+NoDisplay=true
diff --git a/kttsd/kcmkttsmgr/kcmkttsmgr.cpp b/kttsd/kcmkttsmgr/kcmkttsmgr.cpp
index 90a70a4..8cbd792 100644
--- a/kttsd/kcmkttsmgr/kcmkttsmgr.cpp
+++ b/kttsd/kcmkttsmgr/kcmkttsmgr.cpp
@@ -163,13 +163,13 @@ KCMKttsMgr::KCMKttsMgr(TQWidget *parent, const char *name, const TQStringList &)
// Construct a popup menu for the Sentence Boundary Detector buttons on Filter tab.
m_sbdPopmenu = new TQPopupMenu( m_kttsmgrw, "SbdPopupMenu" );
- m_sbdPopmenu->insertItem( i18n("&Edit..."), this, TQT_SLOT(slot_configureSbdFilter()), 0, sbdBtnEdit );
+ m_sbdPopmenu->insertItem( i18n("&Edit..."), this, TQ_SLOT(slot_configureSbdFilter()), 0, sbdBtnEdit );
m_sbdPopmenu->insertItem( TDEGlobal::iconLoader()->loadIconSet("go-up", TDEIcon::Small),
- i18n("U&p"), this, TQT_SLOT(slot_higherSbdFilterPriority()), 0, sbdBtnUp );
+ i18n("U&p"), this, TQ_SLOT(slot_higherSbdFilterPriority()), 0, sbdBtnUp );
m_sbdPopmenu->insertItem( TDEGlobal::iconLoader()->loadIconSet("go-down", TDEIcon::Small),
- i18n("Do&wn"), this, TQT_SLOT(slot_lowerSbdFilterPriority()), 0, sbdBtnDown );
- m_sbdPopmenu->insertItem( i18n("&Add..."), this, TQT_SLOT(slot_addSbdFilter()), 0, sbdBtnAdd );
- m_sbdPopmenu->insertItem( i18n("&Remove"), this, TQT_SLOT(slot_removeSbdFilter()), 0, sbdBtnRemove );
+ i18n("Do&wn"), this, TQ_SLOT(slot_lowerSbdFilterPriority()), 0, sbdBtnDown );
+ m_sbdPopmenu->insertItem( i18n("&Add..."), this, TQ_SLOT(slot_addSbdFilter()), 0, sbdBtnAdd );
+ m_sbdPopmenu->insertItem( i18n("&Remove"), this, TQ_SLOT(slot_removeSbdFilter()), 0, sbdBtnRemove );
m_kttsmgrw->sbdButton->setPopup( m_sbdPopmenu );
// If aRts is available, enable its radio button.
@@ -248,94 +248,94 @@ KCMKttsMgr::KCMKttsMgr(TQWidget *parent, const char *name, const TQStringList &)
// Connect the signals from the KCMKtssMgrWidget to this class.
// Talker tab.
- connect(m_kttsmgrw->addTalkerButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_addTalker()));
- connect(m_kttsmgrw->higherTalkerPriorityButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_higherTalkerPriority()));
- connect(m_kttsmgrw->lowerTalkerPriorityButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_lowerTalkerPriority()));
- connect(m_kttsmgrw->removeTalkerButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_removeTalker()));
- connect(m_kttsmgrw->configureTalkerButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_configureTalker()));
- connect(m_kttsmgrw->talkersList, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(updateTalkerButtons()));
+ connect(m_kttsmgrw->addTalkerButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_addTalker()));
+ connect(m_kttsmgrw->higherTalkerPriorityButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_higherTalkerPriority()));
+ connect(m_kttsmgrw->lowerTalkerPriorityButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_lowerTalkerPriority()));
+ connect(m_kttsmgrw->removeTalkerButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_removeTalker()));
+ connect(m_kttsmgrw->configureTalkerButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_configureTalker()));
+ connect(m_kttsmgrw->talkersList, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(updateTalkerButtons()));
// Filter tab.
- connect(m_kttsmgrw->addFilterButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_addNormalFilter()));
- connect(m_kttsmgrw->higherFilterPriorityButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_higherNormalFilterPriority()));
- connect(m_kttsmgrw->lowerFilterPriorityButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_lowerNormalFilterPriority()));
- connect(m_kttsmgrw->removeFilterButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_removeNormalFilter()));
- connect(m_kttsmgrw->configureFilterButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slot_configureNormalFilter()));
- connect(m_kttsmgrw->filtersList, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(updateFilterButtons()));
- //connect(m_kttsmgrw->filtersList, TQT_SIGNAL(stateChanged()),
- // this, TQT_SLOT(configChanged()));
- connect(m_kttsmgrw->sbdsList, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(updateSbdButtons()));
+ connect(m_kttsmgrw->addFilterButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_addNormalFilter()));
+ connect(m_kttsmgrw->higherFilterPriorityButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_higherNormalFilterPriority()));
+ connect(m_kttsmgrw->lowerFilterPriorityButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_lowerNormalFilterPriority()));
+ connect(m_kttsmgrw->removeFilterButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_removeNormalFilter()));
+ connect(m_kttsmgrw->configureFilterButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slot_configureNormalFilter()));
+ connect(m_kttsmgrw->filtersList, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(updateFilterButtons()));
+ //connect(m_kttsmgrw->filtersList, TQ_SIGNAL(stateChanged()),
+ // this, TQ_SLOT(configChanged()));
+ connect(m_kttsmgrw->sbdsList, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(updateSbdButtons()));
// Audio tab.
- connect(m_kttsmgrw->gstreamerRadioButton, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(slotGstreamerRadioButton_toggled(bool)));
- connect(m_kttsmgrw->alsaRadioButton, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(slotAlsaRadioButton_toggled(bool)));
- connect(m_kttsmgrw->pcmComboBox, TQT_SIGNAL(activated(int)),
- this, TQT_SLOT(slotPcmComboBox_activated()));
- connect(m_kttsmgrw->akodeRadioButton, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(slotAkodeRadioButton_toggled(bool)));
- connect(m_kttsmgrw->timeBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeBox_valueChanged(int)));
- connect(m_kttsmgrw->timeSlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeSlider_valueChanged(int)));
- connect(m_kttsmgrw->timeBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_kttsmgrw->timeSlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_kttsmgrw->keepAudioCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(keepAudioCheckBox_toggled(bool)));
- connect(m_kttsmgrw->keepAudioPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
+ connect(m_kttsmgrw->gstreamerRadioButton, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(slotGstreamerRadioButton_toggled(bool)));
+ connect(m_kttsmgrw->alsaRadioButton, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(slotAlsaRadioButton_toggled(bool)));
+ connect(m_kttsmgrw->pcmComboBox, TQ_SIGNAL(activated(int)),
+ this, TQ_SLOT(slotPcmComboBox_activated()));
+ connect(m_kttsmgrw->akodeRadioButton, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(slotAkodeRadioButton_toggled(bool)));
+ connect(m_kttsmgrw->timeBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeBox_valueChanged(int)));
+ connect(m_kttsmgrw->timeSlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeSlider_valueChanged(int)));
+ connect(m_kttsmgrw->timeBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_kttsmgrw->timeSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_kttsmgrw->keepAudioCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(keepAudioCheckBox_toggled(bool)));
+ connect(m_kttsmgrw->keepAudioPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
// General tab.
- connect(m_kttsmgrw->enableKttsdCheckBox, TQT_SIGNAL(toggled(bool)),
- TQT_SLOT(enableKttsdToggled(bool)));
+ connect(m_kttsmgrw->enableKttsdCheckBox, TQ_SIGNAL(toggled(bool)),
+ TQ_SLOT(enableKttsdToggled(bool)));
// Notify tab.
- connect(m_kttsmgrw->notifyEnableCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(slotNotifyEnableCheckBox_toggled(bool)));
- connect(m_kttsmgrw->notifyExcludeEventsWithSoundCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
- connect(m_kttsmgrw->notifyAddButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyAddButton_clicked()));
- connect(m_kttsmgrw->notifyRemoveButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyRemoveButton_clicked()));
- connect(m_kttsmgrw->notifyClearButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyClearButton_clicked()));
- connect(m_kttsmgrw->notifyLoadButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyLoadButton_clicked()));
- connect(m_kttsmgrw->notifySaveButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifySaveButton_clicked()));
- connect(m_kttsmgrw->notifyListView, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotNotifyListView_selectionChanged()));
- connect(m_kttsmgrw->notifyPresentComboBox, TQT_SIGNAL(activated(int)),
- this, TQT_SLOT(slotNotifyPresentComboBox_activated(int)));
- connect(m_kttsmgrw->notifyActionComboBox, TQT_SIGNAL(activated(int)),
- this, TQT_SLOT(slotNotifyActionComboBox_activated(int)));
- connect(m_kttsmgrw->notifyTestButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyTestButton_clicked()));
- connect(m_kttsmgrw->notifyMsgLineEdit, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(slotNotifyMsgLineEdit_textChanged(const TQString&)));
- connect(m_kttsmgrw->notifyTalkerButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotNotifyTalkerButton_clicked()));
+ connect(m_kttsmgrw->notifyEnableCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(slotNotifyEnableCheckBox_toggled(bool)));
+ connect(m_kttsmgrw->notifyExcludeEventsWithSoundCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_kttsmgrw->notifyAddButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyAddButton_clicked()));
+ connect(m_kttsmgrw->notifyRemoveButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyRemoveButton_clicked()));
+ connect(m_kttsmgrw->notifyClearButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyClearButton_clicked()));
+ connect(m_kttsmgrw->notifyLoadButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyLoadButton_clicked()));
+ connect(m_kttsmgrw->notifySaveButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifySaveButton_clicked()));
+ connect(m_kttsmgrw->notifyListView, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(slotNotifyListView_selectionChanged()));
+ connect(m_kttsmgrw->notifyPresentComboBox, TQ_SIGNAL(activated(int)),
+ this, TQ_SLOT(slotNotifyPresentComboBox_activated(int)));
+ connect(m_kttsmgrw->notifyActionComboBox, TQ_SIGNAL(activated(int)),
+ this, TQ_SLOT(slotNotifyActionComboBox_activated(int)));
+ connect(m_kttsmgrw->notifyTestButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyTestButton_clicked()));
+ connect(m_kttsmgrw->notifyMsgLineEdit, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(slotNotifyMsgLineEdit_textChanged(const TQString&)));
+ connect(m_kttsmgrw->notifyTalkerButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotNotifyTalkerButton_clicked()));
// Others.
- connect(m_kttsmgrw, TQT_SIGNAL( configChanged() ),
- this, TQT_SLOT( configChanged() ) );
- connect(m_kttsmgrw->mainTab, TQT_SIGNAL(currentChanged(TQWidget*)),
- this, TQT_SLOT(slotTabChanged()));
+ connect(m_kttsmgrw, TQ_SIGNAL( configChanged() ),
+ this, TQ_SLOT( configChanged() ) );
+ connect(m_kttsmgrw->mainTab, TQ_SIGNAL(currentChanged(TQWidget*)),
+ this, TQ_SLOT(slotTabChanged()));
// Connect KTTSD DCOP signals to our slots.
if (!connectDCOPSignal("kttsd", "KSpeech",
@@ -1835,7 +1835,7 @@ void KCMKttsMgr::kttsdStarted()
if (factory)
{
// Create the Job Manager part
- m_jobMgrPart = (KParts::ReadOnlyPart *)factory->create( TQT_TQOBJECT(m_kttsmgrw->mainTab), "kttsjobmgr",
+ m_jobMgrPart = (KParts::ReadOnlyPart *)factory->create( m_kttsmgrw->mainTab, "kttsjobmgr",
"KParts::ReadOnlyPart" );
if (m_jobMgrPart)
{
@@ -2040,9 +2040,9 @@ void KCMKttsMgr::configureTalker()
m_configDlg->setMainWidget(m_loadedTalkerPlugIn);
m_configDlg->setHelp("configure-plugin", "kttsd");
m_configDlg->enableButtonOK(false);
- connect(m_loadedTalkerPlugIn, TQT_SIGNAL( changed(bool) ), this, TQT_SLOT( slotConfigTalkerDlg_ConfigChanged() ));
- connect(m_configDlg, TQT_SIGNAL( defaultClicked() ), this, TQT_SLOT( slotConfigTalkerDlg_DefaultClicked() ));
- connect(m_configDlg, TQT_SIGNAL( cancelClicked() ), this, TQT_SLOT (slotConfigTalkerDlg_CancelClicked() ));
+ connect(m_loadedTalkerPlugIn, TQ_SIGNAL( changed(bool) ), this, TQ_SLOT( slotConfigTalkerDlg_ConfigChanged() ));
+ connect(m_configDlg, TQ_SIGNAL( defaultClicked() ), this, TQ_SLOT( slotConfigTalkerDlg_DefaultClicked() ));
+ connect(m_configDlg, TQ_SIGNAL( cancelClicked() ), this, TQ_SLOT (slotConfigTalkerDlg_CancelClicked() ));
// Create a Player object for the plugin to use for testing.
int playerOption = 0;
TQString sinkName;
@@ -2063,7 +2063,7 @@ void KCMKttsMgr::configureTalker()
}
float audioStretchFactor = 1.0/(float(m_kttsmgrw->timeBox->value())/100.0);
// kdDebug() << "KCMKttsMgr::configureTalker: playerOption = " << playerOption << " audioStretchFactor = " << audioStretchFactor << " sink name = " << sinkName << endl;
- TestPlayer* testPlayer = new TestPlayer(TQT_TQOBJECT(this), "ktts_testplayer",
+ TestPlayer* testPlayer = new TestPlayer(this, "ktts_testplayer",
playerOption, audioStretchFactor, sinkName);
m_loadedTalkerPlugIn->setPlayer(testPlayer);
// Display the dialog.
@@ -2098,9 +2098,9 @@ void KCMKttsMgr::configureFilter()
m_configDlg->setMainWidget(m_loadedFilterPlugIn);
m_configDlg->setHelp("configure-filter", "kttsd");
m_configDlg->enableButtonOK(false);
- connect(m_loadedFilterPlugIn, TQT_SIGNAL( changed(bool) ), this, TQT_SLOT( slotConfigFilterDlg_ConfigChanged() ));
- connect(m_configDlg, TQT_SIGNAL( defaultClicked() ), this, TQT_SLOT( slotConfigFilterDlg_DefaultClicked() ));
- connect(m_configDlg, TQT_SIGNAL( cancelClicked() ), this, TQT_SLOT (slotConfigFilterDlg_CancelClicked() ));
+ connect(m_loadedFilterPlugIn, TQ_SIGNAL( changed(bool) ), this, TQ_SLOT( slotConfigFilterDlg_ConfigChanged() ));
+ connect(m_configDlg, TQ_SIGNAL( defaultClicked() ), this, TQ_SLOT( slotConfigFilterDlg_DefaultClicked() ));
+ connect(m_configDlg, TQ_SIGNAL( cancelClicked() ), this, TQ_SLOT (slotConfigFilterDlg_CancelClicked() ));
// Display the dialog.
m_configDlg->exec();
}
diff --git a/kttsd/kcmkttsmgr/kcmkttsmgr.h b/kttsd/kcmkttsmgr/kcmkttsmgr.h
index 8c84538..527171f 100644
--- a/kttsd/kcmkttsmgr/kcmkttsmgr.h
+++ b/kttsd/kcmkttsmgr/kcmkttsmgr.h
@@ -54,7 +54,7 @@ class KCMKttsMgr :
public KSpeech_stub,
virtual public KSpeechSink
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kcmkttsmgr/kcmkttsmgrwidget.ui b/kttsd/kcmkttsmgr/kcmkttsmgrwidget.ui
index 0a4307c..8fc6946 100644
--- a/kttsd/kcmkttsmgr/kcmkttsmgrwidget.ui
+++ b/kttsd/kcmkttsmgr/kcmkttsmgrwidget.ui
@@ -307,9 +307,6 @@
<property name="text">
<string>Add...</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="whatsThis" stdset="0">
<string>Click to add and configure a new Talker (speech synthesizer).</string>
<comment>What's this text</comment>
@@ -548,9 +545,6 @@
<property name="text">
<string>Add...</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="whatsThis" stdset="0">
<string>Click to configure notification for a specific application event.</string>
</property>
@@ -869,9 +863,6 @@
<property name="text">
<string>Add...</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="whatsThis" stdset="0">
<string>Click to add and configure a new Filter.</string>
<comment>What's this text</comment>
@@ -1567,9 +1558,6 @@
<property name="text">
<string>aKode</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="checked">
<bool>false</bool>
</property>
@@ -1598,9 +1586,6 @@
<property name="text">
<string>ALSA</string>
</property>
- <property name="accel">
- <string></string>
- </property>
<property name="checked">
<bool>false</bool>
</property>
@@ -1884,45 +1869,21 @@
<tabstop>keepAudioPath</tabstop>
</tabstops>
<includes>
- <include location="global" impldecl="in declaration">tdelocale.h</include>
<include location="global" impldecl="in implementation">tdelocale.h</include>
<include location="global" impldecl="in implementation">kdebug.h</include>
+ <include location="global" impldecl="in implementation">tdecmodule.h</include>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
</includes>
-<Q_SIGNALS>
+<signals>
<signal>configChanged()</signal>
-</Q_SIGNALS>
-<Q_SLOTS>
+</signals>
+<slots>
<slot access="private">slotConfigChanged()</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="6"/>
-<includehints>
- <includehint>tdecmodule.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/kcmkttsmgr/selectevent.cpp b/kttsd/kcmkttsmgr/selectevent.cpp
index 3bbb37e..5b33fc2 100644
--- a/kttsd/kcmkttsmgr/selectevent.cpp
+++ b/kttsd/kcmkttsmgr/selectevent.cpp
@@ -79,7 +79,7 @@ SelectEvent::SelectEvent(TQWidget* parent, const char* name, WFlags fl, const TQ
}
}
slotEventSrcComboBox_activated(eventSrcComboBox->currentItem());
- connect (eventSrcComboBox, TQT_SIGNAL(activated(int)), this, TQT_SLOT(slotEventSrcComboBox_activated(int)));
+ connect (eventSrcComboBox, TQ_SIGNAL(activated(int)), this, TQ_SLOT(slotEventSrcComboBox_activated(int)));
}
SelectEvent::~SelectEvent() { }
diff --git a/kttsd/kcmkttsmgr/selectevent.h b/kttsd/kcmkttsmgr/selectevent.h
index c3914d2..29d67de 100644
--- a/kttsd/kcmkttsmgr/selectevent.h
+++ b/kttsd/kcmkttsmgr/selectevent.h
@@ -28,7 +28,7 @@
class SelectEvent : public SelectEventWidget
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kcmkttsmgr/selecteventwidget.ui b/kttsd/kcmkttsmgr/selecteventwidget.ui
index 3d4281f..14df075 100644
--- a/kttsd/kcmkttsmgr/selecteventwidget.ui
+++ b/kttsd/kcmkttsmgr/selecteventwidget.ui
@@ -56,7 +56,7 @@
<customwidgets>
</customwidgets>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>tdelistview.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
+</includes>
</UI>
diff --git a/kttsd/kttsd/CMakeLists.txt b/kttsd/kttsd/CMakeLists.txt
new file mode 100644
index 0000000..a4d6a1c
--- /dev/null
+++ b/kttsd/kttsd/CMakeLists.txt
@@ -0,0 +1,53 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kttsd (executable)
+
+tde_add_executable( kttsd AUTOMOC
+
+ SOURCES
+ kttsd.skel
+ main.cpp
+ kttsd.cpp
+ speaker.cpp
+ speechdata.cpp
+ threadedplugin.cpp
+ ssmlconvert.cpp
+ filtermgr.cpp
+ talkermgr.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ kttsd-shared
+ kspeech_skel-static
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+install(
+ FILES SSMLtoPlainText.xsl
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/xslt
+)
+
+tde_create_translated_desktop(
+ SOURCE kttsd.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/kttsd/filtermgr.cpp b/kttsd/kttsd/filtermgr.cpp
index 77725ce..c390b3b 100644
--- a/kttsd/kttsd/filtermgr.cpp
+++ b/kttsd/kttsd/filtermgr.cpp
@@ -202,7 +202,7 @@ void FilterMgr::nextFilter()
{
m_text = m_filterProc->getOutput();
m_filterProc->ackFinished();
- disconnect( m_filterProc, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilteringFinished()) );
+ disconnect( m_filterProc, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilteringFinished()) );
}
// if ( m_filterProc->wasModified() )
// kdDebug() << "FilterMgr::nextFilter: Filter# " << m_filterIndex << " modified the text." << endl;
@@ -239,10 +239,10 @@ void FilterMgr::nextFilter()
if ( m_filterProc->supportsAsync() )
{
// kdDebug() << "FilterMgr::nextFilter: calling asyncConvert on filter " << m_filterIndex << endl;
- connect( m_filterProc, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilteringFinished()) );
+ connect( m_filterProc, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilteringFinished()) );
if ( !m_filterProc->asyncConvert( m_text, m_talkerCode, m_appId ) )
{
- disconnect( m_filterProc, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilteringFinished()) );
+ disconnect( m_filterProc, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilteringFinished()) );
m_filterProc = 0;
nextFilter();
}
@@ -284,7 +284,7 @@ bool FilterMgr::event ( TQEvent * e )
void FilterMgr::waitForFinished()
{
if ( m_state != fsFiltering ) return;
- disconnect(m_filterProc, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilteringFinished()) );
+ disconnect(m_filterProc, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilteringFinished()) );
m_async = false;
m_filterProc->waitForFinished();
while ( m_state == fsFiltering )
@@ -321,7 +321,7 @@ void FilterMgr::stopFiltering()
{
if ( m_state != fsFiltering ) return;
if ( m_async )
- disconnect( m_filterProc, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilteringFinished()) );
+ disconnect( m_filterProc, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilteringFinished()) );
m_filterProc->stopFiltering();
m_state = fsIdle;
TQCustomEvent* ev = new TQCustomEvent(TQEvent::User + 302);
diff --git a/kttsd/kttsd/filtermgr.h b/kttsd/kttsd/filtermgr.h
index 11e515d..824ee06 100644
--- a/kttsd/kttsd/filtermgr.h
+++ b/kttsd/kttsd/filtermgr.h
@@ -39,7 +39,7 @@ typedef TQPtrList<KttsFilterProc> FilterList;
class FilterMgr : public KttsFilterProc
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kttsd/kttsd.cpp b/kttsd/kttsd/kttsd.cpp
index 81b05f2..5d0b7e7 100644
--- a/kttsd/kttsd/kttsd.cpp
+++ b/kttsd/kttsd/kttsd.cpp
@@ -69,12 +69,12 @@ bool KTTSD::initializeSpeechData()
if (!m_speechData)
{
m_speechData = new SpeechData();
- connect (m_speechData, TQT_SIGNAL(textSet(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextSet(const TQCString&, const uint)));
- connect (m_speechData, TQT_SIGNAL(textAppended(const TQCString&, const uint, const int)),
- this, TQT_SLOT(slotTextAppended(const TQCString&, const uint, const int)));
- connect (m_speechData, TQT_SIGNAL(textRemoved(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextRemoved(const TQCString&, const uint)));
+ connect (m_speechData, TQ_SIGNAL(textSet(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextSet(const TQCString&, const uint)));
+ connect (m_speechData, TQ_SIGNAL(textAppended(const TQCString&, const uint, const int)),
+ this, TQ_SLOT(slotTextAppended(const TQCString&, const uint, const int)));
+ connect (m_speechData, TQ_SIGNAL(textRemoved(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextRemoved(const TQCString&, const uint)));
// Hook KNotify signal.
if (!connectDCOPSignal(0, 0,
@@ -156,20 +156,20 @@ bool KTTSD::initializeSpeaker()
// Create speaker object and load plug ins, checking for the return
m_speaker = new Speaker(m_speechData, m_talkerMgr);
- connect (m_speaker, TQT_SIGNAL(textStarted(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextStarted(const TQCString&, const uint)));
- connect (m_speaker, TQT_SIGNAL(textFinished(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextFinished(const TQCString&, const uint)));
- connect (m_speaker, TQT_SIGNAL(textResumed(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextResumed(const TQCString&, const uint)));
- connect (m_speaker, TQT_SIGNAL(sentenceStarted(TQString, TQString, const TQCString&, const uint, const uint)),
- this, TQT_SLOT(slotSentenceStarted(TQString, TQString, const TQCString&, const uint, const uint)));
- connect (m_speaker, TQT_SIGNAL(sentenceFinished(const TQCString&, const uint, const uint)), this,
- TQT_SLOT(slotSentenceFinished(const TQCString&, const uint, const uint)));
- connect (m_speaker, TQT_SIGNAL(textStopped(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextStopped(const TQCString&, const uint)));
- connect (m_speaker, TQT_SIGNAL(textPaused(const TQCString&, const uint)),
- this, TQT_SLOT(slotTextPaused(const TQCString&, const uint)));
+ connect (m_speaker, TQ_SIGNAL(textStarted(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextStarted(const TQCString&, const uint)));
+ connect (m_speaker, TQ_SIGNAL(textFinished(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextFinished(const TQCString&, const uint)));
+ connect (m_speaker, TQ_SIGNAL(textResumed(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextResumed(const TQCString&, const uint)));
+ connect (m_speaker, TQ_SIGNAL(sentenceStarted(TQString, TQString, const TQCString&, const uint, const uint)),
+ this, TQ_SLOT(slotSentenceStarted(TQString, TQString, const TQCString&, const uint, const uint)));
+ connect (m_speaker, TQ_SIGNAL(sentenceFinished(const TQCString&, const uint, const uint)), this,
+ TQ_SLOT(slotSentenceFinished(const TQCString&, const uint, const uint)));
+ connect (m_speaker, TQ_SIGNAL(textStopped(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextStopped(const TQCString&, const uint)));
+ connect (m_speaker, TQ_SIGNAL(textPaused(const TQCString&, const uint)),
+ this, TQ_SLOT(slotTextPaused(const TQCString&, const uint)));
return true;
}
diff --git a/kttsd/kttsd/kttsd.desktop b/kttsd/kttsd/kttsd.desktop
index 3ef466d..f7fb913 100644
--- a/kttsd/kttsd/kttsd.desktop
+++ b/kttsd/kttsd/kttsd.desktop
@@ -1,4 +1,7 @@
[Desktop Entry]
+Name=KTTSD
+Comment=TDE Text To Speech Daemon
+
Type=Service
Exec=kttsd
Icon=kttsd
@@ -6,51 +9,3 @@ X-TDE-ServiceTypes=DCOP/Text-to-Speech
X-DCOP-ServiceType=Unique
X-DCOP-ServiceName=kttsd
X-TDE-StartupNotify=false
-Name=KTTSD
-Name[zh_TW]=KTTSd
-Comment=TDE Text To Speech Daemon
-Comment[bg]=Демон за управление на модула за синтез на глас
-Comment[bs]=TDE Demon za izgovaranje teksta
-Comment[ca]=Dimoni de text a veu de TDE
-Comment[cs]=Démon hlasové syntézy TDE
-Comment[da]=TDE's Tekst til tale-dæmon
-Comment[de]=TDE Sprachausgabedienst
-Comment[el]=TDE δαίμονας κειμένου-σε-ομιλία
-Comment[es]=Demonio de TDE para la sí­ntesis de texto a voz
-Comment[et]=TDE teksti kõneks muutmise deemon
-Comment[eu]=TDE-ren testutik hizketarako deabrua
-Comment[fa]=شبح متن به گفتار TDE
-Comment[fi]=TDE Teksti puheeksi -palvelinohjelma
-Comment[fr]=Démon de synthèse vocale pour TDE
-Comment[ga]=Deamhan Téacs-Go-Caint TDE
-Comment[gl]=Servizo Texto-para-Fala de TDE
-Comment[he]=שירות הטקסט לדיבור של TDE
-Comment[hu]=TDE szövegfelolvasó szolgáltatás
-Comment[is]=TDE texti-í-tal púki
-Comment[it]=Demone di pronuncia di TDE
-Comment[ja]=TDE テキスト読み上げデーモン
-Comment[ka]=TDE ტექსტის გახმოვანების დემონი
-Comment[km]=ដេមិន​អត្ថបទ​ដែល​ត្រូវ​និយាយ​របស់ TDE
-Comment[mk]=Даемон на TDE за текст-во-говор
-Comment[ms]=Daemon Teks Ke Tutur TDE
-Comment[nb]=TDE tekst-til-tale-nisse
-Comment[nds]=Vörlees-Dämoon vun TDE
-Comment[ne]=केडीई पाठ वाचक डेइमन
-Comment[nl]=TDE Tekst-tot-spraak-daemon
-Comment[pa]=TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਡਾਈਮੋਨ
-Comment[pl]=Usługa odczytywania tekstu dla TDE
-Comment[pt]=Servidor do Texto para Fala do TDE
-Comment[pt_BR]=Serviço de Conversão de Texto para Fala do TDE
-Comment[ru]=Служба синтеза речи
-Comment[sk]=Démon TDE text-na-reč
-Comment[sl]=Demon TDE za besedilo v govor
-Comment[sr]=TDE-ов демон за текст-у-говор
-Comment[sr@Latn]=TDE-ov demon za tekst-u-govor
-Comment[sv]=TDE:s text-till-tal demon
-Comment[ta]=கேடியி உரையில் இருந்து பேச்சு டெமான்
-Comment[tg]=Демон таҳлили овоз
-Comment[tr]=TDE Metinden Konuşmaya Artalan Süreci
-Comment[uk]=Демон TDE синтезу мовлення з тексту
-Comment[vi]=Trình nền Văn bản sang Tiếng nói TDE
-Comment[zh_TW]=TDE 文字轉語音的常駐精靈
-
diff --git a/kttsd/kttsd/kttsd.h b/kttsd/kttsd/kttsd.h
index 6be509a..9ea18e1 100644
--- a/kttsd/kttsd/kttsd.h
+++ b/kttsd/kttsd/kttsd.h
@@ -38,7 +38,7 @@
class KTTSD : public TQObject, virtual public KSpeech
{
- Q_OBJECT
+ TQ_OBJECT
//
K_DCOP
@@ -632,7 +632,7 @@ class KTTSD : public TQObject, virtual public KSpeech
// kspeech is obsolete. Applications should use KSpeech instead.
class kspeech : public TQObject, virtual public KSpeech
{
- Q_OBJECT
+ TQ_OBJECT
//
K_DCOP
diff --git a/kttsd/kttsd/speaker.cpp b/kttsd/kttsd/speaker.cpp
index dbff953..a0636ac 100644
--- a/kttsd/kttsd/speaker.cpp
+++ b/kttsd/kttsd/speaker.cpp
@@ -152,7 +152,7 @@ Speaker::Speaker( SpeechData*speechData, TalkerMgr* talkerMgr,
break;
}
// Connect timer timeout signal.
- connect(m_timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotTimeout()));
+ connect(m_timer, TQ_SIGNAL(timeout()), this, TQ_SLOT(slotTimeout()));
// Connect plugins to slots.
TQPtrList<PlugInProc> plugins = m_talkerMgr->getLoadedPlugIns();
@@ -160,14 +160,14 @@ Speaker::Speaker( SpeechData*speechData, TalkerMgr* talkerMgr,
for (int ndx = 0; ndx < pluginsCount; ++ndx)
{
PlugInProc* speech = plugins.at(ndx);
- connect(speech, TQT_SIGNAL(synthFinished()),
- this, TQT_SLOT(slotSynthFinished()));
- connect(speech, TQT_SIGNAL(sayFinished()),
- this, TQT_SLOT(slotSayFinished()));
- connect(speech, TQT_SIGNAL(stopped()),
- this, TQT_SLOT(slotStopped()));
- connect(speech, TQT_SIGNAL(error(bool, const TQString&)),
- this, TQT_SLOT(slotError(bool, const TQString&)));
+ connect(speech, TQ_SIGNAL(synthFinished()),
+ this, TQ_SLOT(slotSynthFinished()));
+ connect(speech, TQ_SIGNAL(sayFinished()),
+ this, TQ_SLOT(slotSayFinished()));
+ connect(speech, TQ_SIGNAL(stopped()),
+ this, TQ_SLOT(slotStopped()));
+ connect(speech, TQ_SIGNAL(error(bool, const TQString&)),
+ this, TQ_SLOT(slotError(bool, const TQString&)));
}
}
@@ -275,8 +275,8 @@ void Speaker::doUtterances()
{
// Create an XSLT transformer and transform the text.
it->transformer = new SSMLConvert();
- connect(it->transformer, TQT_SIGNAL(transformFinished()),
- this, TQT_SLOT(slotTransformFinished()));
+ connect(it->transformer, TQ_SIGNAL(transformFinished()),
+ this, TQ_SLOT(slotTransformFinished()));
if (it->transformer->transform(it->sentence->text,
it->plugin->getSsmlXsltFilename()))
{
@@ -345,8 +345,8 @@ void Speaker::doUtterances()
else
{
it->audioStretcher = new Stretcher();
- connect(it->audioStretcher, TQT_SIGNAL(stretchFinished()),
- this, TQT_SLOT(slotStretchFinished()));
+ connect(it->audioStretcher, TQ_SIGNAL(stretchFinished()),
+ this, TQ_SLOT(slotStretchFinished()));
if (it->audioStretcher->stretch(it->audioUrl, makeSuggestedFilename(),
m_audioStretchFactor))
{
diff --git a/kttsd/kttsd/speaker.h b/kttsd/kttsd/speaker.h
index 85fd4f0..57e8938 100644
--- a/kttsd/kttsd/speaker.h
+++ b/kttsd/kttsd/speaker.h
@@ -110,7 +110,7 @@ const int timerInterval = 500;
* the queue and call the plug ins function to actually speak the texts.
*/
class Speaker : public TQObject{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kttsd/speechdata.cpp b/kttsd/kttsd/speechdata.cpp
index e1edc75..2d39153 100644
--- a/kttsd/kttsd/speechdata.cpp
+++ b/kttsd/kttsd/speechdata.cpp
@@ -125,8 +125,8 @@ bool SpeechData::readConfig(){
pooledFilterMgr->job = 0;
pooledFilterMgr->partNum = 0;
// Connect signals from FilterMgr.
- connect (filterMgr, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilterMgrFinished()));
- connect (filterMgr, TQT_SIGNAL(filteringStopped()), this, TQT_SLOT(slotFilterMgrStopped()));
+ connect (filterMgr, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilterMgrFinished()));
+ connect (filterMgr, TQ_SIGNAL(filteringStopped()), this, TQ_SLOT(slotFilterMgrStopped()));
m_pooledFilterMgrs.append(pooledFilterMgr);
return true;
@@ -1136,8 +1136,8 @@ void SpeechData::startJobFiltering(mlJob* job, const TQString& text, bool noSBD)
filterMgr->init(config, "General");
pooledFilterMgr->filterMgr = filterMgr;
// Connect signals from FilterMgr.
- connect (filterMgr, TQT_SIGNAL(filteringFinished()), this, TQT_SLOT(slotFilterMgrFinished()));
- connect (filterMgr, TQT_SIGNAL(filteringStopped()), this, TQT_SLOT(slotFilterMgrStopped()));
+ connect (filterMgr, TQ_SIGNAL(filteringFinished()), this, TQ_SLOT(slotFilterMgrFinished()));
+ connect (filterMgr, TQ_SIGNAL(filteringStopped()), this, TQ_SLOT(slotFilterMgrStopped()));
m_pooledFilterMgrs.append(pooledFilterMgr);
}
// else kdDebug() << "SpeechData::startJobFiltering: re-using idle pooledFilterMgr for job " << jobNum << " part " << partNum << endl;
diff --git a/kttsd/kttsd/speechdata.h b/kttsd/kttsd/speechdata.h
index f8faeb3..1eae68d 100644
--- a/kttsd/kttsd/speechdata.h
+++ b/kttsd/kttsd/speechdata.h
@@ -109,7 +109,7 @@ typedef TQMap<TQString, NotifyEventMap> NotifyAppMap;
* functions)
*/
class SpeechData : public TQObject {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/kttsd/ssmlconvert.cpp b/kttsd/kttsd/ssmlconvert.cpp
index 1625e4a..45923a1 100644
--- a/kttsd/kttsd/ssmlconvert.cpp
+++ b/kttsd/kttsd/ssmlconvert.cpp
@@ -239,8 +239,8 @@ bool SSMLConvert::transform(const TQString &text, const TQString &xsltFilename)
// kdDebug() << "SSMLConvert::transform: executing command: " <<
// m_xsltProc->args() << endl;
- connect(m_xsltProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_xsltProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
if (!m_xsltProc->start(TDEProcess::NotifyOnExit, TDEProcess::NoCommunication))
{
kdDebug() << "SSMLConvert::transform: Error starting xsltproc" << endl;
diff --git a/kttsd/kttsd/ssmlconvert.h b/kttsd/kttsd/ssmlconvert.h
index 5aa865a..a907544 100644
--- a/kttsd/kttsd/ssmlconvert.h
+++ b/kttsd/kttsd/ssmlconvert.h
@@ -38,7 +38,7 @@ class TDEProcess;
class TQString;
class SSMLConvert : public TQObject {
- Q_OBJECT
+ TQ_OBJECT
public:
/** Constructors */
diff --git a/kttsd/kttsjobmgr/CMakeLists.txt b/kttsd/kttsjobmgr/CMakeLists.txt
new file mode 100644
index 0000000..963fcb7
--- /dev/null
+++ b/kttsd/kttsjobmgr/CMakeLists.txt
@@ -0,0 +1,41 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${CMAKE_BINARY_DIR}/kttsd/libkttsd
+ ${CMAKE_BINARY_DIR}/kspeechsink
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsjobmgrpart (kpart)
+
+tde_add_kpart( libkttsjobmgrpart MODULE AUTOMOC
+
+ SOURCES
+ kttsjobmgr.cpp
+ LINK
+ tdeio-shared
+ tdeparts-shared
+ kttsd-shared
+ kspeech_stub-static
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsjobmgr.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/kttsjobmgr/kttsjobmgr.cpp b/kttsd/kttsjobmgr/kttsjobmgr.cpp
index d761860..a6a7072 100644
--- a/kttsd/kttsjobmgr/kttsjobmgr.cpp
+++ b/kttsd/kttsjobmgr/kttsjobmgr.cpp
@@ -89,7 +89,7 @@ TDEAboutData *KttsJobMgrFactory::aboutData()
KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
DCOPStub("kttsd", "KSpeech"),
DCOPObject("kttsjobmgr_kspeechsink"),
- KParts::ReadOnlyPart(TQT_TQOBJECT(parent), name)
+ KParts::ReadOnlyPart(parent, name)
{
// Initialize some variables.
m_selectOnTextSet = false;
@@ -106,7 +106,7 @@ KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
// Create a splitter to contain the Job List View and the current sentence.
TQSplitter* splitter = new TQSplitter(vBox);
- splitter->setOrientation(Qt::Vertical);
+ splitter->setOrientation(TQt::Vertical);
// Create Job List View widget.
m_jobListView = new TDEListView(splitter, "joblistview");
@@ -180,60 +180,60 @@ KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
"<b>Resume</b> to make the job speakable, or click <b>Later</b> to move it "
"down in the list.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_hold()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_hold()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("application-x-executable", TDEIcon::Small, 0, true),
i18n("Resume"), hbox1, "job_resume");
wt = i18n(
"<p>Resumes a paused job or changes a Queued job to Waiting. If the job is the "
"top speakable job in the list, it begins speaking.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_resume()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_resume()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("edit-redo", TDEIcon::Small, 0, true),
i18n("R&estart"), hbox1, "job_restart");
wt = i18n(
"<p>Rewinds a job to the beginning and changes its state to Waiting. If the job "
"is the top speakable job in the list, it begins speaking.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_restart()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_restart()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("edittrash", TDEIcon::Small, 0, true),
i18n("Re&move"), hbox1, "job_remove");
wt = i18n(
"<p>Deletes the job. If it is currently speaking, it stops speaking. The next "
"speakable job in the list begins speaking.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_remove()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_remove()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("go-down", TDEIcon::Small, 0, true),
i18n("&Later"), hbox1, "job_later");
wt = i18n(
"<p>Moves a job downward in the list so that it will be spoken later. If the job "
"is currently speaking, its state changes to Paused.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_move()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_move()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("2leftarrow", TDEIcon::Small, 0, true),
i18n("Pre&vious Part"), hbox2, "part_prevpart");
wt = i18n(
"<p>Rewinds a multi-part job to the previous part.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_prev_par()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_prev_par()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("1leftarrow", TDEIcon::Small, 0, true),
i18n("&Previous Sentence"), hbox2, "job_prevsentence");
wt = i18n(
"<p>Rewinds a job to the previous sentence.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_prev_sen()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_prev_sen()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("1rightarrow", TDEIcon::Small, 0, true),
i18n("&Next Sentence"), hbox2, "job_nextsentence");
wt = i18n(
"<p>Advances a job to the next sentence.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_next_sen()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_next_sen()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("2rightarrow", TDEIcon::Small, 0, true),
i18n("Ne&xt Part"), hbox2, "part_nextpart");
wt = i18n(
"<p>Advances a multi-part job to the next part.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_next_par()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_next_par()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("klipper", TDEIcon::Small, 0, true),
i18n("&Speak Clipboard"), hbox3, "speak_clipboard");
@@ -242,7 +242,7 @@ KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
"to Waiting. If the job is the topmost in the list, it begins speaking. "
"The job will be spoken by the topmost Talker in the <b>Talkers</b> tab.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_speak_clipboard()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_speak_clipboard()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("document-open", TDEIcon::Small, 0, true),
i18n("Spea&k File"), hbox3, "speak_file");
wt = i18n(
@@ -250,20 +250,20 @@ KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
"You must click the <b>Resume</b> button before the job will be speakable. "
"The job will be spoken by the topmost Talker in the <b>Talkers</b> tab.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_speak_file()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_speak_file()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("translate", TDEIcon::Small, 0, true),
i18n("Change Talker"), hbox3, "job_changetalker");
wt = i18n(
"<p>Prompts you with a list of your configured Talkers from the <b>Talkers</b> tab. "
"The job will be spoken using the selected Talker.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_job_change_talker()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_job_change_talker()));
btn = new TQPushButton(TDEGlobal::iconLoader()->loadIconSet("reload_page", TDEIcon::Small, 0, true),
i18n("&Refresh"), hbox3, "refresh");
wt = i18n(
"<p>Refresh the list of jobs.</p>");
TQWhatsThis::add(btn, wt);
- connect (btn, TQT_SIGNAL(clicked()), this, TQT_SLOT(slot_refresh()));
+ connect (btn, TQ_SIGNAL(clicked()), this, TQ_SLOT(slot_refresh()));
// Disable job buttons until a job is selected.
enableJobActions(false);
@@ -291,8 +291,8 @@ KttsJobMgrPart::KttsJobMgrPart(TQWidget *parent, const char *name) :
// Set the main widget for the part.
setWidget(vBox);
- connect(m_jobListView, TQT_SIGNAL(selectionChanged(TQListViewItem* )),
- this, TQT_SLOT(slot_selectionChanged(TQListViewItem* )));
+ connect(m_jobListView, TQ_SIGNAL(selectionChanged(TQListViewItem* )),
+ this, TQ_SLOT(slot_selectionChanged(TQListViewItem* )));
// Fill the Job List View.
refreshJobListView();
@@ -764,7 +764,7 @@ TQString KttsJobMgrPart::cachedTalkerCodeToTalkerID(const TQString& talkerCode)
void KttsJobMgrPart::enableJobActions(bool enable)
{
if (!m_buttonBox) return;
- TQObjectList *l = m_buttonBox->queryList( TQPUSHBUTTON_OBJECT_NAME_STRING, "job_*", true, true );
+ TQObjectList *l = m_buttonBox->queryList( "TQPushButton", "job_*", true, true );
TQObjectListIt it( *l ); // iterate over the buttons
TQObject *obj;
@@ -783,7 +783,7 @@ void KttsJobMgrPart::enableJobActions(bool enable)
{
bool enableLater = item->nextSibling();
- l = m_buttonBox->queryList( TQPUSHBUTTON_OBJECT_NAME_STRING, "job_later", false, true );
+ l = m_buttonBox->queryList( "TQPushButton", "job_later", false, true );
it = TQObjectListIt( *l ); // iterate over the buttons
if ( (obj = it.current()) != 0 ) {
// for each found object...
@@ -801,7 +801,7 @@ void KttsJobMgrPart::enableJobActions(bool enable)
void KttsJobMgrPart::enableJobPartActions(bool enable)
{
if (!m_buttonBox) return;
- TQObjectList *l = m_buttonBox->queryList( TQPUSHBUTTON_OBJECT_NAME_STRING, "part_*", true, true );
+ TQObjectList *l = m_buttonBox->queryList( "TQPushButton", "part_*", true, true );
TQObjectListIt it( *l ); // iterate over the buttons
TQObject *obj;
diff --git a/kttsd/kttsjobmgr/kttsjobmgr.desktop b/kttsd/kttsjobmgr/kttsjobmgr.desktop
index e3340b7..0a97bd5 100644
--- a/kttsd/kttsjobmgr/kttsjobmgr.desktop
+++ b/kttsd/kttsjobmgr/kttsjobmgr.desktop
@@ -1,49 +1,7 @@
[Desktop Entry]
-Type=Service
Name=kttsjobmgrpart
-Name[pt_BR]=Componente Ger. de Jobs do Ktts
-Name[tr]=Kttsjobmgrpart
+
Comment=TDE Text-to-speech Job Manager
-Comment[bg]=Мениджър на задачите за синтез на глас
-Comment[ca]=Gestor de treballs de text a veu de TDE
-Comment[cs]=Správce úloh zvukové syntézy TDE
-Comment[da]=TDE's Tekst-til-tale Job-håndtering
-Comment[de]=TDE-Auftragsverwaltung für Sprachausgabe
-Comment[el]=TDE διαχειριστής εργασιών κειμένου-σε-ομιλία
-Comment[es]=Administrador de trabajos del sintetizador de texto a voz de TDE
-Comment[et]=TDE teksti kõneks muutmise tööde haldur
-Comment[eu]=TDE-ren testutik-hizketarako lan-kudeatzailea
-Comment[fa]=مدیر کار متن به گفتار TDE
-Comment[fi]=TDE Teksti puheeksi -töidenhallintaohjelma
-Comment[fr]=Gestionnaire de tâches de synthèse vocale pour TDE
-Comment[ga]=Bainisteoir Jabanna Téacs-go-Caint TDE
-Comment[gl]=Xestor de Traballos de Texto-para-Fala de TDE
-Comment[hu]=TDE-s kezelőprogram szövegfelolvasáshoz
-Comment[is]=TDE texti-í-tal verkstjóri
-Comment[it]=Gestore dei processi di pronuncia di TDE
-Comment[ja]=TDE テキスト読み上げジョブマネージャ
-Comment[ka]=TDE ტექსტი-გახმოვანების ამოცანათა მმართველი
-Comment[km]=ឧបករណ៍​គ្រប់គ្រង​ការងារ​អត្ថបទ​ដែលត្រូវ​និយាយ​របស់ TDE
-Comment[mk]=Менаџер на задачи во TDE за текст-во-говор
-Comment[ms]=Pengurus Kerja Teks-ke-tutur TDE
-Comment[nb]=Jobbkontroll for TDE tekst-til-tale
-Comment[nds]=TDE-Pleger för Vörleesopgaven
-Comment[ne]=केडीई पाठ वाचक काम प्रबन्धक
-Comment[nl]=TDE Tekst-tot-spraak-taakbeheer
-Comment[pa]=TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਕੰਮ ਮੈਨੇਜਰ
-Comment[pl]=Menedżer zadań odczytywania tekstu
-Comment[pt]=Gestor de Trabalhos do Texto para Fala do TDE
-Comment[pt_BR]=Gerenciador de Trabalhos de Texto para Fala do TDE
-Comment[ru]=Управление заданиями по синтезу речи
-Comment[sk]=Správca úloh TDE text-na-reč
-Comment[sl]=Upravitelj opravil besedila v govor za TDE
-Comment[sr]=TDE-ов менаџер послова за текст-у-говор
-Comment[sr@Latn]=TDE-ov menadžer poslova za tekst-u-govor
-Comment[sv]=TDE:s text-till-tal jobbhantering
-Comment[ta]=கேடியி உரையில் இருந்து பேச்சு பணி மேலாளர்
-Comment[tg]=Идоракунии фармоишҳо бо воситаи таҳлили овоз
-Comment[tr]=TDE Metinden Konuşmaya Görev Yöneticisi
-Comment[uk]=Менеджер завдань TDE для синтезу мовлення з тексту
-Comment[vi]=Trình quản lý Tác vụ Văn bản sang Tiếng nói TDE
-Comment[zh_TW]=TDE 文字轉語音工作管理員
+
+Type=Service
X-TDE-ServiceTypes=KParts/ReadOnlyPart
diff --git a/kttsd/kttsjobmgr/kttsjobmgr.h b/kttsd/kttsjobmgr/kttsjobmgr.h
index 9102f5c..4b677f9 100644
--- a/kttsd/kttsjobmgr/kttsjobmgr.h
+++ b/kttsd/kttsjobmgr/kttsjobmgr.h
@@ -36,14 +36,14 @@ class KTextEdit;
class KttsJobMgrFactory : public KLibFactory
{
- Q_OBJECT
+ TQ_OBJECT
public:
KttsJobMgrFactory() {};
virtual ~KttsJobMgrFactory();
virtual TQObject* createObject(TQObject* parent = 0, const char* name = 0,
- const char* classname = TQOBJECT_OBJECT_NAME_STRING,
+ const char* classname = "TQObject",
const TQStringList &args = TQStringList());
static TDEInstance *instance();
@@ -58,7 +58,7 @@ class KttsJobMgrPart:
public KSpeech_stub,
virtual public KSpeechSink
{
- Q_OBJECT
+ TQ_OBJECT
public:
KttsJobMgrPart(TQWidget *parent, const char *name);
@@ -289,7 +289,7 @@ private:
class KttsJobMgrBrowserExtension : public KParts::BrowserExtension
{
- Q_OBJECT
+ TQ_OBJECT
friend class KttsJobMgrPart;
public:
diff --git a/kttsd/kttsmgr/CMakeLists.txt b/kttsd/kttsmgr/CMakeLists.txt
new file mode 100644
index 0000000..2376181
--- /dev/null
+++ b/kttsd/kttsmgr/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_BINARY_DIR}/kspeechsink
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### kttsmgr (executable)
+
+tde_add_executable( kttsmgr AUTOMOC
+
+ SOURCES
+ kttsmgr.cpp
+ LINK
+ tdecore-shared
+ tdeui-shared
+ tdeio-shared
+ tdeutils-shared
+ kspeech_stub-static
+
+ DESTINATION ${BIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsmgr.desktop
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/kttsmgr/kttsmgr.cpp b/kttsd/kttsmgr/kttsmgr.cpp
index 713b270..6a369f0 100644
--- a/kttsd/kttsmgr/kttsmgr.cpp
+++ b/kttsd/kttsmgr/kttsmgr.cpp
@@ -179,18 +179,18 @@ KttsMgrTray::KttsMgrTray(TQWidget *parent):
if (id != -1) contextMenu()->changeTitle(id, icon, "KTTSMgr");
id = contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("klipper", TDEIcon::Small),
- i18n("&Speak Clipboard Contents"), this, TQT_SLOT(speakClipboardSelected()));
+ i18n("&Speak Clipboard Contents"), this, TQ_SLOT(speakClipboardSelected()));
id = contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("process-stop", TDEIcon::Small),
- i18n("&Hold"), this, TQT_SLOT(holdSelected()));
+ i18n("&Hold"), this, TQ_SLOT(holdSelected()));
id = contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("application-x-executable", TDEIcon::Small),
- i18n("Resume"), this, TQT_SLOT(resumeSelected()));
+ i18n("Resume"), this, TQ_SLOT(resumeSelected()));
id = contextMenu()->insertSeparator();
id = contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("contents", TDEIcon::Small),
- i18n("KTTS &Handbook"), this, TQT_SLOT(helpSelected()));
+ i18n("KTTS &Handbook"), this, TQ_SLOT(helpSelected()));
id = contextMenu()->insertItem (TDEGlobal::iconLoader()->loadIcon("kttsd", TDEIcon::Small),
- i18n("&About KTTSMgr"), this, TQT_SLOT(aboutSelected()));
+ i18n("&About KTTSMgr"), this, TQ_SLOT(aboutSelected()));
- connect(this, TQT_SIGNAL(quitSelected()), this, TQT_SLOT(quitSelected()));
+ connect(this, TQ_SIGNAL(quitSelected()), this, TQ_SLOT(quitSelected()));
// If --autoexit option given, exit when speaking stops.
TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
if (args->isSet("autoexit"))
diff --git a/kttsd/kttsmgr/kttsmgr.desktop b/kttsd/kttsmgr/kttsmgr.desktop
index 911c41d..35dae07 100644
--- a/kttsd/kttsmgr/kttsmgr.desktop
+++ b/kttsd/kttsmgr/kttsmgr.desktop
@@ -1,98 +1,12 @@
[Desktop Entry]
-Type=Application
Name=KTTSMgr
-Name[pt_BR]=Gerenciador ktts
-Name[tr]=Kttsmgr
+
GenericName=Text-to-Speech Manager
-GenericName[bg]=Синтез на глас
-GenericName[ca]=Gestor de text a veu
-GenericName[cs]=Správce zvukové syntézy
-GenericName[da]=Tekst-til-tale håndtering
-GenericName[de]=Sprachausgabeverwaltung
-GenericName[el]=Διαχειριστής κειμένου-σε-ομιλία
-GenericName[es]=Administrador de texto a voz
-GenericName[et]=Teksti kõneks muutmise haldur
-GenericName[eu]=Testutik hizketarako kudeatzailea
-GenericName[fa]=مدیر متن به گفتار
-GenericName[fi]=Teksti puheeksi -hallintaohjelma
-GenericName[fr]=Gestionnaire de synthèse vocale
-GenericName[ga]=Bainisteoir Téacs-go-Caint
-GenericName[gl]=Xestor de Texto-para-Fala
-GenericName[he]=מנהל טקסט לדיבור
-GenericName[hu]=Szövegfelolvasás-kezelő
-GenericName[is]=Texti-í-tal stjóri
-GenericName[it]=Gestore della pronuncia
-GenericName[ja]=テキスト読み上げマネージャ
-GenericName[ka]=ტექსტი-გახმოვანების მმართველი
-GenericName[km]=ឧបករណ៍​គ្រប់គ្រង​អត្ថបទ​ដែល​ត្រូវ​និយាយ
-GenericName[mk]=Менаџер за текст-во-говор
-GenericName[ms]=Pengurus Teks-ke-Tutur
-GenericName[mt]=Manaġer Test-għal-Vuċi
-GenericName[nb]=Styring for tekst-til-tale
-GenericName[nds]=Vörleespleger
-GenericName[ne]=पाठ वाचक प्रबन्धक
-GenericName[nl]=Tekst-tot-spraak-beheerder
-GenericName[pa]=ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੈਨੇਜਰ
-GenericName[pl]=Menedżer odczytywania tekstu
-GenericName[pt]=Gestor do Texto para Fala
-GenericName[pt_BR]=Gerenciador de Conversão de Texto para Fala do TDE
-GenericName[ru]=Управление синтезом речи
-GenericName[sk]=Správca text-na-reč
-GenericName[sl]=Upravitelj besedila v govor
-GenericName[sr]=Менаџер за текст у говор
-GenericName[sr@Latn]=Menadžer za tekst u govor
-GenericName[sv]=Text-till-tal hantering
-GenericName[ta]=உரையில் இருந்து பேச்சு மேலாளர்
-GenericName[tg]=Идоракунии таҳлили овоз
-GenericName[tr]=Metinden Konuşmaya Yöneticisi
-GenericName[uk]=Менеджер для синтезу мовлення з тексту
-GenericName[vi]=Trình quản lý Văn bản sang Tiếng nói
-GenericName[zh_TW]=文字轉語音管理員
-Icon=kttsd
-Exec=kttsmgr -caption "%c" %i %u
+
Comment=TDE Text-to-speech Manager
-Comment[bg]=Мениджър на синтезатора на глас
-Comment[ca]=Gestor de text a veu de TDE
-Comment[cs]=Správce hlasové syntézy TDE
-Comment[da]=TDE's Tekst-til-tale håndtering
-Comment[de]=TDE Verwaltung für Sprachausgabe
-Comment[el]=TDE διαχειριστής κειμένου-σε-ομιλία
-Comment[es]=Administrador de texto a voz de TDE
-Comment[et]=TDE teksti kõneks muutmise haldur
-Comment[eu]=TDE-ren testutik hizketarako kudeatzailea
-Comment[fa]=مدیر متن به گفتار TDE
-Comment[fi]=TDE Teksti puheeksi -hallintaohjelma
-Comment[fr]=Gestionnaire de synthèse vocale pour TDE
-Comment[ga]=Bainisteoir Téacs-go-Caint TDE
-Comment[gl]=Xestor de Texto-para-fala de TDE
-Comment[he]=מנהל טקסט לדיבור של TDE
-Comment[hu]=TDE-s szövegfelolvasás-kezelő
-Comment[is]=TDE texti-í-tal stjóri
-Comment[it]=Gestore della pronuncia di TDE
-Comment[ja]=TDE テキスト読み上げマネージャ
-Comment[ka]=TDE ტექსტი-გახმოვანების მმართველი
-Comment[km]=ឧបករណ៍​គ្រប់គ្រង​អត្ថបទ​ដែល​ត្រូវ​និយាយ​របស់ TDE
-Comment[mk]=Менаџер на TDE за текст-во-говор
-Comment[ms]=Pengurus Teks-ke-tutur TDE
-Comment[nb]=Styring for TDEs tekst-til-tale
-Comment[nds]=Vörleespleger för TDE
-Comment[ne]=केडीई पाठ वाचक प्रबन्धक
-Comment[nl]=TDE Tekst-tot-spraak-beheer
-Comment[pa]=TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੈਨੇਜਰ
-Comment[pl]=Menedżer odczytywania tekstu dla TDE
-Comment[pt]=Gestor do Texto para Fala do TDE
-Comment[pt_BR]=Gerenciador de Conversão de Texto para Fala do TDE
-Comment[ru]=Менеджер движков синтеза речи
-Comment[sk]=TDE text-na-reč manažér
-Comment[sl]=Upravitelj besedila v govor v TDE
-Comment[sr]=TDE-ов менаџер за текст у говор
-Comment[sr@Latn]=TDE-ov menadžer za tekst u govor
-Comment[sv]=TDE:s text-till-tal hantering
-Comment[ta]=கேடியி உரையில் இருந்து பேச்சு மேலாளர்
-Comment[tg]=Идоракунандаи микшерҳои таҳлили овоз
-Comment[tr]=TDE Metinden Konuşmaya yöneticisi
-Comment[uk]=Менеджер TDE для синтезу мовлення з тексту
-Comment[vi]=Trình quản lý Văn bản sang Tiếng nói TDE
-Comment[zh_TW]=TDE 文字轉語音管理員
+
+Type=Application
+Exec=kttsmgr -caption "%c" %i %u
+Icon=kttsd
Terminal=false
Categories=Qt;TDE;Utility;Accessibility;
diff --git a/kttsd/kttsmgr/kttsmgr.h b/kttsd/kttsmgr/kttsmgr.h
index 63f8b0a..69bf177 100644
--- a/kttsd/kttsmgr/kttsmgr.h
+++ b/kttsd/kttsmgr/kttsmgr.h
@@ -47,7 +47,7 @@ class KttsToolTip: public TQToolTip
class KttsMgrTray: public KSystemTray, public KSpeech_stub, virtual public KSpeechSink
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/CMakeLists.txt b/kttsd/libkttsd/CMakeLists.txt
new file mode 100644
index 0000000..ae5c19c
--- /dev/null
+++ b/kttsd/libkttsd/CMakeLists.txt
@@ -0,0 +1,48 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+##### kttsd (shared)
+
+tde_add_library( kttsd SHARED AUTOMOC
+
+ SOURCES
+ selecttalkerwidget.ui
+ pluginproc.cpp
+ pluginconf.cpp
+ testplayer.cpp
+ stretcher.cpp
+ talkercode.cpp
+ filterproc.cpp
+ filterconf.cpp
+ utils.cpp
+ selecttalkerdlg.cpp
+ notify.cpp
+ LINK
+ tdecore-shared
+ tdeio-shared
+ tdeui-shared
+
+ VERSION 1.0.0
+
+ DESTINATION ${LIB_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_synthplugin.desktop
+ DESTINATION ${SERVICETYPES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/libkttsd/filterconf.h b/kttsd/libkttsd/filterconf.h
index 2d66fdc..db50081 100644
--- a/kttsd/libkttsd/filterconf.h
+++ b/kttsd/libkttsd/filterconf.h
@@ -35,7 +35,7 @@
#include "kdeexportfix.h"
class KDE_EXPORT KttsFilterConf : public TQWidget{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/filterproc.h b/kttsd/libkttsd/filterproc.h
index 78d4d9d..f9f47c2 100644
--- a/kttsd/libkttsd/filterproc.h
+++ b/kttsd/libkttsd/filterproc.h
@@ -38,7 +38,7 @@ class TDEConfig;
class KDE_EXPORT KttsFilterProc : virtual public TQObject
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/kttsd_synthplugin.desktop b/kttsd/libkttsd/kttsd_synthplugin.desktop
index 1d185ee..46583cd 100644
--- a/kttsd/libkttsd/kttsd_synthplugin.desktop
+++ b/kttsd/libkttsd/kttsd_synthplugin.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=KTTSD
-Name[zh_TW]=KTTSd
+
Type=ServiceType
X-TDE-ServiceType=KTTSD/SynthPlugin
diff --git a/kttsd/libkttsd/player.h b/kttsd/libkttsd/player.h
index 28c2591..712c742 100644
--- a/kttsd/libkttsd/player.h
+++ b/kttsd/libkttsd/player.h
@@ -27,7 +27,7 @@
class KDE_EXPORT Player : virtual public TQObject
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/pluginconf.h b/kttsd/libkttsd/pluginconf.h
index 07d672a..f76e48f 100644
--- a/kttsd/libkttsd/pluginconf.h
+++ b/kttsd/libkttsd/pluginconf.h
@@ -208,7 +208,7 @@
*/
class KDE_EXPORT PlugInConf : public TQWidget{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/pluginproc.h b/kttsd/libkttsd/pluginproc.h
index 405e5d7..fd4336a 100644
--- a/kttsd/libkttsd/pluginproc.h
+++ b/kttsd/libkttsd/pluginproc.h
@@ -228,7 +228,7 @@ enum pluginState
};
class KDE_EXPORT PlugInProc : virtual public TQObject{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/selecttalkerdlg.cpp b/kttsd/libkttsd/selecttalkerdlg.cpp
index bdab6d6..c5a33f3 100644
--- a/kttsd/libkttsd/selecttalkerdlg.cpp
+++ b/kttsd/libkttsd/selecttalkerdlg.cpp
@@ -111,36 +111,36 @@ SelectTalkerDlg::SelectTalkerDlg(
applyTalkerCodeToControls();
enableDisableControls();
- connect(m_widget->useDefaultRadioButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->useClosestMatchRadioButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->useSpecificTalkerRadioButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(configChanged()));
-
- connect(m_widget->languageBrowseButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotLanguageBrowseButton_clicked()));
-
- connect(m_widget->synthComboBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->genderComboBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->volumeComboBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->rateComboBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
-
- connect(m_widget->synthCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->genderCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->volumeCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->rateCheckBox, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
-
- connect(m_widget->talkersListView, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotTalkersListView_selectionChanged()));
+ connect(m_widget->useDefaultRadioButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->useClosestMatchRadioButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->useSpecificTalkerRadioButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(configChanged()));
+
+ connect(m_widget->languageBrowseButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotLanguageBrowseButton_clicked()));
+
+ connect(m_widget->synthComboBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->genderComboBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->volumeComboBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->rateComboBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+
+ connect(m_widget->synthCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->genderCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->volumeCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->rateCheckBox, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+
+ connect(m_widget->talkersListView, TQ_SIGNAL(selectionChanged()),
+ this, TQ_SLOT(slotTalkersListView_selectionChanged()));
m_widget->talkersListView->setMinimumHeight( 120 );
}
diff --git a/kttsd/libkttsd/selecttalkerdlg.h b/kttsd/libkttsd/selecttalkerdlg.h
index fd4f2a0..a7361e9 100644
--- a/kttsd/libkttsd/selecttalkerdlg.h
+++ b/kttsd/libkttsd/selecttalkerdlg.h
@@ -41,7 +41,7 @@
class KDE_EXPORT SelectTalkerDlg : public KDialogBase
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/selecttalkerwidget.ui b/kttsd/libkttsd/selecttalkerwidget.ui
index f2b8f00..d697a5c 100644
--- a/kttsd/libkttsd/selecttalkerwidget.ui
+++ b/kttsd/libkttsd/selecttalkerwidget.ui
@@ -170,9 +170,6 @@
<property name="text">
<string></string>
</property>
- <property name="accel">
- <string></string>
- </property>
</widget>
</hbox>
</widget>
@@ -218,9 +215,6 @@
<property name="text">
<string></string>
</property>
- <property name="accel">
- <string></string>
- </property>
</widget>
</hbox>
</widget>
@@ -283,9 +277,6 @@
<property name="text">
<string></string>
</property>
- <property name="accel">
- <string></string>
- </property>
</widget>
</hbox>
</widget>
@@ -331,9 +322,6 @@
<property name="text">
<string></string>
</property>
- <property name="accel">
- <string></string>
- </property>
</widget>
</hbox>
</widget>
@@ -403,9 +391,6 @@
<property name="text">
<string></string>
</property>
- <property name="accel">
- <string></string>
- </property>
</widget>
</hbox>
</widget>
@@ -560,13 +545,10 @@
<tabstop>talkersListView</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="0"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>tdelistview.h</includehint>
-</includehints>
+<includes>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">tdelistview.h</include>
+</includes>
</UI>
diff --git a/kttsd/libkttsd/stretcher.cpp b/kttsd/libkttsd/stretcher.cpp
index c6c50e5..ccc3565 100644
--- a/kttsd/libkttsd/stretcher.cpp
+++ b/kttsd/libkttsd/stretcher.cpp
@@ -63,8 +63,8 @@ bool Stretcher::stretch(const TQString &inFilename, const TQString &outFilename,
m_stretchProc = new TDEProcess;
TQString stretchStr = TQString("%1").arg(stretchFactor, 0, 'f', 3);
*m_stretchProc << "sox" << inFilename << outFilename << "stretch" << stretchStr;
- connect(m_stretchProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_stretchProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
if (!m_stretchProc->start(TDEProcess::NotifyOnExit, TDEProcess::NoCommunication))
{
kdDebug() << "Stretcher::stretch: Error starting audio stretcher process. Is sox installed?" << endl;
diff --git a/kttsd/libkttsd/stretcher.h b/kttsd/libkttsd/stretcher.h
index 1eb3bd6..975e9d9 100644
--- a/kttsd/libkttsd/stretcher.h
+++ b/kttsd/libkttsd/stretcher.h
@@ -32,7 +32,7 @@
class TDEProcess;
class KDE_EXPORT Stretcher : public TQObject{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/libkttsd/testplayer.cpp b/kttsd/libkttsd/testplayer.cpp
index b9aaecd..3688667 100644
--- a/kttsd/libkttsd/testplayer.cpp
+++ b/kttsd/libkttsd/testplayer.cpp
@@ -174,7 +174,7 @@ Player* TestPlayer::createPlayerObject(int playerOption)
offers[0]->library().latin1(), this, offers[0]->library().latin1());
else
kdDebug() << "TestPlayer::createPlayerObject: Could not create factory." << endl;
- }
+ }
if (player == 0)
kdDebug() << "TestPlayer::createPlayerObject: Could not load " + plugInName +
". Is TDEDIRS set correctly?" << endl;
@@ -207,3 +207,4 @@ TQString TestPlayer::makeSuggestedFilename()
return PlugInConf::realFilePath(waveFile);
}
+#include "player.moc"
diff --git a/kttsd/players/CMakeLists.txt b/kttsd/players/CMakeLists.txt
new file mode 100644
index 0000000..4e19371
--- /dev/null
+++ b/kttsd/players/CMakeLists.txt
@@ -0,0 +1,13 @@
+tde_conditional_add_subdirectory( WITH_ARTS artsplayer )
+tde_conditional_add_subdirectory( WITH_AKODE akodeplayer )
+tde_conditional_add_subdirectory( WITH_ALSA alsaplayer )
+tde_conditional_add_subdirectory( WITH_GSTREAMER gstplayer )
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_audioplugin.desktop
+ DESTINATION ${SERVICETYPES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/players/akodeplayer/CMakeLists.txt b/kttsd/players/akodeplayer/CMakeLists.txt
new file mode 100644
index 0000000..b2de63c
--- /dev/null
+++ b/kttsd/players/akodeplayer/CMakeLists.txt
@@ -0,0 +1,38 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_akodeplugin (kpart)
+
+tde_add_kpart( libkttsd_akodeplugin AUTOMOC
+
+ SOURCES
+ akodeplugin.cpp
+ akodeplayer.cpp
+ LINK
+ kttsd-shared
+ ${AKODE_LIBRARIES}
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_akodeplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/players/akodeplayer/akodeplayer.cpp b/kttsd/players/akodeplayer/akodeplayer.cpp
index 13f6cf3..955bf1b 100644
--- a/kttsd/players/akodeplayer/akodeplayer.cpp
+++ b/kttsd/players/akodeplayer/akodeplayer.cpp
@@ -12,7 +12,9 @@
* *
***************************************************************************/
-#include <config.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
#include <kdebug.h>
diff --git a/kttsd/players/akodeplayer/akodeplayer.h b/kttsd/players/akodeplayer/akodeplayer.h
index c4c7c1c..784111f 100644
--- a/kttsd/players/akodeplayer/akodeplayer.h
+++ b/kttsd/players/akodeplayer/akodeplayer.h
@@ -16,7 +16,10 @@
#ifndef AKODEPLAYER_H
#define AKODEPLAYER_H
-#include <config.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "kdeexportfix.h"
#include <tqstring.h>
@@ -30,7 +33,7 @@ namespace aKode {
class KDE_EXPORT aKodePlayer : public Player
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/players/akodeplayer/kttsd_akodeplugin.desktop b/kttsd/players/akodeplayer/kttsd_akodeplugin.desktop
index 7c87a87..45bfdc0 100644
--- a/kttsd/players/akodeplayer/kttsd_akodeplugin.desktop
+++ b/kttsd/players/akodeplayer/kttsd_akodeplugin.desktop
@@ -1,89 +1,8 @@
[Desktop Entry]
Name=KTTSD aKode Plugin
-Name[br]=Lugent aKode evit KTTSD
-Name[bs]=KTTSD aKode dodatak
-Name[ca]=Connector aKode pel KTTSD
-Name[cs]=KTTSD aKode modul
-Name[da]=KTTSD aKode-plugin
-Name[de]=KTTSD aKode-Modul
-Name[el]=KTTSD πρόσθετο aKode
-Name[es]=Complemento aKode de KTTSD
-Name[et]=KTTSD aKode plugin
-Name[eu]=KTTSD-ren aKode plugina
-Name[fa]=وصلۀ KTTSD aKode
-Name[fi]=KTTSD aKode -liitännäinen
-Name[fr]=Module aKode pour KTTSD
-Name[ga]=Breiseán KTTSD aKode
-Name[gl]=Plugin aKode de KTTSD
-Name[he]=תוסף aKode עבור KTTSD
-Name[hu]=KTTSD aKode hangmodul
-Name[is]=KTTSD aKode íforrit
-Name[it]=Plugin per aKode di KTTSD
-Name[ja]=KTTSD aKode プラグイン
-Name[ka]=KTTSD aKode მოდული
-Name[km]= កម្មវិធី​ជំនួយ​ aKode សម្រាប់ KTTSD
-Name[mk]=aKode-приклучок за KTTSD
-Name[nb]=Programtillegg for KTTSD aKode
-Name[nds]=aKode-Moduul för KTTSD
-Name[ne]=KTTSD aKode प्लगइन
-Name[nl]=KTTSD aKode-plugin
-Name[pa]=KTTSD aKode ਪਲੱਗਿੰਨ
-Name[pl]=Wtyczka aKode KTTSD
-Name[pt]='Plugin' aKode do KTTSD
-Name[pt_BR]=Plug-in aKode para o KTTSD
-Name[ru]=Модуль aKode для KTTSD
-Name[sk]=Modul KTTSD aKode
-Name[sl]=Vstavek KTTSD za aKode
-Name[sr]=aKode прикључак за KTTSD
-Name[sr@Latn]=aKode priključak za KTTSD
-Name[sv]=KTTSD-insticksprogram för aKode
-Name[tg]=Модули KTTSD aKode
-Name[tr]=KTTSD aKode Eklentisi
-Name[uk]=Втулок aKode для KTTSD
-Name[vi]=Trình bổ sung KTTSD aKode
-Name[zh_TW]=KTTSD aKode 外掛程式
+
Comment=KTTSD aKode audio plugin
-Comment[bg]=Аудио приставка на KTTSD за aKode
-Comment[br]=Lugent klevet aKode evit KTTSD
-Comment[ca]=Connector d'àudio aKode pel KTTSD
-Comment[cs]=KTTSD aKode zvukový modul
-Comment[da]=KTTSD aKode lyd-plugin
-Comment[de]=KTTSD aKode-Audio-Modul
-Comment[el]=KTTSD πρόσθετο ήχου aKode
-Comment[es]=Complemento de audio aKode de KTTSD
-Comment[et]=KTTSD aKode audioplugin
-Comment[eu]=KTTSD-ren aKode audio-plugina
-Comment[fa]=وصلۀ صوتی KTTSD aKode
-Comment[fi]=KTTSD aKode ääniliitännäinen
-Comment[fr]=Module audio aKode pour KTTSD
-Comment[ga]=Breiseán fuaime KTTSD aKode
-Comment[gl]=Plugin de áudio aKode para KTTSD
-Comment[hu]=KTTSD aKode hangmodul
-Comment[is]=KTTSD aKode hljóð íforrit
-Comment[it]=Plugin audio per aKode di KTTSD
-Comment[ja]=KTTSD aKode オーディオプラグイン
-Comment[ka]=KTTSD aKode აუდიო მოდული
-Comment[km]=កម្មវិធី​ជំនួយ​អូឌីយ៉ូ aKode សម្រាប់ KTTSD
-Comment[mk]=aKode-аудиоприклучок за KTTSD
-Comment[nb]=aKodes lyd-programtillegg for KTTSD
-Comment[nds]=aKode-Audiomoduul för KTTSD
-Comment[ne]=KTTSD aKode अडियो प्लगइन
-Comment[nl]=KTTSD aKode geluidsplugin
-Comment[pa]=KTTSD aKode ਆਡੀਓ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka dźwięku aKode dla KTTSD
-Comment[pt]='Plugin' de áudio aKode do KTTSD
-Comment[pt_BR]=Plug-in de áudio KTTSD aKode
-Comment[ru]=Модуль вывода звука KTTSD через aKode
-Comment[sk]=Modul KTTSD aKode audio
-Comment[sl]=Vstavek KTTSD za zvok v aKode
-Comment[sr]=aKode аудио прикључак за KTTSD
-Comment[sr@Latn]=aKode audio priključak za KTTSD
-Comment[sv]=KTTSD-ljudinsticksprogram för aKode
-Comment[tg]=Модули KTTSD aKode барои аудио
-Comment[tr]=KTTSD aRts ses eklentisi
-Comment[uk]=Втулок аудіо aKode для KTTSD
-Comment[vi]=Trình bổ sung âm thanh KTTSD aKode
-Comment[zh_TW]=KTTSd aKode 語音外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/AudioPlugin
X-TDE-Library=libkttsd_akodeplugin
diff --git a/kttsd/players/alsaplayer/CMakeLists.txt b/kttsd/players/alsaplayer/CMakeLists.txt
new file mode 100644
index 0000000..e81f2c6
--- /dev/null
+++ b/kttsd/players/alsaplayer/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${ALSA_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_alsaplugin (kpart)
+
+tde_add_kpart( libkttsd_alsaplugin AUTOMOC
+
+ SOURCES
+ alsaplugin.cpp
+ alsaplayer.cpp
+ LINK
+ kttsd-shared
+ ${ALSA_LIBRARIES}
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_alsaplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/players/alsaplayer/alsaplayer.cpp b/kttsd/players/alsaplayer/alsaplayer.cpp
index a840c0b..c67564d 100644
--- a/kttsd/players/alsaplayer/alsaplayer.cpp
+++ b/kttsd/players/alsaplayer/alsaplayer.cpp
@@ -24,18 +24,16 @@
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
******************************************************************************/
+// AlsaPlayer includes.
+#include "alsaplayer.h"
+
// #include <sys/wait.h>
// System includes.
-#include <config.h>
-#if TIME_WITH_SYS_TIME
+#if defined(HAVE_SYS_TIME_H)
# include <sys/time.h>
+#endif
+#if defined(TIME_WITH_SYS_TIME)
# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
#endif
// TQt includes.
@@ -50,8 +48,6 @@
#include <tdemessagebox.h>
#include <tdelocale.h>
-// AlsaPlayer includes.
-#include "alsaplayer.h"
#if !defined(__GNUC__) || __GNUC__ >= 3
#define ERR(...) do {\
diff --git a/kttsd/players/alsaplayer/alsaplayer.h b/kttsd/players/alsaplayer/alsaplayer.h
index deeff4b..696c025 100644
--- a/kttsd/players/alsaplayer/alsaplayer.h
+++ b/kttsd/players/alsaplayer/alsaplayer.h
@@ -24,6 +24,10 @@
#ifndef ALSAPLAYER_H
#define ALSAPLAYER_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
// System includes.
#include <alsa/asoundlib.h>
#include <sys/poll.h>
@@ -36,7 +40,6 @@
#include <tqmutex.h>
// KDE includes.
-#include <config.h>
#include <kdemacros.h>
#include "kdeexportfix.h"
#include <kurl.h>
@@ -65,7 +68,7 @@ static snd_pcm_sframes_t (*writen_func)(snd_pcm_t *handle, void **bufs, snd_pcm_
class KDE_EXPORT AlsaPlayer : public Player, TQThread
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/players/alsaplayer/formats.h b/kttsd/players/alsaplayer/formats.h
index 2c4f724..e70380f 100644
--- a/kttsd/players/alsaplayer/formats.h
+++ b/kttsd/players/alsaplayer/formats.h
@@ -1,8 +1,15 @@
#ifndef FORMATS_H
#define FORMATS_H 1
-#include <endian.h>
-#include <byteswap.h>
+#if defined(__FreeBSD__) || defined(__NetBSD__)
+# include <sys/endian.h>
+# define bswap_16(x) bswap16(x)
+# define bswap_32(x) bswap32(x)
+# define bswap_64(x) bswap64(x)
+#else
+# include <endian.h>
+# include <byteswap.h>
+#endif
/* Definitions for .VOC files */
diff --git a/kttsd/players/alsaplayer/kttsd_alsaplugin.desktop b/kttsd/players/alsaplayer/kttsd_alsaplugin.desktop
index 6950853..dfa7aeb 100644
--- a/kttsd/players/alsaplayer/kttsd_alsaplugin.desktop
+++ b/kttsd/players/alsaplayer/kttsd_alsaplugin.desktop
@@ -1,89 +1,8 @@
[Desktop Entry]
Name=KTTSD ALSA Plugin
-Name[br]=Lugent ALSA evit KTTSD
-Name[bs]=KTTSD ALSA dodatak
-Name[ca]=Connector ALSA pel KTTSD
-Name[cs]=KTTSD ALSA modul
-Name[da]=KTTSD ALSA plugin
-Name[de]=KTTSD ALSA-Modul
-Name[el]=KTTSD πρόσθετο ALSA
-Name[es]=Complemento ALSA de KTTSD
-Name[et]=KTTSD ALSA plugin
-Name[eu]=KTTSD-ren ALSA plugina
-Name[fa]=وصلۀ KTTSD ALSA
-Name[fi]=KTTSD ALSA -liitännäinen
-Name[fr]=Module ALSA pour KTTSD
-Name[ga]=Breiseán KTTSD ALSA
-Name[gl]=Plugin ALSA de KTTSD
-Name[hu]=KTTSD ALSA hangmodul
-Name[is]=KTTSD ALSA íforrit
-Name[it]=Plugin per ALSA di KTTSD
-Name[ja]=KTTSD ALSA プラグイン
-Name[ka]=KTTSD ALSA მოდული
-Name[km]= កម្មវិធី​ជំនួយ​ ALSA សម្រាប់ KTTSD
-Name[mk]=ALSA-приклучок за KTTSD
-Name[nb]=Alsas programtillegg for KTTSD
-Name[nds]=ALSA-Moduul för KTTSD
-Name[ne]=KTTSD ALSA प्लगइन
-Name[nl]=KTTSD ALSA-plugin
-Name[pa]=KTTSD ALSA ਪਲੱਗਿੰਨ
-Name[pl]=Wtyczka ALSA dla KTTSD
-Name[pt]='Plugin' ALSA do KTTSD
-Name[pt_BR]=Plug-in ALSA para o KTTSD
-Name[ru]=Модуль alsa для KTTSD
-Name[sk]=Modul KTTSD ALSA
-Name[sl]=Vstavek KTTSD za ALSA
-Name[sr]=ALSA прикључак за KTTSD
-Name[sr@Latn]=ALSA priključak za KTTSD
-Name[sv]=KTTSD-insticksprogram för ALSA
-Name[tg]=Модули KTTSD ALSA
-Name[tr]=KTTSD ALSA Eklentisi
-Name[uk]=Втулок ALSA для KTTSD
-Name[vi]=Trình bổ sung KTTSD ALSA
-Name[zh_TW]=KTTSd ALSA 外掛程式
+
Comment=KTTSD ALSA audio plugin
-Comment[bg]=Аудио приставка на KTTSD за ALSA
-Comment[br]=Lugent klevet ALSA evit KTTSD
-Comment[bs]=KTTSD ALSA audio dodatak
-Comment[ca]=Connector d'àudio ALSA pel KTTSD
-Comment[cs]=KTTSD ALSA zvukový modul
-Comment[da]=KTTSD ALSA lyd-plugin
-Comment[de]=KTTSD ALSA-Audio-Modul
-Comment[el]=KTTSD πρόσθετο ήχου ALSA
-Comment[es]=Complemento de audio ALSA de KTTSD
-Comment[et]=KTTSD ALSA audioplugin
-Comment[eu]=KTTSD-ren ALSA audio-plugina
-Comment[fa]=وصلۀ صوتی KTTSD ALSA
-Comment[fi]=KTTSD ALSA ääniliitännäinen
-Comment[fr]=Module audio ALSA pour KTTSD
-Comment[ga]=Breiseán fuaime KTTSD ALSA
-Comment[gl]=Plugin de áudio ALSA para KTTSD
-Comment[hu]=KTTSD ALSA hangmodul
-Comment[is]=KTTSD ALSA hljóð íforrit
-Comment[it]=Plugin audio per ALSA di KTTSD
-Comment[ja]=KTTSD ALSA オーディオプラグイン
-Comment[ka]=KTTSD ALSA აუდიო მოდული
-Comment[km]= កម្មវិធី​ជំនួយអូឌីយ៉ូ​ ALSA សម្រាប់ KTTSD
-Comment[mk]=ALSA-аудиоприклучок за KTTSD
-Comment[nb]=Alsas lyd-programtillegg for KTTSD
-Comment[nds]=ALSA-Audiomoduul för KTTSD
-Comment[ne]=KTTSD ALSA अडियो प्लगइन
-Comment[nl]=KTTSD ALSA geluidsplugin
-Comment[pa]=KTTSD ALSA ਆਡੀਓ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka dźwięku ALSA dla KTTSD
-Comment[pt]='Plugin' de áudio ALSA do KTTSD
-Comment[pt_BR]=Plug-in de áudio ALSA para o KTTSD
-Comment[ru]=Модуль вывода звука KTTSD через alsa
-Comment[sk]=Modul KTTSD ALSA audio
-Comment[sl]=Vstavek KTTSD za zvok v ALSA
-Comment[sr]=ALSA аудио прикључак за KTTSD
-Comment[sr@Latn]=ALSA audio priključak za KTTSD
-Comment[sv]=KTTSD-ljudinsticksprogram för ALSA
-Comment[tg]=Модули KTTSD ALSA барои аудио
-Comment[tr]=KTTSD ALSA ses eklentisi
-Comment[uk]=Втулок аудіо ALSA для KTTSD
-Comment[vi]=Trình bổ sung âm thanh KTTSD ALSA
-Comment[zh_TW]=KTTSd ALSA 語音外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/AudioPlugin
X-TDE-Library=libkttsd_alsaplugin
diff --git a/kttsd/players/artsplayer/CMakeLists.txt b/kttsd/players/artsplayer/CMakeLists.txt
new file mode 100644
index 0000000..2608042
--- /dev/null
+++ b/kttsd/players/artsplayer/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${ARTS_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_artsplugin (kpart)
+
+tde_add_kpart( libkttsd_artsplugin AUTOMOC
+
+ SOURCES
+ artsplugin.cpp
+ artsplayer.cpp
+ LINK
+ kttsd-shared
+ ${ARTS_PLAYER_LIBRARIES}
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_artsplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/players/artsplayer/artsplayer.cpp b/kttsd/players/artsplayer/artsplayer.cpp
index cb0c03e..fac97e1 100644
--- a/kttsd/players/artsplayer/artsplayer.cpp
+++ b/kttsd/players/artsplayer/artsplayer.cpp
@@ -87,7 +87,7 @@ void ArtsPlayer::startPlay(const TQString &file)
m_playobject = m_factory->createPlayObject(m_currentURL, false);
if(m_playobject->object().isNull())
- connect(m_playobject, TQT_SIGNAL(playObjectCreated()), TQT_SLOT(playObjectCreated()));
+ connect(m_playobject, TQ_SIGNAL(playObjectCreated()), TQ_SLOT(playObjectCreated()));
else
playObjectCreated();
}
@@ -254,7 +254,7 @@ void ArtsPlayer::setupPlayer()
m_dispatcher = new KArtsDispatcher;
m_server = new KArtsServer;
setupArtsObjects();
- connect(m_server, TQT_SIGNAL(restartedServer()), TQT_SLOT(setupArtsObjects()));
+ connect(m_server, TQ_SIGNAL(restartedServer()), TQ_SLOT(setupArtsObjects()));
}
void ArtsPlayer::setupVolumeControl()
diff --git a/kttsd/players/artsplayer/artsplayer.h b/kttsd/players/artsplayer/artsplayer.h
index 99f3edc..f35963e 100644
--- a/kttsd/players/artsplayer/artsplayer.h
+++ b/kttsd/players/artsplayer/artsplayer.h
@@ -19,7 +19,10 @@
#ifndef ARTSPLAYER_H
#define ARTSPLAYER_H
-#include <config.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include <kdemacros.h>
#include "kdeexportfix.h"
@@ -42,7 +45,7 @@ namespace KDE {
class KDE_EXPORT ArtsPlayer : public Player
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/players/artsplayer/kttsd_artsplugin.desktop b/kttsd/players/artsplayer/kttsd_artsplugin.desktop
index 3dbdb24..eddea01 100644
--- a/kttsd/players/artsplayer/kttsd_artsplugin.desktop
+++ b/kttsd/players/artsplayer/kttsd_artsplugin.desktop
@@ -1,91 +1,8 @@
[Desktop Entry]
Name=KTTSD Arts Plugin
-Name[br]=Lugent Arts evit KTTSD
-Name[bs]=KTTSD Arts dodatak
-Name[ca]=Connector Arts pel KTTSD
-Name[cs]=KTTSD Arts modul
-Name[da]=KTTSD aRts-plugin
-Name[de]=KTTSD Arts-Modul
-Name[el]=KTTSD πρόσθετο Arts
-Name[es]=Complemento KTTSD Arts
-Name[et]=KTTSD Artsi plugin
-Name[eu]=KTTSD-ren Arts-plugina
-Name[fa]=وصلۀ KTTSD Arts
-Name[fi]=KTTSD Arts -liitännäinen
-Name[fr]=Module Arts pour KTTSD
-Name[ga]=Breiseán KTTSD Arts
-Name[gl]=Plugin Arts de KTTSD
-Name[hu]=KTTSD aRts hangmodul
-Name[is]=KTTSD Arts íforrit
-Name[it]=Plugin per Arts di KTTSD
-Name[ja]=KTTSD aRts プラグイン
-Name[ka]=KTTSD Arts მოდული
-Name[km]=កម្មវិធី​ជំនួយ Arts សម្រាប់ KTTSD
-Name[mk]=aRts-приклучок за KTTSD
-Name[nb]=Arts programtillegg for KTTSD
-Name[nds]=aRts-Moduul för KTTSD
-Name[ne]=KTTSD कला प्लगइन
-Name[nl]=KTTSD Arts-plugin
-Name[pa]=KTTSD Arts ਪਲੱਗਿੰਨ
-Name[pl]=Wtyczka aRts KTTSD
-Name[pt]='Plugin' Arts do KTTSD
-Name[pt_BR]=Plug-in do Arts para o KTTSD
-Name[ru]=Модуль Arts для KTTSD
-Name[sk]=Modul KTTSD Arts
-Name[sl]=Vstavek KTTSD za aRts
-Name[sr]=Arts као прикључак за KTTSD
-Name[sr@Latn]=Arts kao priključak za KTTSD
-Name[sv]=KTTSD-insticksprogram för aRts
-Name[ta]=KTTSD ஆர்ட்ஸ் சொருகுப்பொருள்
-Name[tg]=Модули Arts барои KTTSD
-Name[tr]=KTTSD Arts Eklentisi
-Name[uk]=Втулок Arts для KTTSD
-Name[vi]=Trình bổ sung KTTSD Arts
-Name[zh_TW]=KTTSd Arts 外掛程式
+
Comment=KTTSD aRts audio plugin
-Comment[bg]=Аудио приставка на KTTSD за aRts
-Comment[br]=Lugent klevet Arts evit KTTSD
-Comment[ca]=Connector d'àudio aRts pel KTTSD
-Comment[cs]=KTTSD aRts zvukový modul
-Comment[da]=KTTSD aRts lyd-plugin
-Comment[de]=KTTSD aRts Audio-Modul
-Comment[el]=KTTSD πρόσθετο ήχου aRts
-Comment[es]=Complemento de audio KTTSD aRts
-Comment[et]=KTTSD aRts'i audioplugin
-Comment[eu]=KTTSD-ren aRts audio-plugina
-Comment[fa]=وصلۀ صوتی KTTSD aRts
-Comment[fi]=KTTSD aRts ääniliitännäinen
-Comment[fr]=Module audio Arts pour KTTSD
-Comment[ga]=Breiseán fuaime KTTSD aRts
-Comment[gl]=Plugin de áudio aRts para KTTSD
-Comment[hu]=KTTSD hangmodul az aRts hangrendszerhez
-Comment[is]=KTTSD aRts hljóð íforrit
-Comment[it]=Plugin audio per aRts di KTTSD
-Comment[ja]=KTTSD aRts オーディオプラグイン
-Comment[ka]=KTTSD aRts აუდიო მოდული
-Comment[km]=កម្មវិធី​ជំនួយ​អូឌីយ៉ូ aRts សម្រាប់ KTTSD
-Comment[mk]=aRts-аудиоприклучок за KTTSD
-Comment[ms]=Plugin audio aRts KTTSD
-Comment[nb]=aRts lyd-programtillegg for KTTSD
-Comment[nds]=aRts-Audiomoduul för KTTSD
-Comment[ne]=KTTSD कला अडियो प्लगइन
-Comment[nl]=KTTSD aRts-audioplugin
-Comment[pa]=KTTSD aRts ਆਡੀਓ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka dźwięku aRts dla KTTSD
-Comment[pt]='Plugin' áudio aRts do KTTSD
-Comment[pt_BR]=Plug-in de áudio do Arts para o KTTSD
-Comment[ru]=Модуль вывода звука KTTSD через aRts
-Comment[sk]=Modul KTTSD aRts audio
-Comment[sl]=Vstavek KTTSD za zvok v aRts
-Comment[sr]=Arts као аудио прикључак за KTTSD
-Comment[sr@Latn]=Arts kao audio priključak za KTTSD
-Comment[sv]=KTTSD-ljudinsticksprogram för aRts
-Comment[ta]=KTTSD aRts கேட்பொலி சொருகுப்பொருள்
-Comment[tg]=Модули барориши овози KTTSD ба воситаи aRts
-Comment[tr]=KTTSD aRts ses eklentisi
-Comment[uk]=Звуковий втулок aRts для KTTSD
-Comment[vi]=Trình bổ sung âm thanh KTTSD aRts
-Comment[zh_TW]=KTTSd aRts 語音外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/AudioPlugin
X-TDE-Library=libkttsd_artsplugin
diff --git a/kttsd/players/gstplayer/CMakeLists.txt b/kttsd/players/gstplayer/CMakeLists.txt
new file mode 100644
index 0000000..c516466
--- /dev/null
+++ b/kttsd/players/gstplayer/CMakeLists.txt
@@ -0,0 +1,40 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${GSTREAMER_INCLUDE_DIRS}
+ ${GLIB2_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_gstplugin (kpart)
+
+tde_add_kpart( libkttsd_gstplugin AUTOMOC
+
+ SOURCES
+ gstplugin.cpp
+ gstreamerplayer.cpp
+ LINK
+ kttsd-shared
+ ${GSTREAMER_LIBRARIES}
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_gstplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/players/gstplayer/gstreamerplayer.h b/kttsd/players/gstplayer/gstreamerplayer.h
index 27cd329..108d729 100644
--- a/kttsd/players/gstplayer/gstreamerplayer.h
+++ b/kttsd/players/gstplayer/gstreamerplayer.h
@@ -15,7 +15,9 @@
#ifndef GSTREAMERPLAYER_H
#define GSTREAMERPLAYER_H
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
#include <glib.h>
extern "C" {
@@ -27,7 +29,7 @@ extern "C" {
class GStreamerPlayer : public Player
{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/players/gstplayer/kttsd_gstplugin.desktop b/kttsd/players/gstplayer/kttsd_gstplugin.desktop
index aec2a7b..02b179e 100644
--- a/kttsd/players/gstplayer/kttsd_gstplugin.desktop
+++ b/kttsd/players/gstplayer/kttsd_gstplugin.desktop
@@ -1,92 +1,8 @@
[Desktop Entry]
Name=KTTSD GStreamer Plugin
-Name[br]=Lugent KTTSD GStreamer
-Name[bs]=KTTSD GStreamer dodatak
-Name[ca]=Connector GStreamer pel KTTSD
-Name[cs]=KTTSD GStreamer modul
-Name[da]=KTTSD GStreamer-plugin
-Name[de]=KTTSD GStreamer-Modul
-Name[el]=KTTSD πρόσθετο GStreamer
-Name[es]=Complemento KTTSD GStreamer
-Name[et]=KTTSD GStreameri plugin
-Name[eu]=KTTSD-ren GStreamer plugina
-Name[fa]=وصلۀ KTTSD GStreamer
-Name[fi]=KTTSD GStreamer-liitännäinen
-Name[fr]=Module GStreamer pour KTTSD
-Name[ga]=Breiseán KTTSD GStreamer
-Name[gl]=Plugin GStreamer de KTTSD
-Name[hu]=KTTSD GStreamer-modul
-Name[is]=KTTSD GStreamer íforrit
-Name[it]=Plugin per GStreamer di KTTSD
-Name[ja]=KTTSD GStreamer プラグイン
-Name[ka]=KTTSD GStreamer მოდული
-Name[km]= កម្មវិធី​ជំនួយ GStreamer សម្រាប់ KTTSD
-Name[mk]=GStreamer-приклучок за KTTSD
-Name[ms]=Plugin KTTSD GStreamer
-Name[nb]=GStreamer programtillegg for KTTSD
-Name[nds]=GStreamer-Moduul för KTTSD
-Name[ne]=KTTSD जि स्ट्रिमर प्लगइन
-Name[nl]=KTTSD GStreamer-plugin
-Name[pa]=KTTSD ਜੀਸਟਰੀਮਰ ਪਲੱਗਿੰਨ
-Name[pl]=Wtyczka GStreamer KTTSD
-Name[pt]='Plugin' GStreamer do KTTSD
-Name[pt_BR]=Plug-in do GStreamer para o KTTSD
-Name[ru]=Модуль GStreamer для KTTSD
-Name[sk]=Modul KTTSD GStreamer
-Name[sl]=Vstavek KTTSD za GStreamer
-Name[sr]=GStreamer као прикључак за KTTSD
-Name[sr@Latn]=GStreamer kao priključak za KTTSD
-Name[sv]=KTTSD-insticksprogram för Gstreamer
-Name[ta]=KTTSD GStreamer சொருகுப்பொருள்
-Name[tg]=Модули GStreamer барои KTTSD
-Name[tr]=KTTSD GStreamer Eklentisi
-Name[uk]=Втулок GStreamer для KTTSD
-Name[vi]=Trình bổ sung KTTSD GStreamer
-Name[zh_TW]=KTTSd GStreamer 外掛程式
+
Comment=KTTSD GStreamer audio plugin
-Comment[bg]=Аудио приставка на KTTSD за GStreamer
-Comment[br]=Lugent klevet GStreamer evit KTTSD
-Comment[ca]=Connector d'àudio GStreamer pel KTTSD
-Comment[cs]=KTTSD GStreamer zvukový modul
-Comment[da]=KTTSD GStreamer lyd-plugin
-Comment[de]=KTTSD GStreamer Audio-Modul
-Comment[el]=KTTSD πρόσθετο ήχου GStreamer
-Comment[es]=Complemento de audio KTTSD GStreamer
-Comment[et]=KTTSD GStreameri audioplugin
-Comment[eu]=KTTSD-ren GStreamer audio-plugina
-Comment[fa]=وصلۀ صوتی KTTSD GStreamer
-Comment[fi]=KTTSD GStreamer ääniliitännäinen
-Comment[fr]=Module audio GStreamer pour KTTSD
-Comment[ga]=Breiseán fuaime GStreamer KTTSD
-Comment[gl]=Plugin de áudio GStreamer para KTTSD
-Comment[hu]=KTTSD hangmodul a GStreamerhez
-Comment[is]=KTTSD GStreamer hljóð íforrit
-Comment[it]=Plugin audio per GStreamer di KTTSD
-Comment[ja]=KTTSD GStreamer オーディオプラグイン
-Comment[ka]=KTTSD GStreamer აუდიო მოდული
-Comment[km]=កម្មវិធី​ជំនួយអូឌីយ៉ូ​ GStreamer សម្រាប់ KTTSD
-Comment[mk]=GStreamer-аудиоприклучок за KTTSD
-Comment[ms]=Plugin audio KTTSD GStreamer
-Comment[nb]=GStreamer lyd-programtillegg for KTTSD
-Comment[nds]=GStreamer-Audiomoduul för KTTSD
-Comment[ne]=KTTSD जि स्ट्रिमर अडियो प्लगइन
-Comment[nl]=KTTSD GStreamer-audioplugin
-Comment[pa]=KTTSD ਜੀਸਟਰੀਮਰ ਆਡੀਓ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka dźwięku GStreamer dla KTTSD
-Comment[pt]='Plugin' áudio GStreamer do KTTSD
-Comment[pt_BR]=Plug-in de áudio do GStreamer para o KTTSD
-Comment[ru]=Модуль вывода звука KTTSD через GStreamer
-Comment[sk]=Modul KTTSD GStreamer audio
-Comment[sl]=Vstavek KTTSD za zvok v GStreamer
-Comment[sr]=GStreamer као аудио прикључак за KTTSD
-Comment[sr@Latn]=GStreamer kao audio priključak za KTTSD
-Comment[sv]=KTTSD-ljudinsticksprogram för Gstreamer
-Comment[ta]=KTTSD GStreamer கேட்பொலி சொருகுப்பொருள்
-Comment[tg]=Модули барориши овози KTTSD ба воситаи GStreamer
-Comment[tr]= KTTSD GStreamer ses eklentisi
-Comment[uk]=Звуковий втулок GStreamer для KTTSD
-Comment[vi]=Trình bổ sung âm thanh KTTSD GStreamer
-Comment[zh_TW]=KTTSd GStreamer 語音外掛程式
+
Type=Service
X-TDE-ServiceTypes=KTTSD/AudioPlugin
X-TDE-Library=libkttsd_gstplugin
diff --git a/kttsd/players/kttsd_audioplugin.desktop b/kttsd/players/kttsd_audioplugin.desktop
index 6d915ee..b9fa432 100644
--- a/kttsd/players/kttsd_audioplugin.desktop
+++ b/kttsd/players/kttsd_audioplugin.desktop
@@ -1,47 +1,5 @@
[Desktop Entry]
+Comment=Audio Plugin for KTTSD
+
Type=ServiceType
X-TDE-ServiceType=KTTSD/AudioPlugin
-Comment=Audio Plugin for KTTSD
-Comment[bg]=Аудио приставка на KTTSD
-Comment[br]=Lugent klevet evit KTTSD
-Comment[ca]=Connector d'àudio pel KTTSD
-Comment[cs]=Zvukový modul KTTSD
-Comment[da]=Lyd-plugin for KTTSD
-Comment[de]=Audio-Modul für KTTSD
-Comment[el]=Πρόσθετο ήχου για το KTTSD
-Comment[es]=Complemento de audio para KTTSD
-Comment[et]=KTTSD audioplugin
-Comment[eu]=KTTSD-ren audio plugnka
-Comment[fa]=وصلۀ صوتی برای KTTSD
-Comment[fi]=Ääniliitännäinen KTTSD-ohjelmalle
-Comment[fr]=Module audio pour KTTSD
-Comment[ga]=Breiseán fuaime KTTSD
-Comment[gl]=Plugin de Áudio para KTTSD
-Comment[hu]=Hangmodul a KTTSD szolgáltatáshoz
-Comment[is]=Hljóð íforrit fyrir KTTSD
-Comment[it]=Plugin audio per KTTSD
-Comment[ja]=KTTSD 用オーディオプラグイン
-Comment[ka]=აუდიო მოდული KTTSD-თვის
-Comment[km]=​កម្មវិធី​ជំនួយ​អូឌីយ៉ូ​សម្រាប់​ KTTSD
-Comment[mk]=Аудиоприклучок за KTTSD
-Comment[ms]=Plugin Audio bagi KTTSD
-Comment[nb]=Lyd-programtillegg for KTTSD
-Comment[nds]=Audiomoduul för KTTSD
-Comment[ne]=KTTSD का लागि अडियो प्लगइन
-Comment[nl]=Audio-plugin voor KTTSD
-Comment[pa]=KTTSD ਲਈ ਆਡੀਓ ਪਲੱਗਿੰਨ
-Comment[pl]=Wtyczka dźwięku dla KTTSD
-Comment[pt]='Plugin' Áudio para o KTTSD
-Comment[pt_BR]=Plug-in de áudio para o KTTSD
-Comment[ru]=Модуль вывода звука KTTSD
-Comment[sk]=Audio modul pre KTTSD
-Comment[sl]=Vstavek KTTSD za zvok
-Comment[sr]=Аудио прикључак за KTTSD
-Comment[sr@Latn]=Audio priključak za KTTSD
-Comment[sv]=Ljudinsticksprogram för KTTSD
-Comment[ta]= KTTSDக்கான கேட்பொலி சொருகுப்பொருள்
-Comment[tg]=Модули барориши овози KTTSD
-Comment[tr]=KTTS için Ses Eklentisi
-Comment[uk]=Звуковий втулок для KTTSD
-Comment[vi]=Trình bổ sung Âm thanh cho KTTSD
-Comment[zh_TW]=KTTSd 語音外掛程式
diff --git a/kttsd/plugins/CMakeLists.txt b/kttsd/plugins/CMakeLists.txt
new file mode 100644
index 0000000..dc615ab
--- /dev/null
+++ b/kttsd/plugins/CMakeLists.txt
@@ -0,0 +1,6 @@
+tde_conditional_add_subdirectory( BUILD_KTTSD_COMMAND command )
+tde_conditional_add_subdirectory( BUILD_KTTSD_EPOS epos )
+tde_conditional_add_subdirectory( BUILD_KTTSD_FESTIVAL festivalint )
+tde_conditional_add_subdirectory( BUILD_KTTSD_FREETTS freetts )
+tde_conditional_add_subdirectory( BUILD_KTTSD_FLITE flite )
+tde_conditional_add_subdirectory( BUILD_KTTSD_HADIFIX hadifix )
diff --git a/kttsd/plugins/command/CMakeLists.txt b/kttsd/plugins/command/CMakeLists.txt
new file mode 100644
index 0000000..6ecb4a6
--- /dev/null
+++ b/kttsd/plugins/command/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_commandplugin (kpart)
+
+tde_add_kpart( libkttsd_commandplugin AUTOMOC
+
+ SOURCES
+ commandconfwidget.ui
+ commandconf.cpp
+ commandproc.cpp
+ commandplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_commandplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/plugins/command/README b/kttsd/plugins/command/README
index fbba4f8..5bfafa4 100644
--- a/kttsd/plugins/command/README
+++ b/kttsd/plugins/command/README
@@ -4,5 +4,5 @@ This plug in is developed and maintained by Gunnar Schmi Dt.
If you intend to edit the GUI (commandconfwidget.ui) you will have to first
copy kttsd/libkttsd/pluginconf.h to a standard include directory
like $TDEDIR/include/ since the interface has been tweaked to derive
-from PlugInConf instead of QWidget and Qt Designer refuses to open it
+from PlugInConf instead of TQWidget and Qt Designer refuses to open it
if the header is not properly placed.
diff --git a/kttsd/plugins/command/commandconf.cpp b/kttsd/plugins/command/commandconf.cpp
index 6fc2792..2144b52 100644
--- a/kttsd/plugins/command/commandconf.cpp
+++ b/kttsd/plugins/command/commandconf.cpp
@@ -60,16 +60,16 @@ CommandConf::CommandConf( TQWidget* parent, const char* name, const TQStringList
m_widget->characterCodingBox->insertStringList(m_codecList);
defaults();
- connect(m_widget->characterCodingBox, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->characterCodingBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->stdInButton, TQT_SIGNAL(toggled(bool)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->urlReq, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->commandTestButton, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotCommandTest_clicked()));
+ connect(m_widget->characterCodingBox, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->characterCodingBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->stdInButton, TQ_SIGNAL(toggled(bool)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->urlReq, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->commandTestButton, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotCommandTest_clicked()));
}
/** Destructor */
@@ -147,7 +147,7 @@ void CommandConf::slotCommandTest_clicked()
else
{
m_commandProc = new CommandProc();
- connect (m_commandProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_commandProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
@@ -167,7 +167,7 @@ void CommandConf::slotCommandTest_clicked()
m_progressDlg->setAllowCancel(true);
// TODO: Do codec names contain non-ASCII characters?
- connect (m_commandProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (m_commandProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
m_commandProc->synth(
testMsg,
tmpWaveFile,
@@ -179,7 +179,7 @@ void CommandConf::slotCommandTest_clicked()
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
m_progressDlg->exec();
- disconnect (m_commandProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (m_commandProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (m_progressDlg->wasCancelled()) m_commandProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
diff --git a/kttsd/plugins/command/commandconf.h b/kttsd/plugins/command/commandconf.h
index 11f8b9b..8c22717 100644
--- a/kttsd/plugins/command/commandconf.h
+++ b/kttsd/plugins/command/commandconf.h
@@ -35,7 +35,7 @@ class CommandProc;
class KProgressDialog;
class CommandConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/command/commandconfwidget.ui b/kttsd/plugins/command/commandconfwidget.ui
index 75ce080..8491898 100644
--- a/kttsd/plugins/command/commandconfwidget.ui
+++ b/kttsd/plugins/command/commandconfwidget.ui
@@ -214,14 +214,8 @@
<include location="global" impldecl="in implementation">kpushbutton.h</include>
<include location="global" impldecl="in implementation">kcombobox.h</include>
</includes>
-<Q_SIGNALS>
+<signals>
<signal>configurationChanged()</signal>
-</Q_SIGNALS>
+</signals>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/command/commandproc.cpp b/kttsd/plugins/command/commandproc.cpp
index 1be0d2d..e0f04ec 100644
--- a/kttsd/plugins/command/commandproc.cpp
+++ b/kttsd/plugins/command/commandproc.cpp
@@ -290,14 +290,14 @@ void CommandProc::synth(const TQString& inputText, const TQString& suggestedFile
m_commandProc->setEnvironment("LANG", language + "." + codec->mimeName());
m_commandProc->setEnvironment("LC_CTYPE", language + "." + codec->mimeName());
*m_commandProc << command;
- connect(m_commandProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_commandProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_commandProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
- connect(m_commandProc, TQT_SIGNAL(wroteStdin(TDEProcess*)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess* )));
+ connect(m_commandProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_commandProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_commandProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_commandProc, TQ_SIGNAL(wroteStdin(TDEProcess*)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess* )));
// 4. start the process
diff --git a/kttsd/plugins/command/commandproc.h b/kttsd/plugins/command/commandproc.h
index 1ffe7ee..f476a1b 100644
--- a/kttsd/plugins/command/commandproc.h
+++ b/kttsd/plugins/command/commandproc.h
@@ -28,7 +28,7 @@ class TDEProcess;
class TQTextCodec;
class CommandProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/command/kttsd_commandplugin.desktop b/kttsd/plugins/command/kttsd_commandplugin.desktop
index 2b2e1a9..1017c14 100644
--- a/kttsd/plugins/command/kttsd_commandplugin.desktop
+++ b/kttsd/plugins/command/kttsd_commandplugin.desktop
@@ -1,91 +1,8 @@
[Desktop Entry]
Name=Command
-Name[br]=Urzhiad
-Name[bs]=Naredba
-Name[ca]=Odre
-Name[cs]=Příkaz
-Name[cy]=Gorchymyn
-Name[da]=Kommando
-Name[de]=Befehl
-Name[el]=Εντολή
-Name[es]=Orden
-Name[et]=Käsk
-Name[fa]=فرمان
-Name[fi]=Komento
-Name[fr]=Commande
-Name[ga]=Ordú
-Name[gl]=Comando
-Name[he]=פקודה
-Name[hu]=Parancs
-Name[is]=Skipun
-Name[it]=Comando
-Name[ja]=コマンド
-Name[ka]=ბრძანება
-Name[km]=ពាក្យ​បញ្ជា
-Name[mk]=Командна линија
-Name[ms]=Arahan
-Name[nb]=Kommando
-Name[nds]=Befehl
-Name[ne]=आदेश
-Name[pa]=ਕਮਾਂਡ
-Name[pl]=Polecenie
-Name[pt]=Comando
-Name[ru]=Командная строка
-Name[sk]=Príkaz
-Name[sl]=Ukaz
-Name[sr]=Наредба
-Name[sr@Latn]=Naredba
-Name[sv]=Kommando
-Name[ta]=கட்டளை
-Name[tg]=Сатри фармоишӣ
-Name[tr]=Komut
-Name[uk]=Команда
-Name[vi]=Ra lệnh
-Name[zh_TW]=命令
+
Comment=Generic speech synthesizer from command line
-Comment[bg]=Общ синтезатор на глас от командния ред
-Comment[bs]=Generalna sinteza govora sa komandne linije
-Comment[ca]=Sintetitzador de veu genèric de línia d'ordres
-Comment[cs]=Hlasový syntetizátor pro příkazovou řádku
-Comment[da]=Generisk tale-synthesizer fra kommandolinjen
-Comment[de]=Generischer Sprachsynthesizer in der Befehlszeile
-Comment[el]=Γενικός συνθέτης ομιλίας για τη γραμμή εντολών
-Comment[es]=Sintetizador genérico de texto a voz para la línea de órdenes
-Comment[et]=Üldine käsurea-kõnesüntesaator
-Comment[eu]=Komando-lerroko hizketa-sintetizadore generikoa
-Comment[fa]=ترکیب‌دهندۀ گفتار عمومی از خط فرمان
-Comment[fi]=Yleinen komentorivipohjainen puhesyntetisaattori
-Comment[fr]=Synthèse vocale générique en ligne de commande
-Comment[ga]=Sintéiseoir cainte ginearálta ó líne na n-orduithe
-Comment[gl]=Sintetizados de fala xenérico para a liña de comandos
-Comment[hu]=Parancssoros kezelőprogram szövegfelolvasáshoz
-Comment[is]=Almennur talgerfill frá skipanalínu
-Comment[it]=Sintetizzatore vocale generico dalla riga di comando
-Comment[ja]=コマンドラインからの汎用スピーチシンセサイザ
-Comment[ka]=საზოგადო ხმის სინქრონიზატორი ბრძანების ველიდან
-Comment[km]=កម្មវិធី​សង្គ្រោះ​ការនិយាយ​ទូទៅ​ពី​បន្ទាត់​ពាក្យ​បញ្ជា
-Comment[mk]=Синтисајзер на општ говор од командната линија
-Comment[ms]=Pensintesis tutur generik dari baris arahan
-Comment[nb]=Generisk talesyntetisering fra kommandolinje
-Comment[nds]=Blicksnuut för de Befehlsreeg
-Comment[ne]=आदेश रेखाबाट जेनेरिक संवाद सिन्थेसाइजर
-Comment[nl]=Generieke spraaksynthesizer voor de commandoregel
-Comment[pa]=ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਸਧਾਰਨ ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ
-Comment[pl]=Program syntezatora mowy uruchamiany z linii poleceń
-Comment[pt]=Sintetizador de fala genérico através de uma linha de comandos
-Comment[pt_BR]=Interface de linha de comando para o sintetizador de fala genérico
-Comment[ru]=Консольный интерфейс к движкам синтеза речи
-Comment[sk]=Všeobecný syntetizátor reči z príkazového riadka
-Comment[sl]=Generični sintetizator govora iz ukazne vrstice
-Comment[sr]=Генерички синтетизатор говора из командне линије
-Comment[sr@Latn]=Generički sintetizator govora iz komandne linije
-Comment[sv]=Generell talsyntes från kommandoraden
-Comment[ta]=கட்டளை வரியில் இருந்து பொது பேச்சு கூட்டிணைப்பாளர்
-Comment[tg]=Консоли интерфейс ба микшерҳо барои таҳлили овоз
-Comment[tr]=Komut satırından genel konuşma bireştirici
-Comment[uk]=Загальний синтезатор мовлення з командного рядка
-Comment[vi]=Tổng hợp giọng nói chung cho việc ra lệnh
-Comment[zh_TW]=從命令列的一般語音合成器
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_commandplugin
diff --git a/kttsd/plugins/epos/CMakeLists.txt b/kttsd/plugins/epos/CMakeLists.txt
new file mode 100644
index 0000000..6e79bca
--- /dev/null
+++ b/kttsd/plugins/epos/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_eposplugin (kpart)
+
+tde_add_kpart( libkttsd_eposplugin AUTOMOC
+
+ SOURCES
+ eposconfwidget.ui
+ eposconf.cpp
+ eposproc.cpp
+ eposplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_eposplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/plugins/epos/eposconf.cpp b/kttsd/plugins/epos/eposconf.cpp
index 64e5b6e..9340fa5 100644
--- a/kttsd/plugins/epos/eposconf.cpp
+++ b/kttsd/plugins/epos/eposconf.cpp
@@ -68,30 +68,30 @@ EposConf::EposConf( TQWidget* parent, const char* name, const TQStringList& /*ar
defaults();
- connect(m_widget->eposServerPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->eposClientPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->timeBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeBox_valueChanged(int)));
- connect(m_widget->frequencyBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(frequencyBox_valueChanged(int)));
- connect(m_widget->timeSlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeSlider_valueChanged(int)));
- connect(m_widget->frequencySlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(frequencySlider_valueChanged(int)));
- connect(m_widget->timeBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->timeSlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->frequencyBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->frequencySlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->characterCodingBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->eposServerOptions, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->eposClientOptions, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->eposTest, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotEposTest_clicked()));
+ connect(m_widget->eposServerPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->eposClientPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->timeBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeBox_valueChanged(int)));
+ connect(m_widget->frequencyBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(frequencyBox_valueChanged(int)));
+ connect(m_widget->timeSlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeSlider_valueChanged(int)));
+ connect(m_widget->frequencySlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(frequencySlider_valueChanged(int)));
+ connect(m_widget->timeBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->timeSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->frequencyBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->frequencySlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->characterCodingBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->eposServerOptions, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->eposClientOptions, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->eposTest, TQ_SIGNAL(clicked()),
+ this, TQ_SLOT(slotEposTest_clicked()));
}
/** Destructor */
@@ -214,7 +214,7 @@ void EposConf::slotEposTest_clicked()
else
{
m_eposProc = new EposProc();
- connect (m_eposProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_eposProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
KTempFile tempFile (locateLocal("tmp", "eposplugin-"), ".wav");
@@ -234,7 +234,7 @@ void EposConf::slotEposTest_clicked()
// TODO: Whenever server options change, the server must be restarted.
// TODO: Do codec names contain non-ASCII characters?
- connect (m_eposProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (m_eposProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
m_eposProc->synth(
testMsg,
tmpWaveFile,
@@ -251,7 +251,7 @@ void EposConf::slotEposTest_clicked()
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
m_progressDlg->exec();
- disconnect (m_eposProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (m_eposProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (m_progressDlg->wasCancelled()) m_eposProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
diff --git a/kttsd/plugins/epos/eposconf.h b/kttsd/plugins/epos/eposconf.h
index 73df5dd..9f5e6e8 100644
--- a/kttsd/plugins/epos/eposconf.h
+++ b/kttsd/plugins/epos/eposconf.h
@@ -42,7 +42,7 @@ class EposProc;
class KProgressDialog;
class EposConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/epos/eposconfwidget.ui b/kttsd/plugins/epos/eposconfwidget.ui
index c66a081..f93ed72 100644
--- a/kttsd/plugins/epos/eposconfwidget.ui
+++ b/kttsd/plugins/epos/eposconfwidget.ui
@@ -593,18 +593,10 @@
</tabstops>
<includes>
<include location="global" impldecl="in declaration">kurlrequester.h</include>
- <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/epos/eposproc.cpp b/kttsd/plugins/epos/eposproc.cpp
index 8d91c66..27d96f0 100644
--- a/kttsd/plugins/epos/eposproc.cpp
+++ b/kttsd/plugins/epos/eposproc.cpp
@@ -89,10 +89,10 @@ bool EposProc::init(TDEConfig* config, const TQString& configGroup)
*m_eposServerProc << m_eposServerExePath;
if (!m_eposServerOptions.isEmpty())
*m_eposServerProc << m_eposServerOptions;
- connect(m_eposServerProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_eposServerProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_eposServerProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_eposServerProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
m_eposServerProc->start(TDEProcess::DontCare, TDEProcess::AllOutput);
}
@@ -173,10 +173,10 @@ void EposProc::synth(
*m_eposServerProc << eposServerExePath;
if (!eposServerOptions.isEmpty())
*m_eposServerProc << eposServerOptions;
- connect(m_eposServerProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_eposServerProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_eposServerProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_eposServerProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
m_eposServerProc->start(TDEProcess::DontCare, TDEProcess::AllOutput);
kdDebug() << "EposProc:: Epos server process started" << endl;
}
@@ -234,14 +234,14 @@ void EposProc::synth(
*m_eposProc << "-"; // Read from StdIn.
if (!suggestedFilename.isEmpty())
*m_eposProc << " >" + suggestedFilename;
- connect(m_eposProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_eposProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_eposProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
- connect(m_eposProc, TQT_SIGNAL(wroteStdin(TDEProcess*)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess* )));
+ connect(m_eposProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_eposProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_eposProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_eposProc, TQ_SIGNAL(wroteStdin(TDEProcess*)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess* )));
if (suggestedFilename.isEmpty())
m_state = psSaying;
else
diff --git a/kttsd/plugins/epos/eposproc.h b/kttsd/plugins/epos/eposproc.h
index afc80e8..6111413 100644
--- a/kttsd/plugins/epos/eposproc.h
+++ b/kttsd/plugins/epos/eposproc.h
@@ -36,7 +36,7 @@ class TDEProcess;
class TQTextCodec;
class EposProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/epos/kttsd_eposplugin.desktop b/kttsd/plugins/epos/kttsd_eposplugin.desktop
index ad604d7..483f2f2 100644
--- a/kttsd/plugins/epos/kttsd_eposplugin.desktop
+++ b/kttsd/plugins/epos/kttsd_eposplugin.desktop
@@ -1,86 +1,8 @@
[Desktop Entry]
Name=Epos TTS Synthesis System
-Name[ca]=Sistema de síntesi Epos TTS
-Name[cs]=Epos TTS
-Name[da]=Epos TTS Synthesis-system
-Name[de]=Epos TTS-Synthese-System
-Name[el]=Σύστημα σύνθεσης Epos TTS
-Name[es]=Sistema de síntesis Epos TTS
-Name[et]=Kõnesünteesisüsteem Epos TTS
-Name[eu]=Epos TTS sintesi-sistema
-Name[fa]=سیستم ترکیب‌دهی Epos TTS
-Name[fi]=Epos TTS -syntetisoijasysteemi
-Name[fr]=Système de synthèse Epos TTS
-Name[ga]=Córas Sintéise TTS Epos
-Name[gl]=Sistema de Síntese de TTS Epos
-Name[hu]=Epos szövegfelolvasó motor
-Name[it]=Sistema di sintesi TTS Epos
-Name[ja]=Epos TTS シンセサイズシステム
-Name[ka]=Epos TTS სინთეზის სისტემა
-Name[km]=ប្រព័ន្ធ​សង្គ្រោះ Epos TTS
-Name[mk]=Epos TTS систем за синтеза
-Name[ms]=Sistem Sintesis Epos TTS
-Name[nb]=Epos TTT syntesesystem
-Name[nds]=Epos Blicksnuut
-Name[ne]=Epos TTS सिन्थेसिस प्रणाली
-Name[nl]=Epos TTS Synthesis-systeem
-Name[pa]=Epos TTS ਸੰਸਲੇਸ਼ਣ ਸਿਸਟਮ
-Name[pl]=System syntezy mowy Epos
-Name[pt]=Sistema de Síntese Epos TTS
-Name[pt_BR]=Sistema de Sintetizador de Fala Epos
-Name[sk]=Systém Epos TTS Synthesis
-Name[sl]=Sistem sinteze besedila v govor Epos
-Name[sr]=Систем за синтезу Epos TTS
-Name[sr@Latn]=Sistem za sintezu Epos TTS
-Name[sv]=Epos TTS syntessystem
-Name[ta]=Epos TTS கூட்டிணைப்பு அமைப்பு
-Name[tg]=Системаи Синтезиси Epos TTS
-Name[tr]=Epos TTS Sentezleme Sistemi
-Name[vi]=Hệ thống Tổng hợp Văn bản sang Tiếng nói Epos
-Name[zh_TW]=Epos TTS 合成系統
+
Comment=Epos TTS speech synthesizer
-Comment[bg]=Синтезатор на глас Epos TTS
-Comment[ca]=Sintetitzador de veu Epos TTS
-Comment[cs]=Hlasový syntetizér Epos TTS
-Comment[da]=Epos TTS tale-synthesizer
-Comment[de]=Epos TTS-Sprachsynthesizer
-Comment[el]=Συνθέτης ομιλίας Epos TTS
-Comment[es]=Sintetizador de texto a voz Epos TTS
-Comment[et]=Kõnesüntesaator Epos TTS
-Comment[eu]=Epos TTS hizketa-sintetizadorea
-Comment[fa]=ترکیب‌دهندۀ گفتار Epos TTS
-Comment[fi]=Epos TTS -puhesyntetisaattori
-Comment[fr]=Synthèse vocale Epos TTS
-Comment[ga]=Sintéiseoir cainte TTS Epos
-Comment[gl]=Sintetizador de fala TTS Epos
-Comment[hu]=Epos TTS beszédszintetizátor
-Comment[is]=Epos TTS talgerfill
-Comment[it]=Sintetizzatore vocale TTS Epos
-Comment[ja]=Epos TTS スピーチシンセサイザ
-Comment[ka]=Epos TTS სიტყვის სინთეზატორი
-Comment[km]=កម្មវិធី​សង្គ្រោះ​ការនិយាយ Epos TTS
-Comment[mk]=Epos TTS синтетизатор на говор
-Comment[ms]=Pensintesis tutur Epos TTS
-Comment[nb]=Epos TTT talesyntetisering
-Comment[nds]=Blicksnuut vun Epos
-Comment[ne]=Epos TTS संवाद सिन्थेसाइजर
-Comment[nl]=Epos TTS spraaksynthesizer
-Comment[pa]=Epos TTS ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ
-Comment[pl]=Syntezator mowy Epos
-Comment[pt]=O sintetizador de fala Epos TTS
-Comment[pt_BR]=Sistema de Sintetizador de Fala Epos
-Comment[ru]=Синтезатор речи Epos TTS
-Comment[sk]=Syntetizátor reči Epos TTS
-Comment[sl]=Sintetizator besedila v govor Epos
-Comment[sr]=Синтетизатор говора Epos TTS
-Comment[sr@Latn]=Sintetizator govora Epos TTS
-Comment[sv]=Epos TTS talsyntes
-Comment[ta]=Epos TTS பேச்சு கூட்டிணைப்பான்
-Comment[tg]=Таҳлилгари овози Epos TTS
-Comment[tr]=Epos TTS konuşma sentezleyicisi
-Comment[uk]=Синтезатор мовлення Epos TTS
-Comment[vi]=Trình tổng hợp Văn bản sang Tiếng nói Epos
-Comment[zh_TW]=Epos TTS 語音合成器
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_eposplugin
diff --git a/kttsd/plugins/festivalint/CMakeLists.txt b/kttsd/plugins/festivalint/CMakeLists.txt
new file mode 100644
index 0000000..3175fbe
--- /dev/null
+++ b/kttsd/plugins/festivalint/CMakeLists.txt
@@ -0,0 +1,49 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_festivalintplugin (kpart)
+
+tde_add_kpart( libkttsd_festivalintplugin AUTOMOC
+
+ SOURCES
+ festivalintconfwidget.ui
+ festivalintconf.cpp
+ festivalintproc.cpp
+ festivalintplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_festivalintplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+install(
+ FILES SSMLtoSable.xsl
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/festivalint/xslt
+)
+
+install(
+ FILES voices sabletowave.scm
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/festivalint
+)
diff --git a/kttsd/plugins/festivalint/festivalintconf.cpp b/kttsd/plugins/festivalint/festivalintconf.cpp
index c38bbd5..81e346c 100644
--- a/kttsd/plugins/festivalint/festivalintconf.cpp
+++ b/kttsd/plugins/festivalint/festivalintconf.cpp
@@ -81,37 +81,37 @@ FestivalIntConf::FestivalIntConf( TQWidget* parent, const char* name, const TQSt
// defaults();
- connect(m_widget->festivalPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(slotFestivalPath_textChanged()));
- connect(m_widget->selectVoiceCombo, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(slotSelectVoiceCombo_activated()));
- connect(m_widget->selectVoiceCombo, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->testButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotTest_clicked()));
- connect(m_widget->rescan, TQT_SIGNAL(clicked()), this, TQT_SLOT(scanVoices()));
- connect(m_widget->volumeBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(volumeBox_valueChanged(int)));
- connect(m_widget->timeBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeBox_valueChanged(int)));
- connect(m_widget->frequencyBox, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(frequencyBox_valueChanged(int)));
- connect(m_widget->volumeSlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(volumeSlider_valueChanged(int)));
- connect(m_widget->timeSlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(timeSlider_valueChanged(int)));
- connect(m_widget->frequencySlider, TQT_SIGNAL(valueChanged(int)),
- this, TQT_SLOT(frequencySlider_valueChanged(int)));
- connect(m_widget->volumeBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->volumeSlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->timeBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->timeSlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->frequencyBox, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->frequencySlider, TQT_SIGNAL(valueChanged(int)), this, TQT_SLOT(configChanged()));
- connect(m_widget->preloadCheckBox, TQT_SIGNAL(clicked()), this, TQT_SLOT(configChanged()));
- connect(m_widget->characterCodingBox, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->characterCodingBox, TQT_SIGNAL(activated(const TQString&)),
- this, TQT_SLOT(configChanged()));
+ connect(m_widget->festivalPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(slotFestivalPath_textChanged()));
+ connect(m_widget->selectVoiceCombo, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(slotSelectVoiceCombo_activated()));
+ connect(m_widget->selectVoiceCombo, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->testButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotTest_clicked()));
+ connect(m_widget->rescan, TQ_SIGNAL(clicked()), this, TQ_SLOT(scanVoices()));
+ connect(m_widget->volumeBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(volumeBox_valueChanged(int)));
+ connect(m_widget->timeBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeBox_valueChanged(int)));
+ connect(m_widget->frequencyBox, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(frequencyBox_valueChanged(int)));
+ connect(m_widget->volumeSlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(volumeSlider_valueChanged(int)));
+ connect(m_widget->timeSlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(timeSlider_valueChanged(int)));
+ connect(m_widget->frequencySlider, TQ_SIGNAL(valueChanged(int)),
+ this, TQ_SLOT(frequencySlider_valueChanged(int)));
+ connect(m_widget->volumeBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->volumeSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->timeBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->timeSlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->frequencyBox, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->frequencySlider, TQ_SIGNAL(valueChanged(int)), this, TQ_SLOT(configChanged()));
+ connect(m_widget->preloadCheckBox, TQ_SIGNAL(clicked()), this, TQ_SLOT(configChanged()));
+ connect(m_widget->characterCodingBox, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->characterCodingBox, TQ_SIGNAL(activated(const TQString&)),
+ this, TQ_SLOT(configChanged()));
}
/** Destructor */
@@ -430,10 +430,10 @@ void FestivalIntConf::scanVoices()
else
{
m_festProc = new FestivalIntProc();
- connect (m_festProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_festProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
- connect (m_festProc, TQT_SIGNAL(queryVoicesFinished(const TQStringList&)),
- this, TQT_SLOT(slotQueryVoicesFinished(const TQStringList&)));
+ connect (m_festProc, TQ_SIGNAL(queryVoicesFinished(const TQStringList&)),
+ this, TQ_SLOT(slotQueryVoicesFinished(const TQStringList&)));
m_festProc->queryVoices(exePath);
// Display progress dialog modally.
@@ -444,8 +444,8 @@ void FestivalIntConf::scanVoices()
// Festival responds with the list. When Festival responds with list,
// the progress dialog is closed.
- disconnect (m_festProc, TQT_SIGNAL(queryVoicesFinished(const TQStringList&)),
- this, TQT_SLOT(slotQueryVoicesFinished(const TQStringList&)));
+ disconnect (m_festProc, TQ_SIGNAL(queryVoicesFinished(const TQStringList&)),
+ this, TQ_SLOT(slotQueryVoicesFinished(const TQStringList&)));
if (!m_progressDlg->wasCancelled()) m_festProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
@@ -552,7 +552,7 @@ void FestivalIntConf::slotTest_clicked()
else
{
m_festProc = new FestivalIntProc();
- connect (m_festProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_festProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
KTempFile tempFile (locateLocal("tmp", "festivalintplugin-"), ".wav");
@@ -581,7 +581,7 @@ void FestivalIntConf::slotTest_clicked()
m_progressDlg->setAllowCancel(true);
// kdDebug() << "FestivalIntConf::slotTest_clicked: calling synth with voiceCode: " << voiceCode << " time percent: " << m_widget->timeBox->value() << endl;
- connect (m_festProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (m_festProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
m_festProc->synth(
realFilePath(m_widget->festivalPath->url()),
testMsg,
@@ -596,7 +596,7 @@ void FestivalIntConf::slotTest_clicked()
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
m_progressDlg->exec();
- disconnect (m_festProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (m_festProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (m_progressDlg->wasCancelled()) m_festProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
diff --git a/kttsd/plugins/festivalint/festivalintconf.h b/kttsd/plugins/festivalint/festivalintconf.h
index 3d690aa..9cf345d 100644
--- a/kttsd/plugins/festivalint/festivalintconf.h
+++ b/kttsd/plugins/festivalint/festivalintconf.h
@@ -55,7 +55,7 @@ typedef struct voiceStruct{
} voice;
class FestivalIntConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/festivalint/festivalintconfwidget.ui b/kttsd/plugins/festivalint/festivalintconfwidget.ui
index 76a570f..c740eaf 100644
--- a/kttsd/plugins/festivalint/festivalintconfwidget.ui
+++ b/kttsd/plugins/festivalint/festivalintconfwidget.ui
@@ -581,18 +581,10 @@
</tabstops>
<includes>
<include location="global" impldecl="in declaration">kurlrequester.h</include>
- <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>kcombobox.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/festivalint/festivalintproc.cpp b/kttsd/plugins/festivalint/festivalintproc.cpp
index 1258317..da5e71b 100644
--- a/kttsd/plugins/festivalint/festivalintproc.cpp
+++ b/kttsd/plugins/festivalint/festivalintproc.cpp
@@ -184,14 +184,14 @@ void FestivalIntProc::startEngine(const TQString &festivalExePath, const TQStrin
m_festProc->setEnvironment("LANG", languageCode + "." + codec->mimeName());
m_festProc->setEnvironment("LC_CTYPE", languageCode + "." + codec->mimeName());
// kdDebug() << "FestivalIntProc::startEngine: setting LANG = LC_CTYPE = " << languageCode << "." << codec->mimeName() << endl;
- connect(m_festProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_festProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_festProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
- connect(m_festProc, TQT_SIGNAL(wroteStdin(TDEProcess*)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess*)));
+ connect(m_festProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_festProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_festProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_festProc, TQ_SIGNAL(wroteStdin(TDEProcess*)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess*)));
}
if (!m_festProc->isRunning())
{
diff --git a/kttsd/plugins/festivalint/festivalintproc.h b/kttsd/plugins/festivalint/festivalintproc.h
index f685f0b..f4d0e25 100644
--- a/kttsd/plugins/festivalint/festivalintproc.h
+++ b/kttsd/plugins/festivalint/festivalintproc.h
@@ -34,7 +34,7 @@
class TQTextCodec;
class FestivalIntProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/festivalint/kttsd_festivalintplugin.desktop b/kttsd/plugins/festivalint/kttsd_festivalintplugin.desktop
index e0af2a9..26ae31e 100644
--- a/kttsd/plugins/festivalint/kttsd_festivalintplugin.desktop
+++ b/kttsd/plugins/festivalint/kttsd_festivalintplugin.desktop
@@ -1,71 +1,8 @@
[Desktop Entry]
Name=Festival Interactive
-Name[da]=Festival Interaktiv
-Name[el]=Διαδραστικό Festival
-Name[eu]=Festival interaktiboa
-Name[fa]=Festival تعاملی
-Name[fi]=Interaktiivinen Festival
-Name[ga]=Festival Idirghníomhach
-Name[gl]=Festival Interactivo
-Name[is]=Festival gagnvirkni
-Name[it]=Festival Interattivo
-Name[ja]=Festival インタラクティブ
-Name[ka]=Festival ინტერაქტიული
-Name[km]=អន្តរ​មុខងារ
-Name[mk]=Интерактивен festival
-Name[ms]=Interaktif Perayaan
-Name[ne]=अन्तरक्रियात्मक फेस्टिभल
-Name[pa]=ਫੈਸੀਟੇਵਲ ਇੰਟਰੇਕਟਵ
-Name[pl]=Festival interaktywny
-Name[pt_BR]=Festival Interativo
-Name[sv]=Festival interaktiv
-Name[ta]=பெஸ்டிவல் உள்செயல்
-Name[tg]=Фестивали Интерактив
-Name[tr]=Etkileşimli Festival
-Name[vi]=Tương tác Festival
+
Comment=Festival speech synthetizer
-Comment[bg]=Синтезатор на глас Festival
-Comment[ca]=Sintetitzador de veu Festival
-Comment[cs]=Hlasový syntetizér Festival
-Comment[da]=Festival tale-synthetizer
-Comment[de]=Festival Sprachsynthesizer
-Comment[el]=Συνθέτης ομιλίας Festival
-Comment[es]=Sintetizador de texto a voz Festival
-Comment[et]=Kõnesüntesaator Festival
-Comment[eu]=Festival hizketa-sintetizadorea
-Comment[fa]=ترکیب‌دهندۀ گفتار Festival
-Comment[fi]=Festival puhesyntetisaattori
-Comment[fr]=Synthèse vocale Festival
-Comment[ga]=Sintéiseoir cainte Festival
-Comment[gl]=Sistetizador de voces Festival
-Comment[hu]=Festival beszédszintetizátor
-Comment[is]=Festival talgerfill
-Comment[it]=Sintetizzatore vocale Festival
-Comment[ja]=Festival スピーチシンセサイザ
-Comment[ka]=Festival ხმის სინთეზატორი
-Comment[km]= មុខងារ​កម្មវិធី​សង្គ្រោះ​ការ​និយាយ​
-Comment[mk]=Синтетизатор за говор festival
-Comment[ms]=Pensintesis tutur perayaan
-Comment[nb]=Festival talesyntetisering
-Comment[nds]=Blicksnuut Festival
-Comment[ne]=संवाद सिन्थेसाइजर फेस्टिभल
-Comment[nl]=Festival spraaksynthetizer
-Comment[pa]=ਫੈਸੀਟੇਵਲ ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ
-Comment[pl]=Syntezator mowy Festival
-Comment[pt]=O sintetizador de fala Festival
-Comment[pt_BR]=Sistema de Sintetizador de Fala Festival
-Comment[ru]=Синтезатор речи Festival
-Comment[sk]=Syntetizátor reči Festival
-Comment[sl]=Sintetizator govora Festival
-Comment[sr]=Синтетизатор говора Festival
-Comment[sr@Latn]=Sintetizator govora Festival
-Comment[sv]=Festival talsyntes
-Comment[ta]=பெஸ்டிவல் பேச்சு கூட்டிணைப்பான்
-Comment[tg]=Таҳлилгари овози Festival
-Comment[tr]=Festival konuşma bireştirici
-Comment[uk]=Синтезатор мовлення Festival
-Comment[vi]=Trình tổng hợp tiếng nói Festival
-Comment[zh_TW]=Festival 語音合成器
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_festivalintplugin
diff --git a/kttsd/plugins/flite/CMakeLists.txt b/kttsd/plugins/flite/CMakeLists.txt
new file mode 100644
index 0000000..08c1573
--- /dev/null
+++ b/kttsd/plugins/flite/CMakeLists.txt
@@ -0,0 +1,39 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_fliteplugin (kpart)
+
+tde_add_kpart( libkttsd_fliteplugin AUTOMOC
+
+ SOURCES
+ fliteconfwidget.ui
+ fliteconf.cpp
+ fliteproc.cpp
+ fliteplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_fliteplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/plugins/flite/fliteconf.cpp b/kttsd/plugins/flite/fliteconf.cpp
index 1e15e68..aa33e04 100644
--- a/kttsd/plugins/flite/fliteconf.cpp
+++ b/kttsd/plugins/flite/fliteconf.cpp
@@ -57,9 +57,9 @@ FliteConf::FliteConf( TQWidget* parent, const char* name, const TQStringList& /*
defaults();
- connect(m_widget->flitePath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->fliteTest, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotFliteTest_clicked()));
+ connect(m_widget->flitePath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->fliteTest, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotFliteTest_clicked()));
}
/** Destructor */
@@ -135,7 +135,7 @@ void FliteConf::slotFliteTest_clicked()
else
{
m_fliteProc = new FliteProc();
- connect (m_fliteProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_fliteProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
KTempFile tempFile (locateLocal("tmp", "fliteplugin-"), ".wav");
@@ -154,7 +154,7 @@ void FliteConf::slotFliteTest_clicked()
m_progressDlg->setAllowCancel(true);
// Play an English test. Flite only supports English.
- connect (m_fliteProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (m_fliteProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
m_fliteProc->synth(
testMsg,
tmpWaveFile,
@@ -163,7 +163,7 @@ void FliteConf::slotFliteTest_clicked()
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
m_progressDlg->exec();
- disconnect (m_fliteProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (m_fliteProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (m_progressDlg->wasCancelled()) m_fliteProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
diff --git a/kttsd/plugins/flite/fliteconf.h b/kttsd/plugins/flite/fliteconf.h
index 6bcb82e..54acab0 100644
--- a/kttsd/plugins/flite/fliteconf.h
+++ b/kttsd/plugins/flite/fliteconf.h
@@ -41,7 +41,7 @@ class FliteProc;
class KProgressDialog;
class FliteConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/flite/fliteconfwidget.ui b/kttsd/plugins/flite/fliteconfwidget.ui
index 8efcbb1..ef90e54 100644
--- a/kttsd/plugins/flite/fliteconfwidget.ui
+++ b/kttsd/plugins/flite/fliteconfwidget.ui
@@ -175,12 +175,8 @@
</customwidgets>
<includes>
<include location="global" impldecl="in declaration">kurlrequester.h</include>
- <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/flite/fliteproc.cpp b/kttsd/plugins/flite/fliteproc.cpp
index 9ebadd6..269290f 100644
--- a/kttsd/plugins/flite/fliteproc.cpp
+++ b/kttsd/plugins/flite/fliteproc.cpp
@@ -112,14 +112,14 @@ void FliteProc::synth(
}
// kdDebug()<< "FliteProc::synth: Creating Flite object" << endl;
m_fliteProc = new TDEProcess;
- connect(m_fliteProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_fliteProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_fliteProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
- connect(m_fliteProc, TQT_SIGNAL(wroteStdin(TDEProcess*)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess* )));
+ connect(m_fliteProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_fliteProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_fliteProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_fliteProc, TQ_SIGNAL(wroteStdin(TDEProcess*)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess* )));
if (synthFilename.isNull())
m_state = psSaying;
else
diff --git a/kttsd/plugins/flite/fliteproc.h b/kttsd/plugins/flite/fliteproc.h
index 7bc2ce8..cf8cf38 100644
--- a/kttsd/plugins/flite/fliteproc.h
+++ b/kttsd/plugins/flite/fliteproc.h
@@ -34,7 +34,7 @@
class TDEProcess;
class FliteProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/flite/kttsd_fliteplugin.desktop b/kttsd/plugins/flite/kttsd_fliteplugin.desktop
index 68cc200..4120518 100644
--- a/kttsd/plugins/flite/kttsd_fliteplugin.desktop
+++ b/kttsd/plugins/flite/kttsd_fliteplugin.desktop
@@ -1,58 +1,8 @@
[Desktop Entry]
Name=Festival Lite (flite)
-Name[el]=Festival ελαφρύ (flite)
-Name[fi]=Festival Lite (kevytversio)
-Name[ka]=Festival მსუბუქი (flite)
-Name[km]=មុខងារ Lite (flite)
-Name[nds]=Festival Lite (FLite)
-Name[ne]=फेस्टिभल लाइट (एफ लाईट)
-Name[pt_BR]=Festival Lite
-Name[ta]=பெஸ்டிவல் லைட் (flite)
-Name[tr]=Festival Lite(flite)
-Name[zh_TW]=Festival Lite (flite)4
+
Comment=Festival Lite (flite) speech synthesizer
-Comment[bg]=Олекотен синтезатор на глас Festival Lite
-Comment[ca]=Sintetitzador de veu Festival Lite (flite)
-Comment[cs]=Hlasový syntetizér Festival Lite (flite)
-Comment[da]=Festival Lite (flite) tale-synthesizer
-Comment[de]=Festival Lite (flite) Sprachsynthesizer
-Comment[el]=Συνθέτης ομιλίας Festival ελαφρύ (flite)
-Comment[es]=Sintetizador de texto a voz Festival (flite)
-Comment[et]=Kõnesüntesaator Festival lite (flite)
-Comment[eu]=Festival Lite (flite) hizketa-sintetizadorea
-Comment[fa]=ترکیب‌دهندۀ گفتار Festival Lite (flite)
-Comment[fi]=Festival Lite (kevytversio) puhesyntetisaattori
-Comment[fr]=Synthèse vocale Festival Lite (flite)
-Comment[ga]=Sintéiseoir cainte Festival Lite (flite)
-Comment[gl]=Sintetizador de voces Festival Lite (flite)
-Comment[hu]=Festival Lite (flite) beszédszintetizátor
-Comment[is]=Festival Lite (flite) talgerfill
-Comment[it]=Sintetizzatore vocale Festival Lite (flite)
-Comment[ja]=Festival Lite (flite) スピーチシンセサイザ
-Comment[ka]=Festival მარტივი (flite) ხმის სინთეზატორი
-Comment[km]=មុខងារ​កម្មវិធី​សង្គ្រោះ​ការនិយាយ Lite (flite)
-Comment[mk]=Festival Lite (flite) синтетизатор на говор
-Comment[ms]=Pensintesis tutur Festival Lite (flite)
-Comment[nb]=Festival Lite (flite) talesyntetisering
-Comment[nds]=Blicksnuut Festival lite (FLite)
-Comment[ne]=फेस्टिभल लाइट (एफ लाइट) संवाद सिन्थेसाइजर
-Comment[nl]=Festival Lite (flite) spraaksynthesizer
-Comment[pa]=Festival Lite (flite) ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ
-Comment[pl]=Syntezator mowy Festival Lite (flite)
-Comment[pt]=O sintetizador de fala Festival Lite (flite)
-Comment[pt_BR]=Sintetizador de fala Festival Lite (leve)
-Comment[ru]=Синтезатор речи Festival Lite (flite)
-Comment[sk]=Syntetizátor reči Festival Lite (flite)
-Comment[sl]=Sintetizator govora Festival Lite (flite)
-Comment[sr]=Синтетизатор говора Festival Lite (flite)
-Comment[sr@Latn]=Sintetizator govora Festival Lite (flite)
-Comment[sv]=Festival Lite (flite) talsyntes
-Comment[ta]=பெஸ்டிவல் லைட் (flite) பேச்சு கூட்டிணைப்பான்
-Comment[tg]=Таҳлилгари овози Festival Lite (flite)
-Comment[tr]=Festival Lite(flite) konuşma bireştirici
-Comment[uk]=Синтезатор мовлення Festival Lite (flite)
-Comment[vi]=Trình tổng hợp tiếng nói Festival Lite (flite)
-Comment[zh_TW]=Festival Lite (flite) 語音合成器
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_fliteplugin
diff --git a/kttsd/plugins/freetts/CMakeLists.txt b/kttsd/plugins/freetts/CMakeLists.txt
new file mode 100644
index 0000000..eb17887
--- /dev/null
+++ b/kttsd/plugins/freetts/CMakeLists.txt
@@ -0,0 +1,38 @@
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_freettsplugin (kpart)
+
+tde_add_kpart( libkttsd_freettsplugin AUTOMOC
+
+ SOURCES
+ freettsconfigwidget.ui
+ freettsconf.cpp
+ freettsproc.cpp
+ freettsplugin.cpp
+ LINK
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_freettsplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
diff --git a/kttsd/plugins/freetts/README b/kttsd/plugins/freetts/README
index d4706b9..ee2e804 100644
--- a/kttsd/plugins/freetts/README
+++ b/kttsd/plugins/freetts/README
@@ -2,5 +2,5 @@ This is the directory containing the FreeTTS plug in.
If you intend to edit the GUI (freettsconfig.ui) you will have to first
copy kttsd/libkttsd/pluginconf.h to a standard include directory
like $TDEDIR/include/ since the interface has been tweaked to derive
-from PlugInConf instead of QWidget and Qt Designer refuses to open it
+from PlugInConf instead of TQWidget and Qt Designer refuses to open it
if the header is not properly place.
diff --git a/kttsd/plugins/freetts/freettsconf.cpp b/kttsd/plugins/freetts/freettsconf.cpp
index 5be75f0..6b47758 100644
--- a/kttsd/plugins/freetts/freettsconf.cpp
+++ b/kttsd/plugins/freetts/freettsconf.cpp
@@ -55,9 +55,9 @@ FreeTTSConf::FreeTTSConf( TQWidget* parent, const char* name, const TQStringList
defaults();
- connect(m_widget->freettsPath, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(m_widget->freettsTest, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotFreeTTSTest_clicked()));
+ connect(m_widget->freettsPath, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(m_widget->freettsTest, TQ_SIGNAL(clicked()), this, TQ_SLOT(slotFreeTTSTest_clicked()));
}
/** Destructor */
@@ -163,7 +163,7 @@ void FreeTTSConf::slotFreeTTSTest_clicked()
else
{
m_freettsProc = new FreeTTSProc();
- connect (m_freettsProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (m_freettsProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
KTempFile tempFile (locateLocal("tmp", "freettsplugin-"), ".wav");
@@ -183,7 +183,7 @@ void FreeTTSConf::slotFreeTTSTest_clicked()
// I think FreeTTS only officialy supports English, but if anyone knows of someone
// whos built up a different language lexicon and has it working with FreeTTS gimme an email at ceruleanblaze@gmail.com
- connect (m_freettsProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (m_freettsProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
m_freettsProc->synth(
testMsg,
tmpWaveFile,
@@ -192,7 +192,7 @@ void FreeTTSConf::slotFreeTTSTest_clicked()
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
m_progressDlg->exec();
- disconnect (m_freettsProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (m_freettsProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (m_progressDlg->wasCancelled()) m_freettsProc->stopText();
delete m_progressDlg;
m_progressDlg = 0;
diff --git a/kttsd/plugins/freetts/freettsconf.h b/kttsd/plugins/freetts/freettsconf.h
index 37bbe2c..8337bf6 100644
--- a/kttsd/plugins/freetts/freettsconf.h
+++ b/kttsd/plugins/freetts/freettsconf.h
@@ -32,7 +32,7 @@ class TQStringList;
class KProgressDialog;
class FreeTTSConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/freetts/freettsconfigwidget.ui b/kttsd/plugins/freetts/freettsconfigwidget.ui
index e93f3ba..91d9988 100644
--- a/kttsd/plugins/freetts/freettsconfigwidget.ui
+++ b/kttsd/plugins/freetts/freettsconfigwidget.ui
@@ -189,12 +189,8 @@
</customwidgets>
<includes>
<include location="global" impldecl="in declaration">kurlrequester.h</include>
- <include location="global" impldecl="in implementation">kurlrequester.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
</includes>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/freetts/freettsproc.cpp b/kttsd/plugins/freetts/freettsproc.cpp
index 95bcd8a..3d5efdb 100644
--- a/kttsd/plugins/freetts/freettsproc.cpp
+++ b/kttsd/plugins/freetts/freettsproc.cpp
@@ -103,14 +103,14 @@ void FreeTTSProc::synth(
}
m_freettsProc = new TDEProcess;
- connect(m_freettsProc, TQT_SIGNAL(processExited(TDEProcess*)),
- this, TQT_SLOT(slotProcessExited(TDEProcess*)));
- connect(m_freettsProc, TQT_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
- connect(m_freettsProc, TQT_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
- this, TQT_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
- connect(m_freettsProc, TQT_SIGNAL(wroteStdin(TDEProcess*)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess* )));
+ connect(m_freettsProc, TQ_SIGNAL(processExited(TDEProcess*)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess*)));
+ connect(m_freettsProc, TQ_SIGNAL(receivedStdout(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStdout(TDEProcess*, char*, int)));
+ connect(m_freettsProc, TQ_SIGNAL(receivedStderr(TDEProcess*, char*, int)),
+ this, TQ_SLOT(slotReceivedStderr(TDEProcess*, char*, int)));
+ connect(m_freettsProc, TQ_SIGNAL(wroteStdin(TDEProcess*)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess* )));
if (synthFilename.isNull())
m_state = psSaying;
else
diff --git a/kttsd/plugins/freetts/freettsproc.h b/kttsd/plugins/freetts/freettsproc.h
index 4a11836..1ea3813 100644
--- a/kttsd/plugins/freetts/freettsproc.h
+++ b/kttsd/plugins/freetts/freettsproc.h
@@ -27,7 +27,7 @@
class TDEProcess;
class FreeTTSProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/freetts/kttsd_freettsplugin.desktop b/kttsd/plugins/freetts/kttsd_freettsplugin.desktop
index 423baae..f65fb70 100644
--- a/kttsd/plugins/freetts/kttsd_freettsplugin.desktop
+++ b/kttsd/plugins/freetts/kttsd_freettsplugin.desktop
@@ -1,50 +1,8 @@
[Desktop Entry]
Name=FreeTTS
-Name[tr]=Freetts
-Name[vi]=Văn bản sang Tiếng nói Tự do
+
Comment=FreeTTS speech synthesizer
-Comment[bg]=Синтезатор на глас FreeTTS
-Comment[ca]=Sintetitzador de veu FreeTTS
-Comment[cs]=Hlasový syntetizér FreeTTS
-Comment[da]=FreeTTS tale-synthesizer
-Comment[de]=FreeTTS Sprachsynthesizer
-Comment[el]=Συνθέτης ομιλίας FreeTTS
-Comment[es]=Sintetizador de texto a voz FreeTTS
-Comment[et]=Kõnesüntesaator FreeTTS
-Comment[eu]=FreeTTS hizketa-sintetizadorea
-Comment[fa]=ترکیب‌دهندۀ گفتار FreeTTS
-Comment[fi]=FreeTTS puhesyntetisaattori
-Comment[fr]=Synthèse vocale FreeTTS
-Comment[ga]=Sintéiseoir cainte FreeTTS
-Comment[gl]=Sintetizador de voces FreeTTS
-Comment[hu]=FreeTTS beszédszintetizátor
-Comment[is]=FreeTTS talgerfill
-Comment[it]=Sintetizzatore vocale FreeTTS
-Comment[ja]=FreeTTS スピーチシンセサイザ
-Comment[ka]=FreeTTS ხმის სინთეზატორი
-Comment[km]=កម្មវិធី​សង្គ្រោះ​ការនិយាយ FreeTTS
-Comment[mk]=FreeTTS синтетизатор на говор
-Comment[ms]=Pensintesis tutur FreeTTS
-Comment[nb]=FreeTTS talesyntetisering
-Comment[nds]=Blicksnuut FreeTTS
-Comment[ne]=FreeTTS संवाद सिन्थेसाइजर
-Comment[nl]=FreeTTS spraaksynthesizer
-Comment[pa]=FreeTTS ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ
-Comment[pl]=Syntezator mowy FreeTTS
-Comment[pt]=O sintetizador de fala FreeTTS
-Comment[pt_BR]=Sintetizador de fala FreeTTS
-Comment[ru]=Синтезатор речи FreeTTS
-Comment[sk]=Syntetizátor reči FreeTTS
-Comment[sl]=Sintetizator govora FreeTTS
-Comment[sr]=Синтетизатор говора FreeTTS
-Comment[sr@Latn]=Sintetizator govora FreeTTS
-Comment[sv]=FreeTTS talsyntes
-Comment[ta]=FreeTTS பேச்சு கூட்டிணைப்பான்
-Comment[tg]=Таҳлилгари овози FreeTTS
-Comment[tr]=FreeTTS konuşma bireştirici
-Comment[uk]=Синтезатор мовлення FreeTTS
-Comment[vi]=Trình tổng hợp tiếng nói Tự do
-Comment[zh_TW]=FreeTTS 語音合成器
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_freettsplugin
diff --git a/kttsd/plugins/hadifix/CMakeLists.txt b/kttsd/plugins/hadifix/CMakeLists.txt
new file mode 100644
index 0000000..74398d5
--- /dev/null
+++ b/kttsd/plugins/hadifix/CMakeLists.txt
@@ -0,0 +1,46 @@
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${TDE_INCLUDE_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}/kttsd/libkttsd
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${TDE_LIB_DIR}
+)
+
+
+##### libkttsd_hadifixplugin (kpart)
+
+tde_add_kpart( libkttsd_hadifixplugin AUTOMOC
+
+ SOURCES
+ hadifixconfigui.ui
+ voicefileui.ui
+ hadifixconf.cpp
+ hadifixproc.cpp
+ hadifixplugin.cpp
+ LINK
+ tdecore-shared
+ kttsd-shared
+
+ DESTINATION ${PLUGIN_INSTALL_DIR}
+)
+
+
+##### other data
+
+tde_create_translated_desktop(
+ SOURCE kttsd_hadifixplugin.desktop
+ DESTINATION ${SERVICES_INSTALL_DIR}
+ PO_DIR kttsd-desktops
+)
+
+install(
+ FILES SSMLtoTxt2pho.xsl
+ DESTINATION ${DATA_INSTALL_DIR}/kttsd/hadifix/xslt
+)
diff --git a/kttsd/plugins/hadifix/hadifixconf.cpp b/kttsd/plugins/hadifix/hadifixconf.cpp
index 9b86384..7f0b51f 100644
--- a/kttsd/plugins/hadifix/hadifixconf.cpp
+++ b/kttsd/plugins/hadifix/hadifixconf.cpp
@@ -215,12 +215,12 @@ HadifixConf::HadifixConf( TQWidget* parent, const char* name, const TQStringList
TQString file = locate("data", "LICENSES/LGPL_V2");
i18n("This plugin is distributed under the terms of the GPL v2 or later.");
- connect(d->configWidget->voiceButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(voiceButton_clicked()));
- connect(d->configWidget->testButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(testButton_clicked()));
- connect(d->configWidget, TQT_SIGNAL(changed(bool)), this, TQT_SLOT(configChanged (bool)));
- connect(d->configWidget->characterCodingBox, TQT_SIGNAL(textChanged(const TQString&)),
- this, TQT_SLOT(configChanged()));
- connect(d->configWidget->voiceCombo, TQT_SIGNAL(activated(int)), this, TQT_SLOT(voiceCombo_activated(int)));
+ connect(d->configWidget->voiceButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(voiceButton_clicked()));
+ connect(d->configWidget->testButton, TQ_SIGNAL(clicked()), this, TQ_SLOT(testButton_clicked()));
+ connect(d->configWidget, TQ_SIGNAL(changed(bool)), this, TQ_SLOT(configChanged (bool)));
+ connect(d->configWidget->characterCodingBox, TQ_SIGNAL(textChanged(const TQString&)),
+ this, TQ_SLOT(configChanged()));
+ connect(d->configWidget->voiceCombo, TQ_SIGNAL(activated(int)), this, TQ_SLOT(voiceCombo_activated(int)));
d->initializeCharacterCodes();
d->initializeVoices();
d->setDefaults();
@@ -330,7 +330,7 @@ void HadifixConf::testButton_clicked () {
else
{
d->hadifixProc = new HadifixProc();
- connect (d->hadifixProc, TQT_SIGNAL(stopped()), this, TQT_SLOT(slotSynthStopped()));
+ connect (d->hadifixProc, TQ_SIGNAL(stopped()), this, TQ_SLOT(slotSynthStopped()));
}
// Create a temp file name for the wave file.
KTempFile tempFile (locateLocal("tmp", "hadifixplugin-"), ".wav");
@@ -354,7 +354,7 @@ void HadifixConf::testButton_clicked () {
// TQString testMsg = "K D E ist eine moderne grafische Arbeitsumgebung für UNIX-Computer.";
TQString testMsg = testMessage(d->languageCode);
- connect (d->hadifixProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ connect (d->hadifixProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
d->hadifixProc->synth (testMsg,
realFilePath(d->configWidget->hadifixURL->url()),
d->configWidget->isMaleVoice(),
@@ -369,7 +369,7 @@ void HadifixConf::testButton_clicked () {
// Display progress dialog modally. Processing continues when plugin signals synthFinished,
// or if user clicks Cancel button.
d->progressDlg->exec();
- disconnect (d->hadifixProc, TQT_SIGNAL(synthFinished()), this, TQT_SLOT(slotSynthFinished()));
+ disconnect (d->hadifixProc, TQ_SIGNAL(synthFinished()), this, TQ_SLOT(slotSynthFinished()));
if (d->progressDlg->wasCancelled()) d->hadifixProc->stopText();
delete d->progressDlg;
d->progressDlg = 0;
diff --git a/kttsd/plugins/hadifix/hadifixconf.h b/kttsd/plugins/hadifix/hadifixconf.h
index 14d56bc..a773a4b 100644
--- a/kttsd/plugins/hadifix/hadifixconf.h
+++ b/kttsd/plugins/hadifix/hadifixconf.h
@@ -11,7 +11,7 @@ class HadifixProc;
class HadifixConfPrivate;
class HadifixConf : public PlugInConf {
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/hadifix/hadifixconfigui.ui b/kttsd/plugins/hadifix/hadifixconfigui.ui
index 367200c..1fbe4ea 100644
--- a/kttsd/plugins/hadifix/hadifixconfigui.ui
+++ b/kttsd/plugins/hadifix/hadifixconfigui.ui
@@ -640,6 +640,11 @@
<include location="global" impldecl="in implementation">tqstringlist.h</include>
<include location="global" impldecl="in implementation">math.h</include>
<include location="global" impldecl="in implementation">kiconloader.h</include>
+ <include location="global" impldecl="in implementation">kcombobox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">knuminput.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
</includes>
<forwards>
<forward>class TQStringList;</forward>
@@ -651,10 +656,10 @@
<variable>TQPixmap male;</variable>
<variable>TQMap&lt;TQString,int&gt; femaleVoices;</variable>
</variables>
-<Q_SIGNALS>
+<signals>
<signal>changed(bool)</signal>
-</Q_SIGNALS>
-<Q_SLOTS>
+</signals>
+<slots>
<slot access="protected" specifier="non virtual">volumeBox_valueChanged( int percentValue )</slot>
<slot access="protected" specifier="non virtual">timeBox_valueChanged( int percentValue )</slot>
<slot access="protected" specifier="non virtual">frequencyBox_valueChanged( int percentValue )</slot>
@@ -662,7 +667,7 @@
<slot access="protected" specifier="non virtual">timeSlider_valueChanged( int sliderValue )</slot>
<slot access="protected" specifier="non virtual">frequencySlider_valueChanged( int sliderValue )</slot>
<slot access="protected">changed( const TQString &amp; )</slot>
-</Q_SLOTS>
+</slots>
<functions>
<function access="protected" specifier="non virtual" returnType="int">percentToSlider( int percentValue )</function>
<function access="protected" specifier="non virtual" returnType="int">sliderToPercent( int sliderValue )</function>
@@ -674,19 +679,4 @@
<function specifier="non virtual" returnType="bool">isMaleVoice()</function>
</functions>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>knuminput.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kcombobox.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/kttsd/plugins/hadifix/hadifixproc.cpp b/kttsd/plugins/hadifix/hadifixproc.cpp
index 3f2899f..51b1d24 100644
--- a/kttsd/plugins/hadifix/hadifixproc.cpp
+++ b/kttsd/plugins/hadifix/hadifixproc.cpp
@@ -197,10 +197,10 @@ void HadifixProc::synth(TQString text,
*(d->hadifixProc) << command;
// Connect signals from process.
- connect(d->hadifixProc, TQT_SIGNAL(processExited(TDEProcess *)),
- this, TQT_SLOT(slotProcessExited(TDEProcess *)));
- connect(d->hadifixProc, TQT_SIGNAL(wroteStdin(TDEProcess *)),
- this, TQT_SLOT(slotWroteStdin(TDEProcess *)));
+ connect(d->hadifixProc, TQ_SIGNAL(processExited(TDEProcess *)),
+ this, TQ_SLOT(slotProcessExited(TDEProcess *)));
+ connect(d->hadifixProc, TQ_SIGNAL(wroteStdin(TDEProcess *)),
+ this, TQ_SLOT(slotWroteStdin(TDEProcess *)));
// Store off name of wave file to be generated.
d->synthFilename = waveFilename;
@@ -359,10 +359,10 @@ HadifixProc::VoiceGender HadifixProc::determineGender(TQString mbrola, TQString
HadifixProc speech;
KShellProcess proc;
proc << command;
- connect(&proc, TQT_SIGNAL(receivedStdout(TDEProcess *, char *, int)),
- &speech, TQT_SLOT(receivedStdout(TDEProcess *, char *, int)));
- connect(&proc, TQT_SIGNAL(receivedStderr(TDEProcess *, char *, int)),
- &speech, TQT_SLOT(receivedStderr(TDEProcess *, char *, int)));
+ connect(&proc, TQ_SIGNAL(receivedStdout(TDEProcess *, char *, int)),
+ &speech, TQ_SLOT(receivedStdout(TDEProcess *, char *, int)));
+ connect(&proc, TQ_SIGNAL(receivedStderr(TDEProcess *, char *, int)),
+ &speech, TQ_SLOT(receivedStderr(TDEProcess *, char *, int)));
speech.stdOut = TQString();
speech.stdErr = TQString();
diff --git a/kttsd/plugins/hadifix/hadifixproc.h b/kttsd/plugins/hadifix/hadifixproc.h
index 34039c0..d3f6745 100644
--- a/kttsd/plugins/hadifix/hadifixproc.h
+++ b/kttsd/plugins/hadifix/hadifixproc.h
@@ -26,7 +26,7 @@ class TDEProcess;
class HadifixProcPrivate;
class HadifixProc : public PlugInProc{
- Q_OBJECT
+ TQ_OBJECT
public:
diff --git a/kttsd/plugins/hadifix/kttsd_hadifixplugin.desktop b/kttsd/plugins/hadifix/kttsd_hadifixplugin.desktop
index 0256587..2864dab 100644
--- a/kttsd/plugins/hadifix/kttsd_hadifixplugin.desktop
+++ b/kttsd/plugins/hadifix/kttsd_hadifixplugin.desktop
@@ -1,50 +1,8 @@
[Desktop Entry]
Name=Hadifix
-Name[ne]=ह्याडिफिक्स
+
Comment=German hadifix text-to-speech system
-Comment[bg]=Синтезатор на глас за немски език Hadifix
-Comment[ca]=Sistema de text a veu alemany hadifix
-Comment[cs]=Německý systém hlasové syntézy hadifix
-Comment[da]=Tysk hadifix tekst-til-tale system
-Comment[de]=Deutsches hadifix-Sprachausgabesystem
-Comment[el]=Σύστημα κειμένου-σε-ομιλία γερμανικού hadifix
-Comment[es]=Sintetizador de texto a voz en alemán hadifix
-Comment[et]=Saksa teksti kõneks muutmise süsteem Hadifix
-Comment[eu]=Alemanierazko hadifix testutik hizketarako sistema
-Comment[fa]=سیستم متن به گفتار hadifix آلمانی
-Comment[fi]=Saksalainen hadifix teksti puheeksi -systeemi
-Comment[fr]=Système allemand de synthèse vocale hadifix
-Comment[ga]=Córas téacs-go-caint Gearmáinise hadifix
-Comment[gl]=Sistema alemao de texto-para-fala hadifix
-Comment[hu]=Hadifix szövegfelolvasó (Mbrola-alapú)
-Comment[is]=Þýska hadifix texti-í-tal kerfið
-Comment[it]=Sistema di pronuncia tedesca Hadifix
-Comment[ja]=ドイツ語 hadifix テキスト読み上げシステム
-Comment[ka]=გერმანული hadifix ტექსტის გახმოვანების სისტემა
-Comment[km]=ប្រព័ន្ធ​អត្ថបទ​ដែល​ត្រូវ​និយាយ​ hadifix អាល្លឺម៉ង់
-Comment[mk]=Германски hadifix систем за текст-во-говор
-Comment[ms]=Sistem teks-ke-tutur hadifiks Jerman
-Comment[mt]=Sistema test-għal-vuċi hadifix Ġermaniż
-Comment[nb]=Tysk hadifix system for tekst-til-tale
-Comment[nds]=Düütsch Blicksnuut Hadifix
-Comment[ne]=जर्मनी ह्याडिफिक्स पाठ वाचक प्रणाली
-Comment[nl]=Duits hadifix tekst-tot-spraak-systeem
-Comment[pa]=ਜਰਮਨ hadifix ਪਾਠ ਤੋਂ ਬੋਲੀ ਸਿਸਟਮ
-Comment[pl]=Niemiecki system syntezy mowy hadifix
-Comment[pt]=Sistema alemão de texto-para-voz hadifix
-Comment[pt_BR]=Sistema de conversão de texto para áudio almeão hadifix
-Comment[ru]=Немецкая система синтеза речи Hadifix
-Comment[sk]=Nemecký systém text-na-reč hadifix
-Comment[sl]=Nemški sistem besedila v govor hadifix
-Comment[sr]=Hadifix, немачки систем за текст-у-говор
-Comment[sr@Latn]=Hadifix, nemački sistem za tekst-u-govor
-Comment[sv]=Tyska Hadifix text-till-tal system
-Comment[ta]=ஜெர்மன் ஹாடிஃபிக்ஸ் உரையில் இருந்து பேச்சு அமைப்பு
-Comment[tg]=Системаи олмонии таҳлили овози hadifix
-Comment[tr]=Alman hadifix metinden konuşmaya sistemi
-Comment[uk]=Німецька система синтезу мовлення hadifix
-Comment[vi]=Hệ thống tổng hợp tiếng nói Đức hadifix
-Comment[zh_TW]=德語 hadifix 文字轉語音系統
+
Type=Service
X-TDE-ServiceTypes=KTTSD/SynthPlugin
X-TDE-Library=libkttsd_hadifixplugin
diff --git a/kttsd/plugins/hadifix/voicefileui.ui b/kttsd/plugins/hadifix/voicefileui.ui
index c333670..bb3a232 100644
--- a/kttsd/plugins/hadifix/voicefileui.ui
+++ b/kttsd/plugins/hadifix/voicefileui.ui
@@ -100,20 +100,17 @@
<includes>
<include location="global" impldecl="in implementation">kurlrequesterdlg.h</include>
<include location="global" impldecl="in implementation">tdemessagebox.h</include>
+ <include location="global" impldecl="in implementation">klineedit.h</include>
+ <include location="global" impldecl="in implementation">kpushbutton.h</include>
+ <include location="global" impldecl="in implementation">kurlrequester.h</include>
<include location="local" impldecl="in implementation">hadifixproc.h</include>
<include location="local" impldecl="in implementation">voicefileui.ui.h</include>
</includes>
<variables>
- <variable access="public">QString mbrola;</variable>
+ <variable access="public">TQString mbrola;</variable>
</variables>
-<Q_SLOTS>
+<slots>
<slot>genderButton_clicked()</slot>
-</Q_SLOTS>
+</slots>
<layoutdefaults spacing="6" margin="11"/>
-<includehints>
- <includehint>kurlrequester.h</includehint>
- <includehint>klineedit.h</includehint>
- <includehint>kpushbutton.h</includehint>
- <includehint>kpushbutton.h</includehint>
-</includehints>
</UI>
diff --git a/translations/desktop_files/icon-themes/br.po b/translations/desktop_files/icon-themes/br.po
new file mode 100644
index 0000000..fa6f2b9
--- /dev/null
+++ b/translations/desktop_files/icon-themes/br.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr ""
diff --git a/translations/desktop_files/icon-themes/bs.po b/translations/desktop_files/icon-themes/bs.po
new file mode 100644
index 0000000..3c6ade5
--- /dev/null
+++ b/translations/desktop_files/icon-themes/bs.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Autor: Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ca.po b/translations/desktop_files/icon-themes/ca.po
new file mode 100644
index 0000000..e746e7b
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ca.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Per Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/cs.po b/translations/desktop_files/icon-themes/cs.po
new file mode 100644
index 0000000..78add72
--- /dev/null
+++ b/translations/desktop_files/icon-themes/cs.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Černobíle"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/cy.po b/translations/desktop_files/icon-themes/cy.po
new file mode 100644
index 0000000..83ceda8
--- /dev/null
+++ b/translations/desktop_files/icon-themes/cy.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Unlliw"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr ""
diff --git a/translations/desktop_files/icon-themes/da.po b/translations/desktop_files/icon-themes/da.po
new file mode 100644
index 0000000..ac5f8af
--- /dev/null
+++ b/translations/desktop_files/icon-themes/da.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Ved Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/de.po b/translations/desktop_files/icon-themes/de.po
new file mode 100644
index 0000000..ea0e3d2
--- /dev/null
+++ b/translations/desktop_files/icon-themes/de.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monochrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Von Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/el.po b/translations/desktop_files/icon-themes/el.po
new file mode 100644
index 0000000..d682fd4
--- /dev/null
+++ b/translations/desktop_files/icon-themes/el.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Μονόχρωμο"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Από τον Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/es.po b/translations/desktop_files/icon-themes/es.po
new file mode 100644
index 0000000..eba24ff
--- /dev/null
+++ b/translations/desktop_files/icon-themes/es.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocromo"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Por Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/et.po b/translations/desktop_files/icon-themes/et.po
new file mode 100644
index 0000000..9f2a4f0
--- /dev/null
+++ b/translations/desktop_files/icon-themes/et.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Ühevärviline"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Autor: Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/eu.po b/translations/desktop_files/icon-themes/eu.po
new file mode 100644
index 0000000..b2c84b4
--- /dev/null
+++ b/translations/desktop_files/icon-themes/eu.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokromoa"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Egilea: Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/fa.po b/translations/desktop_files/icon-themes/fa.po
new file mode 100644
index 0000000..71dc671
--- /dev/null
+++ b/translations/desktop_files/icon-themes/fa.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "تک رنگ"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "توسط دنی آلن (danny @dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/fi.po b/translations/desktop_files/icon-themes/fi.po
new file mode 100644
index 0000000..22203f3
--- /dev/null
+++ b/translations/desktop_files/icon-themes/fi.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Yksivärinen"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/fr.po b/translations/desktop_files/icon-themes/fr.po
new file mode 100644
index 0000000..0316421
--- /dev/null
+++ b/translations/desktop_files/icon-themes/fr.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "De Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ga.po b/translations/desktop_files/icon-themes/ga.po
new file mode 100644
index 0000000..44a71ae
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ga.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monacrómach"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Le Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/gl.po b/translations/desktop_files/icon-themes/gl.po
new file mode 100644
index 0000000..a10c61e
--- /dev/null
+++ b/translations/desktop_files/icon-themes/gl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocromo"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Por Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/he.po b/translations/desktop_files/icon-themes/he.po
new file mode 100644
index 0000000..1f778bf
--- /dev/null
+++ b/translations/desktop_files/icon-themes/he.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "מונוכרום"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "נכתב על ידי Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/hu.po b/translations/desktop_files/icon-themes/hu.po
new file mode 100644
index 0000000..f12b40b
--- /dev/null
+++ b/translations/desktop_files/icon-themes/hu.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokróm"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Készítette: Danny Allen <danny@dannyallen.co.uk>"
diff --git a/translations/desktop_files/icon-themes/icon-themes.pot b/translations/desktop_files/icon-themes/icon-themes.pot
new file mode 100644
index 0000000..28f1d2c
--- /dev/null
+++ b/translations/desktop_files/icon-themes/icon-themes.pot
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr ""
diff --git a/translations/desktop_files/icon-themes/is.po b/translations/desktop_files/icon-themes/is.po
new file mode 100644
index 0000000..f38f4ce
--- /dev/null
+++ b/translations/desktop_files/icon-themes/is.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Svart/hvítt"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Eftir Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/it.po b/translations/desktop_files/icon-themes/it.po
new file mode 100644
index 0000000..51e5e83
--- /dev/null
+++ b/translations/desktop_files/icon-themes/it.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocromo"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Di Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ka.po b/translations/desktop_files/icon-themes/ka.po
new file mode 100644
index 0000000..1a8fe64
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ka.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "მონოქრომატული"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "დენი ალიენის ავტორობით (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/km.po b/translations/desktop_files/icon-themes/km.po
new file mode 100644
index 0000000..0aebdeb
--- /dev/null
+++ b/translations/desktop_files/icon-themes/km.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "តែ​មួយ​ពណ៌"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "ដោយ​លោក​ Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/lt.po b/translations/desktop_files/icon-themes/lt.po
new file mode 100644
index 0000000..9328be6
--- /dev/null
+++ b/translations/desktop_files/icon-themes/lt.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monochrominis"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Sukūrė Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/mk.po b/translations/desktop_files/icon-themes/mk.po
new file mode 100644
index 0000000..10cb2d0
--- /dev/null
+++ b/translations/desktop_files/icon-themes/mk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Монохром"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Од Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ms.po b/translations/desktop_files/icon-themes/ms.po
new file mode 100644
index 0000000..75682c4
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ms.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Oleh Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/mt.po b/translations/desktop_files/icon-themes/mt.po
new file mode 100644
index 0000000..0ca6928
--- /dev/null
+++ b/translations/desktop_files/icon-themes/mt.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Ta' Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/nb.po b/translations/desktop_files/icon-themes/nb.po
new file mode 100644
index 0000000..e5a8b65
--- /dev/null
+++ b/translations/desktop_files/icon-themes/nb.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Ensfarget"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "av Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/nds.po b/translations/desktop_files/icon-themes/nds.po
new file mode 100644
index 0000000..f88ea87
--- /dev/null
+++ b/translations/desktop_files/icon-themes/nds.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Swattwitt"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Vun Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ne.po b/translations/desktop_files/icon-themes/ne.po
new file mode 100644
index 0000000..0a85315
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ne.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "मोनोक्रोम"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "डेनी एलेनद्वारा (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/nl.po b/translations/desktop_files/icon-themes/nl.po
new file mode 100644
index 0000000..2f690dd
--- /dev/null
+++ b/translations/desktop_files/icon-themes/nl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monochroom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "door Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/pa.po b/translations/desktop_files/icon-themes/pa.po
new file mode 100644
index 0000000..03677d2
--- /dev/null
+++ b/translations/desktop_files/icon-themes/pa.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Danny Allen (danny@dannyallen.co.uk) ਵਲੋਂ"
diff --git a/translations/desktop_files/icon-themes/pl.po b/translations/desktop_files/icon-themes/pl.po
new file mode 100644
index 0000000..6987ab5
--- /dev/null
+++ b/translations/desktop_files/icon-themes/pl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monochromatyczny"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Autor Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/pt.po b/translations/desktop_files/icon-themes/pt.po
new file mode 100644
index 0000000..77a3ab8
--- /dev/null
+++ b/translations/desktop_files/icon-themes/pt.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocromático"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Por Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/pt_BR.po b/translations/desktop_files/icon-themes/pt_BR.po
new file mode 100644
index 0000000..287ccf2
--- /dev/null
+++ b/translations/desktop_files/icon-themes/pt_BR.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monocromático"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Por Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ru.po b/translations/desktop_files/icon-themes/ru.po
new file mode 100644
index 0000000..d9ecd80
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ru.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Чёрно-белая тема"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Написал Дэнни Аллен (Danny Allen) (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/sk.po b/translations/desktop_files/icon-themes/sk.po
new file mode 100644
index 0000000..768e7e0
--- /dev/null
+++ b/translations/desktop_files/icon-themes/sk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monochromatické"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/sl.po b/translations/desktop_files/icon-themes/sl.po
new file mode 100644
index 0000000..ca3141c
--- /dev/null
+++ b/translations/desktop_files/icon-themes/sl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokromatsko"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Napisal Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/sr.po b/translations/desktop_files/icon-themes/sr.po
new file mode 100644
index 0000000..323d224
--- /dev/null
+++ b/translations/desktop_files/icon-themes/sr.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Монохроматски"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Од Денија Алена (Danny Allen, danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/sr@Latn.po b/translations/desktop_files/icon-themes/sr@Latn.po
new file mode 100644
index 0000000..a98d555
--- /dev/null
+++ b/translations/desktop_files/icon-themes/sr@Latn.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monohromatski"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Od Denija Alena (Danny Allen, danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/sv.po b/translations/desktop_files/icon-themes/sv.po
new file mode 100644
index 0000000..66bd4b2
--- /dev/null
+++ b/translations/desktop_files/icon-themes/sv.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Monokrom"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Av Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/ta.po b/translations/desktop_files/icon-themes/ta.po
new file mode 100644
index 0000000..e62f8cf
--- /dev/null
+++ b/translations/desktop_files/icon-themes/ta.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "மோனோக்ரோம்"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "டானி ஆலன் (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/tg.po b/translations/desktop_files/icon-themes/tg.po
new file mode 100644
index 0000000..cb000f4
--- /dev/null
+++ b/translations/desktop_files/icon-themes/tg.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Мавзӯъи сиёҳ-сафед"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Навишташудааст аз тарафи Аллен (Danny Allen) (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/th.po b/translations/desktop_files/icon-themes/th.po
new file mode 100644
index 0000000..ee401db
--- /dev/null
+++ b/translations/desktop_files/icon-themes/th.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "โดย Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/tr.po b/translations/desktop_files/icon-themes/tr.po
new file mode 100644
index 0000000..2e9d732
--- /dev/null
+++ b/translations/desktop_files/icon-themes/tr.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Siyah-beyaz"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/uk.po b/translations/desktop_files/icon-themes/uk.po
new file mode 100644
index 0000000..4a031ea
--- /dev/null
+++ b/translations/desktop_files/icon-themes/uk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Чорно-біле"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Автор Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/vi.po b/translations/desktop_files/icon-themes/vi.po
new file mode 100644
index 0000000..dd3e786
--- /dev/null
+++ b/translations/desktop_files/icon-themes/vi.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "Đơn sắc"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "Bởi Danny Allen (danny@dannyallen.co.uk)"
diff --git a/translations/desktop_files/icon-themes/zh_CN.po b/translations/desktop_files/icon-themes/zh_CN.po
new file mode 100644
index 0000000..e6b1093
--- /dev/null
+++ b/translations/desktop_files/icon-themes/zh_CN.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr ""
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr "由 Danny Allen (danny@dannyallen.co.uk) 制作"
diff --git a/translations/desktop_files/icon-themes/zh_TW.po b/translations/desktop_files/icon-themes/zh_TW.po
new file mode 100644
index 0000000..6f289c9
--- /dev/null
+++ b/translations/desktop_files/icon-themes/zh_TW.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:42+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: mono/index.theme:2
+msgid "Monochrome"
+msgstr "單色"
+
+#. Comment
+#: mono/index.theme:4
+msgid "By Danny Allen (danny@dannyallen.co.uk)"
+msgstr ""
diff --git a/translations/desktop_files/kbstateapplet-desktops/bg.po b/translations/desktop_files/kbstateapplet-desktops/bg.po
new file mode 100644
index 0000000..a06d031
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/bg.po
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Състояние на клавиатурата"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Аплет за системния панел, които показва състоянието на клавишите модификатори"
diff --git a/translations/desktop_files/kbstateapplet-desktops/br.po b/translations/desktop_files/kbstateapplet-desktops/br.po
new file mode 100644
index 0000000..f8f7555
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/br.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Arloadig stad ar stokellaoueg"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
diff --git a/translations/desktop_files/kbstateapplet-desktops/bs.po b/translations/desktop_files/kbstateapplet-desktops/bs.po
new file mode 100644
index 0000000..92b6f27
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/bs.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr ""
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panel applet koji pokazuje stanje modifikatorskih tipaka"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ca.po b/translations/desktop_files/kbstateapplet-desktops/ca.po
new file mode 100644
index 0000000..4a5cc46
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ca.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet d'estat del teclat"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Applet del plafó que mostra l'estat de les tecles modificadores"
diff --git a/translations/desktop_files/kbstateapplet-desktops/cs.po b/translations/desktop_files/kbstateapplet-desktops/cs.po
new file mode 100644
index 0000000..e3709d6
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/cs.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet ukazují stav klávesnice"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Applet, který zobrazuje stav klávesnice"
diff --git a/translations/desktop_files/kbstateapplet-desktops/da.po b/translations/desktop_files/kbstateapplet-desktops/da.po
new file mode 100644
index 0000000..4c003a0
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/da.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Tastaturstatus-applet"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panelprogram der viser tilstanden for ændringstaster"
diff --git a/translations/desktop_files/kbstateapplet-desktops/de.po b/translations/desktop_files/kbstateapplet-desktops/de.po
new file mode 100644
index 0000000..8c7d9a0
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/de.po
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Tastaturstatus"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Ein Miniprogramm für die Kontrollleiste, das den Status der Sondertasten "
+"anzeigt"
diff --git a/translations/desktop_files/kbstateapplet-desktops/el.po b/translations/desktop_files/kbstateapplet-desktops/el.po
new file mode 100644
index 0000000..d678fff
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/el.po
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Μικροεφαρμογή κατάστασης πληκτρολογίου"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Μικροεφαρμογή του πίνακα που εμφανίζει την κατάσταση των πλήκτρων "
+"τροποποίησης"
diff --git a/translations/desktop_files/kbstateapplet-desktops/es.po b/translations/desktop_files/kbstateapplet-desktops/es.po
new file mode 100644
index 0000000..2f862e9
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/es.po
@@ -0,0 +1,29 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Aplicación integrada en el panel con el estado del teclado"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Aplicación integrada en el panel que muestra el estado de las teclas "
+"modificadoras"
diff --git a/translations/desktop_files/kbstateapplet-desktops/et.po b/translations/desktop_files/kbstateapplet-desktops/et.po
new file mode 100644
index 0000000..86b0108
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/et.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Klaviatuuristaatuse aplett"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Paneeliaplett, mis näitab muuteklahvide olekut"
diff --git a/translations/desktop_files/kbstateapplet-desktops/eu.po b/translations/desktop_files/kbstateapplet-desktops/eu.po
new file mode 100644
index 0000000..e1b4633
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/eu.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Teklatuaren egoeraren applet-a"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panelaren applet-ak tekla aldatzaileen egoera erakusten du"
diff --git a/translations/desktop_files/kbstateapplet-desktops/fa.po b/translations/desktop_files/kbstateapplet-desktops/fa.po
new file mode 100644
index 0000000..ffaf1d6
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/fa.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "برنامک وضعیت صفحه کلید"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "برنامک تابلو که وضعیت کلیدهای تغییردهنده را نمایش می‌دهد"
diff --git a/translations/desktop_files/kbstateapplet-desktops/fi.po b/translations/desktop_files/kbstateapplet-desktops/fi.po
new file mode 100644
index 0000000..fa6bad3
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/fi.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Näppäimistötilan sovelma"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Muunnosnäppäinten tilan näyttävä paneelisovelma"
diff --git a/translations/desktop_files/kbstateapplet-desktops/fr.po b/translations/desktop_files/kbstateapplet-desktops/fr.po
new file mode 100644
index 0000000..a5033db
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/fr.po
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet d'état du clavier"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Applet du tableau de bord affichant l'état des touches de modifications"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ga.po b/translations/desktop_files/kbstateapplet-desktops/ga.po
new file mode 100644
index 0000000..6314da0
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ga.po
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Feidhmchláirín Stádais an Mhéarchláir"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Feidhmchláirín painéil a thaispeánann staid na n-eochracha mionathraithe"
diff --git a/translations/desktop_files/kbstateapplet-desktops/gl.po b/translations/desktop_files/kbstateapplet-desktops/gl.po
new file mode 100644
index 0000000..6a67751
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/gl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet de Estado do Teclado"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Applet do painel que mostra o estado das teclas modificadoras"
diff --git a/translations/desktop_files/kbstateapplet-desktops/he.po b/translations/desktop_files/kbstateapplet-desktops/he.po
new file mode 100644
index 0000000..f070be5
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/he.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "יישומון מצב המקלדת"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
diff --git a/translations/desktop_files/kbstateapplet-desktops/hi.po b/translations/desktop_files/kbstateapplet-desktops/hi.po
new file mode 100644
index 0000000..673e7d5
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/hi.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "कुंजीपट स्थिति ऐप्लेट"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "फलक ऐप्लेट जो कि परिवर्धक कुंजियों की स्थिति दिखाता है"
diff --git a/translations/desktop_files/kbstateapplet-desktops/hu.po b/translations/desktop_files/kbstateapplet-desktops/hu.po
new file mode 100644
index 0000000..7eba5c9
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/hu.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Billentyűállapot-jelző"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panel-kisalkalmazás a módosítóbillentyűk állapotának kiírásához"
diff --git a/translations/desktop_files/kbstateapplet-desktops/is.po b/translations/desktop_files/kbstateapplet-desktops/is.po
new file mode 100644
index 0000000..4265aba
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/is.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Lyklaborðsstöðu smáforrit"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Spjaldforrit sem sýnir stöðu breytilykla"
diff --git a/translations/desktop_files/kbstateapplet-desktops/it.po b/translations/desktop_files/kbstateapplet-desktops/it.po
new file mode 100644
index 0000000..2c9cab6
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/it.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet per lo stato della tastiera"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Applet del pannello che mostra lo stato dei tasti modificatori"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ja.po b/translations/desktop_files/kbstateapplet-desktops/ja.po
new file mode 100644
index 0000000..a07a6d4
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ja.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "キーボード状態アプレット"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "修飾キーの状態を表示するパネルアプレット"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ka.po b/translations/desktop_files/kbstateapplet-desktops/ka.po
new file mode 100644
index 0000000..05f13b7
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ka.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "კლავიატურის სტატუსის აპლეტი"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "პანელის აპლეტი, რომელიც მოდიფიკატორ კლავიშთა მდგომარეობას ასახავს"
diff --git a/translations/desktop_files/kbstateapplet-desktops/kbstateapplet-desktops.pot b/translations/desktop_files/kbstateapplet-desktops/kbstateapplet-desktops.pot
new file mode 100644
index 0000000..5492ac0
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/kbstateapplet-desktops.pot
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr ""
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
diff --git a/translations/desktop_files/kbstateapplet-desktops/km.po b/translations/desktop_files/kbstateapplet-desktops/km.po
new file mode 100644
index 0000000..b3cb444
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/km.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "អាប់ភ្លេត​ស្ថានភាព​ក្ដារ​ចុច"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "​អាប់ភ្លេត​បន្ទះ​ដែល​បង្ហាញ​ស្ថានភាព​របស់​គ្រាប់ចុច​កែប្រែ"
diff --git a/translations/desktop_files/kbstateapplet-desktops/lt.po b/translations/desktop_files/kbstateapplet-desktops/lt.po
new file mode 100644
index 0000000..bb31ff6
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/lt.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Klaviatūros būklės įskiepis"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Pulto įskiepis rodantis klaviatūros modifikuojančiųjų klavišų būseną"
diff --git a/translations/desktop_files/kbstateapplet-desktops/mk.po b/translations/desktop_files/kbstateapplet-desktops/mk.po
new file mode 100644
index 0000000..e64f654
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/mk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Аплет за статус на тастатурата"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Аплет на панелот што ја покажува состојбата на копчињата за менување"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ms.po b/translations/desktop_files/kbstateapplet-desktops/ms.po
new file mode 100644
index 0000000..808f44f
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ms.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Aplet Status Papan Kekunci"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panel aplet yang menayangkan keadaan kekunci pengubah suai"
diff --git a/translations/desktop_files/kbstateapplet-desktops/nb.po b/translations/desktop_files/kbstateapplet-desktops/nb.po
new file mode 100644
index 0000000..10f6ad0
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/nb.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Miniprogram for tastaturstatus"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panel-miniprogram som viser tilstanden for valgtastene"
diff --git a/translations/desktop_files/kbstateapplet-desktops/nds.po b/translations/desktop_files/kbstateapplet-desktops/nds.po
new file mode 100644
index 0000000..f05bb82
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/nds.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Tastatuurstatus-Lüttprogramm"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Paneel-Lüttprogramm, dat den Tostand vun de Sünnertasten wiest"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ne.po b/translations/desktop_files/kbstateapplet-desktops/ne.po
new file mode 100644
index 0000000..c8eb500
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ne.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "कुञ्जीपाटी वस्तुस्थिति एप्लेट"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "परिमार्जक कुञ्जीको वस्तुस्थिति देखाउने प्यानल ऐप्लेट"
diff --git a/translations/desktop_files/kbstateapplet-desktops/nl.po b/translations/desktop_files/kbstateapplet-desktops/nl.po
new file mode 100644
index 0000000..702df39
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/nl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Toetsenbordstatus-applet"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Een paneelapplet dat de status van de modificatietoetsen weergeeft"
diff --git a/translations/desktop_files/kbstateapplet-desktops/pa.po b/translations/desktop_files/kbstateapplet-desktops/pa.po
new file mode 100644
index 0000000..350ac03
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/pa.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "ਕੀ-ਬੋਰਡ ਸਥਿਤੀ ਐਪਲਿਟ"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "ਸੋਧਕ ਸਵਿੱਚਾਂ ਦੀ ਹਾਲਤ ਵੇਖਾਉਣ ਨਾਲ ਤੁਸੀਂ ਪੈਨਲ ਐਪਲਿਟ ਵੇਖ ਸਕਦੇ ਹੋ"
diff --git a/translations/desktop_files/kbstateapplet-desktops/pl.po b/translations/desktop_files/kbstateapplet-desktops/pl.po
new file mode 100644
index 0000000..3d627df
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/pl.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Aplet stanu klawiatury"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Apleta panelu, który pokazuje stan klawiszy modyfikujących"
diff --git a/translations/desktop_files/kbstateapplet-desktops/pt.po b/translations/desktop_files/kbstateapplet-desktops/pt.po
new file mode 100644
index 0000000..1c69520
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/pt.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "'Applet' de estado do teclado"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "'Applet' do painel que mostra o estado das teclas modificadoras"
diff --git a/translations/desktop_files/kbstateapplet-desktops/pt_BR.po b/translations/desktop_files/kbstateapplet-desktops/pt_BR.po
new file mode 100644
index 0000000..3af8f58
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/pt_BR.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Mini-aplicativo de status do teclado"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Ícone de painel que mostra o estado das teclas modificadoras"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ru.po b/translations/desktop_files/kbstateapplet-desktops/ru.po
new file mode 100644
index 0000000..1fef363
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ru.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Аплет состояния клавиатуры"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Аплет, показывающий состояния специальных клавиш"
diff --git a/translations/desktop_files/kbstateapplet-desktops/sk.po b/translations/desktop_files/kbstateapplet-desktops/sk.po
new file mode 100644
index 0000000..67ad962
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/sk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Applet Stav klávesnice"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Applet panelu, ktorý zobrazí stav modifikačných kláves"
diff --git a/translations/desktop_files/kbstateapplet-desktops/sl.po b/translations/desktop_files/kbstateapplet-desktops/sl.po
new file mode 100644
index 0000000..55ae4d4
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/sl.po
@@ -0,0 +1,28 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Vstavek za stanje tipkovnice"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr ""
+"Pultni vstavek, ki prikazuje stanje modifikatorskih tipk (modifikatorjev)"
diff --git a/translations/desktop_files/kbstateapplet-desktops/sr.po b/translations/desktop_files/kbstateapplet-desktops/sr.po
new file mode 100644
index 0000000..f9568c3
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/sr.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Аплет за статус тастатуре"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Панелни аплет који приказује стање модификаторских тастера"
diff --git a/translations/desktop_files/kbstateapplet-desktops/sr@Latn.po b/translations/desktop_files/kbstateapplet-desktops/sr@Latn.po
new file mode 100644
index 0000000..0464bc1
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/sr@Latn.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Aplet za status tastature"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panelni aplet koji prikazuje stanje modifikatorskih tastera"
diff --git a/translations/desktop_files/kbstateapplet-desktops/sv.po b/translations/desktop_files/kbstateapplet-desktops/sv.po
new file mode 100644
index 0000000..0a915a2
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/sv.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Miniprogram för tangentbordsstatus"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Panelminiprogram som visar tillståndet hos väljartangenter"
diff --git a/translations/desktop_files/kbstateapplet-desktops/ta.po b/translations/desktop_files/kbstateapplet-desktops/ta.po
new file mode 100644
index 0000000..b958766
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/ta.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "விசைப்பலகை நிலை குறுநிரல்"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "மாற்றி விசைகளின் நிலையைக் காட்டும் ஒரு பலக குறுநிரல்"
diff --git a/translations/desktop_files/kbstateapplet-desktops/tg.po b/translations/desktop_files/kbstateapplet-desktops/tg.po
new file mode 100644
index 0000000..0eaffad
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/tg.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Апплети ҳолати радифи ҳарфҳо"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Апплети нишонмедодаи ҳолати махсуси тугмаҳо"
diff --git a/translations/desktop_files/kbstateapplet-desktops/th.po b/translations/desktop_files/kbstateapplet-desktops/th.po
new file mode 100644
index 0000000..aaba6f4
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/th.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "แอพเพล็ตสถานะแป้นพิมพ์"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "ถาดแอพเพล็ตสำหรับแสดงสถานะของปุ่มพิมพ์ร่วม"
diff --git a/translations/desktop_files/kbstateapplet-desktops/tr.po b/translations/desktop_files/kbstateapplet-desktops/tr.po
new file mode 100644
index 0000000..fb7f28f
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/tr.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Klavye Durum Uygulaması"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Değiştirici tuş alanını gösteren bir panel eklentisi"
diff --git a/translations/desktop_files/kbstateapplet-desktops/uk.po b/translations/desktop_files/kbstateapplet-desktops/uk.po
new file mode 100644
index 0000000..75c25ae
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/uk.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Аплет стану клавіатури"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Аплет панелі, який показує стан клавіш-модифікаторів"
diff --git a/translations/desktop_files/kbstateapplet-desktops/vi.po b/translations/desktop_files/kbstateapplet-desktops/vi.po
new file mode 100644
index 0000000..a974aba
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/vi.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "Tiểu dụng Trạng thái Bàn phím"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "Tiểu dụng bảng điều khiển hiển thị trạng thái phím bổ trợ"
diff --git a/translations/desktop_files/kbstateapplet-desktops/zh_CN.po b/translations/desktop_files/kbstateapplet-desktops/zh_CN.po
new file mode 100644
index 0000000..71a5ab8
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/zh_CN.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "键盘状态小程序"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "显示修饰键状态的面板小程序"
diff --git a/translations/desktop_files/kbstateapplet-desktops/zh_TW.po b/translations/desktop_files/kbstateapplet-desktops/zh_TW.po
new file mode 100644
index 0000000..fefef51
--- /dev/null
+++ b/translations/desktop_files/kbstateapplet-desktops/zh_TW.po
@@ -0,0 +1,27 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kbstateapplet.desktop:2
+msgid "Keyboard Status Applet"
+msgstr "鍵盤狀態小程式"
+
+#. Comment
+#: kbstateapplet.desktop:4
+msgid "Panel applet that shows the state of the modifier keys"
+msgstr "一個顯示鍵盤狀態的面板小程式"
diff --git a/translations/desktop_files/kmag-desktops/ar.po b/translations/desktop_files/kmag-desktops/ar.po
new file mode 100644
index 0000000..dadfc79
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ar.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "مكبَر الشاشة"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/bg.po b/translations/desktop_files/kmag-desktops/bg.po
new file mode 100644
index 0000000..b009f11
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/bg.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Лупа за екрана"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/bs.po b/translations/desktop_files/kmag-desktops/bs.po
new file mode 100644
index 0000000..25af0e5
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/bs.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Povećalo za ekran"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ca.po b/translations/desktop_files/kmag-desktops/ca.po
new file mode 100644
index 0000000..bdde4a7
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ca.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lupa de la pantalla"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/cs.po b/translations/desktop_files/kmag-desktops/cs.po
new file mode 100644
index 0000000..e203593
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/cs.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lupa obrazovky"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/cy.po b/translations/desktop_files/kmag-desktops/cy.po
new file mode 100644
index 0000000..a2a000f
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/cy.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "KChwyddwr"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/da.po b/translations/desktop_files/kmag-desktops/da.po
new file mode 100644
index 0000000..07cb052
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/da.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Skærmforstørrer"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/de.po b/translations/desktop_files/kmag-desktops/de.po
new file mode 100644
index 0000000..14e640e
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/de.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Bildschirmlupe"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/el.po b/translations/desktop_files/kmag-desktops/el.po
new file mode 100644
index 0000000..fd44ee3
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/el.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "K μεγεθυντικός φακός"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Μεγεθυντικός φακός οθόνης"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/eo.po b/translations/desktop_files/kmag-desktops/eo.po
new file mode 100644
index 0000000..8265c8e
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/eo.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekrano-pligrandigilo"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/es.po b/translations/desktop_files/kmag-desktops/es.po
new file mode 100644
index 0000000..46a2e55
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/es.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Aumenta la pantalla"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/et.po b/translations/desktop_files/kmag-desktops/et.po
new file mode 100644
index 0000000..4761acc
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/et.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekraani suurendaja"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/eu.po b/translations/desktop_files/kmag-desktops/eu.po
new file mode 100644
index 0000000..fe3a79b
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/eu.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Pantailaren lupa"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/fa.po b/translations/desktop_files/kmag-desktops/fa.po
new file mode 100644
index 0000000..0ec85b5
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/fa.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "درشت‌نمای پرده"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/fi.po b/translations/desktop_files/kmag-desktops/fi.po
new file mode 100644
index 0000000..9b9b0d7
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/fi.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Suurennuslasi"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/fr.po b/translations/desktop_files/kmag-desktops/fr.po
new file mode 100644
index 0000000..9bcc549
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/fr.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Loupe d'écran"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ga.po b/translations/desktop_files/kmag-desktops/ga.po
new file mode 100644
index 0000000..ee4d15e
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ga.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Formhéadaitheoir Scáileáin"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/gl.po b/translations/desktop_files/kmag-desktops/gl.po
new file mode 100644
index 0000000..4a447cb
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/gl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ampliación da pantalla"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/he.po b/translations/desktop_files/kmag-desktops/he.po
new file mode 100644
index 0000000..ef3e419
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/he.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "זכוכית מגדלת"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/hi.po b/translations/desktop_files/kmag-desktops/hi.po
new file mode 100644
index 0000000..d42a8e4
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/hi.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "स्क्रीन का आकार बढ़ाने वाला"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/hu.po b/translations/desktop_files/kmag-desktops/hu.po
new file mode 100644
index 0000000..8929457
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/hu.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Nagyító"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/is.po b/translations/desktop_files/kmag-desktops/is.po
new file mode 100644
index 0000000..f3fb5cb
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/is.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Skjástækkunargler"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/it.po b/translations/desktop_files/kmag-desktops/it.po
new file mode 100644
index 0000000..ff5817a
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/it.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2021-05-30 11:07+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmag-desktop-files/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6.2\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lente di ingrandimento per lo schermo"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Strumento per ingrandire le aree dello schermo"
diff --git a/translations/desktop_files/kmag-desktops/ja.po b/translations/desktop_files/kmag-desktops/ja.po
new file mode 100644
index 0000000..cc14875
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ja.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "画面拡大鏡"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ka.po b/translations/desktop_files/kmag-desktops/ka.po
new file mode 100644
index 0000000..3de36d9
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ka.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "ეკრანის გამდიდებელი"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/km.po b/translations/desktop_files/kmag-desktops/km.po
new file mode 100644
index 0000000..be14c53
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/km.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "កម្មវិធី​ពង្រីក​អេក្រង់​"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/kmag-desktops.pot b/translations/desktop_files/kmag-desktops/kmag-desktops.pot
new file mode 100644
index 0000000..7250bfa
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/kmag-desktops.pot
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr ""
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/lt.po b/translations/desktop_files/kmag-desktops/lt.po
new file mode 100644
index 0000000..02b30a9
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/lt.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekrano didintojas"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/mk.po b/translations/desktop_files/kmag-desktops/mk.po
new file mode 100644
index 0000000..4aacd74
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/mk.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Зголемувач за екранот"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ms.po b/translations/desktop_files/kmag-desktops/ms.po
new file mode 100644
index 0000000..2cb33ae
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ms.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Pembesar Skrin"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/nb.po b/translations/desktop_files/kmag-desktops/nb.po
new file mode 100644
index 0000000..0d09af5
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/nb.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Skjermforstørrer"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/nds.po b/translations/desktop_files/kmag-desktops/nds.po
new file mode 100644
index 0000000..665a078
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/nds.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Schirmluup"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ne.po b/translations/desktop_files/kmag-desktops/ne.po
new file mode 100644
index 0000000..08661f0
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ne.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "केडीई म्याग"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "पर्दा अभिवर्धक"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/nl.po b/translations/desktop_files/kmag-desktops/nl.po
new file mode 100644
index 0000000..2bdb0c9
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/nl.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Heimen Stoffels <vistausss@outlook.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2023-08-12 18:29+0000\n"
+"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
+"Language-Team: Dutch <https://mirror.git.trinitydesktop.org/weblate/projects/"
+"tdeaccessibility/kmag-desktop-files/nl/>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Schermvergroter"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Een hulpmiddel om schermgebieden te vergroten"
diff --git a/translations/desktop_files/kmag-desktops/nn.po b/translations/desktop_files/kmag-desktops/nn.po
new file mode 100644
index 0000000..91af9fc
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/nn.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Skjermforstørrar"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/pa.po b/translations/desktop_files/kmag-desktops/pa.po
new file mode 100644
index 0000000..a2a840e
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/pa.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "ਪਰਦਾ ਵੱਡਦਰਸ਼ੀ"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/pl.po b/translations/desktop_files/kmag-desktops/pl.po
new file mode 100644
index 0000000..30b1aa3
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/pl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Powiększanie fragmentów ekranu"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/pt.po b/translations/desktop_files/kmag-desktops/pt.po
new file mode 100644
index 0000000..e79eed4
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/pt.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2021-11-25 18:59+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmag-desktop-files/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lupa"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Ferramenta para ampliar áreas do ecrã"
diff --git a/translations/desktop_files/kmag-desktops/pt_BR.po b/translations/desktop_files/kmag-desktops/pt_BR.po
new file mode 100644
index 0000000..0c5040f
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/pt_BR.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2021-12-18 00:00+0000\n"
+"Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
+"weblate/projects/tdeaccessibility/kmag-desktop-files/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Amplificador de Tela"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Ferramenta para dar zoom em áreas da tela"
diff --git a/translations/desktop_files/kmag-desktops/ro.po b/translations/desktop_files/kmag-desktops/ro.po
new file mode 100644
index 0000000..fcfa6b7
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ro.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lupă de ecran"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Un utilitar de mărit zone ale ecranului"
diff --git a/translations/desktop_files/kmag-desktops/ru.po b/translations/desktop_files/kmag-desktops/ru.po
new file mode 100644
index 0000000..846f5a3
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ru.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Alexander Golubev <fatzer2@gmail.com>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2022-02-15 02:00+0000\n"
+"Last-Translator: Alexander Golubev <fatzer2@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmag-desktop-files/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Экранная лупа"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Инструмнт для увеличения какой-либо области экрана"
diff --git a/translations/desktop_files/kmag-desktops/sk.po b/translations/desktop_files/kmag-desktops/sk.po
new file mode 100644
index 0000000..1d7ec4f
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/sk.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KLupa"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Lupa obrazovky"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/sl.po b/translations/desktop_files/kmag-desktops/sl.po
new file mode 100644
index 0000000..fba8309
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/sl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Povečevalnik zaslona"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/sr.po b/translations/desktop_files/kmag-desktops/sr.po
new file mode 100644
index 0000000..f45be6f
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/sr.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Екрански увеличавач"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/sr@Latn.po b/translations/desktop_files/kmag-desktops/sr@Latn.po
new file mode 100644
index 0000000..655105d
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/sr@Latn.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekranski uveličavač"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/sv.po b/translations/desktop_files/kmag-desktops/sv.po
new file mode 100644
index 0000000..6fae96b
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/sv.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "Kmag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Förstoringsglas"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/ta.po b/translations/desktop_files/kmag-desktops/ta.po
new file mode 100644
index 0000000..cd26d1d
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/ta.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "திரை பெரிதாக்கி"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/tg.po b/translations/desktop_files/kmag-desktops/tg.po
new file mode 100644
index 0000000..7704b66
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/tg.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag "
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Калон кардани экран"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/th.po b/translations/desktop_files/kmag-desktops/th.po
new file mode 100644
index 0000000..f7a11c3
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/th.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "แว่นขยาย - K"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "แว่นขยายหน้าจอ"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/tr.po b/translations/desktop_files/kmag-desktops/tr.po
new file mode 100644
index 0000000..ae1f56b
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/tr.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "Kmag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekran Büyüteci"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/uk.po b/translations/desktop_files/kmag-desktops/uk.po
new file mode 100644
index 0000000..779f468
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/uk.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Roman Savochenko <roman@oscada.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: 2021-10-06 16:30+0000\n"
+"Last-Translator: Roman Savochenko <roman@oscada.org>\n"
+"Language-Team: Ukrainian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmag-desktop-files/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.8.1\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "KMag"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Збільшувач екрана"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr "Засіб збільшення ділянок екрану"
diff --git a/translations/desktop_files/kmag-desktops/uz.po b/translations/desktop_files/kmag-desktops/uz.po
new file mode 100644
index 0000000..ee1c791
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/uz.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Ekranni kattalashtiruvchi"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/uz@cyrillic.po b/translations/desktop_files/kmag-desktops/uz@cyrillic.po
new file mode 100644
index 0000000..59cbbc1
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/uz@cyrillic.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz@cyrillic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Экранни катталаштирувчи"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/vi.po b/translations/desktop_files/kmag-desktops/vi.po
new file mode 100644
index 0000000..4e29533
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/vi.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "Kính lúp K"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "Kính lúp Màn hình"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/zh_CN.po b/translations/desktop_files/kmag-desktops/zh_CN.po
new file mode 100644
index 0000000..61d0a40
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/zh_CN.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr ""
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "屏幕放大镜"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmag-desktops/zh_TW.po b/translations/desktop_files/kmag-desktops/zh_TW.po
new file mode 100644
index 0000000..8d7b14c
--- /dev/null
+++ b/translations/desktop_files/kmag-desktops/zh_TW.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:43+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmag.desktop:2
+msgid "KMag"
+msgstr "K-放大鏡"
+
+#. GenericName
+#: kmag.desktop:4
+msgid "Screen Magnifier"
+msgstr "螢幕放大鏡"
+
+#. Comment
+#: kmag.desktop:6
+msgid "Tool to zoom screen areas"
+msgstr ""
diff --git a/translations/desktop_files/kmousetool-desktops/ar.po b/translations/desktop_files/kmousetool-desktops/ar.po
new file mode 100644
index 0000000..085b742
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ar.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "نقر الفأرة التلقائي"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "ينقر على الفأرة بدلا منك، مُخَفِّفاً عنك آلام RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/bg.po b/translations/desktop_files/kmousetool-desktops/bg.po
new file mode 100644
index 0000000..54c51eb
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/bg.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Инструмент за мишката"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Автоматично щракване с бутона на мишката"
diff --git a/translations/desktop_files/kmousetool-desktops/bs.po b/translations/desktop_files/kmousetool-desktops/bs.po
new file mode 100644
index 0000000..c1e1592
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/bs.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatsko klikanje mišem"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klika mišem za vas, smanjujući efekte RSI-ja"
diff --git a/translations/desktop_files/kmousetool-desktops/ca.po b/translations/desktop_files/kmousetool-desktops/ca.po
new file mode 100644
index 0000000..2aa5e35
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ca.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clic automàtic del ratolí"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
+"Fa els clics del ratolí­, reduint els efectes del RSI (índex de força "
+"relativa)"
diff --git a/translations/desktop_files/kmousetool-desktops/cs.po b/translations/desktop_files/kmousetool-desktops/cs.po
new file mode 100644
index 0000000..2f57836
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/cs.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatické klikání myší"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Kliká za vás myší, omezuje tak efekt RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/cy.po b/translations/desktop_files/kmousetool-desktops/cy.po
new file mode 100644
index 0000000..de15c83
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/cy.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KErfynLlygoden"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clic Llygoden Ymysgogol"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Clicio'r llygoden i chi, wrth esmwytho effeithiau RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/da.po b/translations/desktop_files/kmousetool-desktops/da.po
new file mode 100644
index 0000000..439230c
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/da.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatisk museklik"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klikker på musen for dig, reducerer virkningen af RSI-smerte"
diff --git a/translations/desktop_files/kmousetool-desktops/de.po b/translations/desktop_files/kmousetool-desktops/de.po
new file mode 100644
index 0000000..dfe10e2
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/de.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatische Mausklicks"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Führt Mausklicks für Sie aus"
diff --git a/translations/desktop_files/kmousetool-desktops/el.po b/translations/desktop_files/kmousetool-desktops/el.po
new file mode 100644
index 0000000..97a4b4e
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/el.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Αυτόματο κλικ ποντικιού"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
+"Ενεργεί τα κλικ του ποντικιού για σας, μειώνοντας τις επιδράσεις των "
+"τραυμάτων από τη συνεχή επανάληψη (RSI)"
diff --git a/translations/desktop_files/kmousetool-desktops/eo.po b/translations/desktop_files/kmousetool-desktops/eo.po
new file mode 100644
index 0000000..d2ddf94
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/eo.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Kmusilo"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Aŭtomata Musklako"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klakas la muson por vi, tio reduktas la efekton de RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/es.po b/translations/desktop_files/kmousetool-desktops/es.po
new file mode 100644
index 0000000..a4db6ac
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/es.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Pulsación automática del ratón"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Pulsa los botones del ratón por usted, reduciendo los efectos de RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/et.po b/translations/desktop_files/kmousetool-desktops/et.po
new file mode 100644
index 0000000..8d3e141
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/et.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Hiire automaatne klõpsaja"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klõpsab hiirt sinu eest, vähendades võimalike lihasevalude ohtu"
diff --git a/translations/desktop_files/kmousetool-desktops/eu.po b/translations/desktop_files/kmousetool-desktops/eu.po
new file mode 100644
index 0000000..ac9010e
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/eu.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Saguaren klik automatikoak"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Sagua zure ordez klikatzen du, RSI-aren efektuak gutxitzeko"
diff --git a/translations/desktop_files/kmousetool-desktops/fa.po b/translations/desktop_files/kmousetool-desktops/fa.po
new file mode 100644
index 0000000..a39bd68
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/fa.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "فشار خودکار موشی"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "موشی را برایتان فشار می‌دهد، اثرات RSI را کاهش می‌دهد"
diff --git a/translations/desktop_files/kmousetool-desktops/fi.po b/translations/desktop_files/kmousetool-desktops/fi.po
new file mode 100644
index 0000000..c978587
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/fi.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automaattinen hiirennapsautus"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Napsauttaa hiirtä puolestasi rannevammojen ehkäisemiseksi"
diff --git a/translations/desktop_files/kmousetool-desktops/fr.po b/translations/desktop_files/kmousetool-desktops/fr.po
new file mode 100644
index 0000000..7b0d59e
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/fr.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clic de souris automatique"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
+"Clique sur la souris à votre place, limitant les douleurs liées aux TMS"
diff --git a/translations/desktop_files/kmousetool-desktops/ga.po b/translations/desktop_files/kmousetool-desktops/ga.po
new file mode 100644
index 0000000..8a61831
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ga.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Cliceáil uathoibríoch luiche"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
+"Cliceálann seo an luch duit, chun tionchar gortú athstraidhneála a laghdú"
diff --git a/translations/desktop_files/kmousetool-desktops/gl.po b/translations/desktop_files/kmousetool-desktops/gl.po
new file mode 100644
index 0000000..981b8c8
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/gl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Preme o rato automaticamente"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Preme o rato por ti, reducindo os efeitos da RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/he.po b/translations/desktop_files/kmousetool-desktops/he.po
new file mode 100644
index 0000000..e78f197
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/he.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "לחיצת עכבר אוטומטית"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "לוחץ על העכבר עבורך, ובכך מקל על פרק היד"
diff --git a/translations/desktop_files/kmousetool-desktops/hi.po b/translations/desktop_files/kmousetool-desktops/hi.po
new file mode 100644
index 0000000..32ab75d
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/hi.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "के-माउस टूल"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "स्वचालित माउस क्लिक"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
+"आपके लिए माउस क्लिक करता है, बार-बार क्लिक के कारण ऊंगलियों में होने वाली क्षति को कम "
+"करता है"
diff --git a/translations/desktop_files/kmousetool-desktops/hu.po b/translations/desktop_files/kmousetool-desktops/hu.po
new file mode 100644
index 0000000..be5efc0
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/hu.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatikus kattintás"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Automatikus egérkattintás (RSI-szindrómában szenvedőknek)"
diff --git a/translations/desktop_files/kmousetool-desktops/is.po b/translations/desktop_files/kmousetool-desktops/is.po
new file mode 100644
index 0000000..dc8d3a5
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/is.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Sjálfvirkur músahnappasmellir"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Smellir músarhnöppunum fyrir þig og dregur úr áhrifum RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/it.po b/translations/desktop_files/kmousetool-desktops/it.po
new file mode 100644
index 0000000..f017011
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/it.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2021-05-30 11:07+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmousetool-desktop-files/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6.2\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clic automatico del mouse"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Fa clic sul mouse al posto tuo, riducendo gli effetti della RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/ja.po b/translations/desktop_files/kmousetool-desktops/ja.po
new file mode 100644
index 0000000..0780d63
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ja.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "自動マウスクリック"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "RSI (反復運動過多損傷) を防ぐために、あなたの代わりにマウスをクリック"
diff --git a/translations/desktop_files/kmousetool-desktops/ka.po b/translations/desktop_files/kmousetool-desktops/ka.po
new file mode 100644
index 0000000..7db5e4c
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ka.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "თაგუნას ავტომატური წკაპი"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "დაწკაპავს თაგუნას თქვენს მაგივრად, ამცირებს RSI ეფექტებს"
diff --git a/translations/desktop_files/kmousetool-desktops/km.po b/translations/desktop_files/kmousetool-desktops/km.po
new file mode 100644
index 0000000..50d6530
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/km.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "ចុចកណ្តុរ​ដោយ​ស្វ័យប្រវត្តិ"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "ចុច​កណ្ដុរ​ឲ្យ​អ្នក ដែល​កាត់​បន្ថយ​បែបផែន​របស់ RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/kmousetool-desktops.pot b/translations/desktop_files/kmousetool-desktops/kmousetool-desktops.pot
new file mode 100644
index 0000000..1fdfb6b
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/kmousetool-desktops.pot
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr ""
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
diff --git a/translations/desktop_files/kmousetool-desktops/lt.po b/translations/desktop_files/kmousetool-desktops/lt.po
new file mode 100644
index 0000000..b2595b2
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/lt.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatiniai pelės paspaudimai"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Nuspaudžia pelės klavišą, sumažindamas skausmo sindromą"
diff --git a/translations/desktop_files/kmousetool-desktops/mk.po b/translations/desktop_files/kmousetool-desktops/mk.po
new file mode 100644
index 0000000..3ee0ead
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/mk.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Автоматско кликнување на глушецот"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
diff --git a/translations/desktop_files/kmousetool-desktops/ms.po b/translations/desktop_files/kmousetool-desktops/ms.po
new file mode 100644
index 0000000..be8bd93
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ms.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Klik Tetikus Automatik"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Mengklik tetikus untuk anda, mengurangkan kesan RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/mt.po b/translations/desktop_files/kmousetool-desktops/mt.po
new file mode 100644
index 0000000..e5f900e
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/mt.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Klikk tal-Maws Awtomatiku"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Jikklikkjalek il-maws, biex tevita wġigħ RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/nb.po b/translations/desktop_files/kmousetool-desktops/nb.po
new file mode 100644
index 0000000..3e50fd2
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/nb.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatisk museklikk"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Trykker museknappen for deg, gir mindre musesyke"
diff --git a/translations/desktop_files/kmousetool-desktops/nds.po b/translations/desktop_files/kmousetool-desktops/nds.po
new file mode 100644
index 0000000..1f889ca
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/nds.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automaatsche Muusklicks"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klickt de Muus för Di, minnert de Effekten vun RSI af"
diff --git a/translations/desktop_files/kmousetool-desktops/ne.po b/translations/desktop_files/kmousetool-desktops/ne.po
new file mode 100644
index 0000000..aafca2b
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ne.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "केडीई माउस उपकरण"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "स्वचालित माउस क्लिक"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "तपाईँका लागि RSI को प्रभाव घटाएर माउस क्लिक गर्छ"
diff --git a/translations/desktop_files/kmousetool-desktops/nl.po b/translations/desktop_files/kmousetool-desktops/nl.po
new file mode 100644
index 0000000..f6d7e81
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/nl.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Heimen Stoffels <vistausss@outlook.com>, 2023.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2023-08-12 18:29+0000\n"
+"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
+"Language-Team: Dutch <https://mirror.git.trinitydesktop.org/weblate/projects/"
+"tdeaccessibility/kmousetool-desktop-files/nl/>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatische muisklik"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klikt de muisknop voor u; vermindert de effecten van RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/nn.po b/translations/desktop_files/kmousetool-desktops/nn.po
new file mode 100644
index 0000000..19f2418
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/nn.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatisk museklikk"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klikkar med musa for deg, for å hindra belastningsskadar"
diff --git a/translations/desktop_files/kmousetool-desktops/pa.po b/translations/desktop_files/kmousetool-desktops/pa.po
new file mode 100644
index 0000000..0ce8257
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/pa.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "ਕੇ ਮਾਊਸ ਸੰਦ"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "ਐਟੋਮੈਟਿਕ ਮਾਊਸ ਕਲਿੱਕ"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "ਮਾਊਸ ਨੂੰ ਦਬਾਉਣ ਨਾਲ ਤੁਹਾਡੇ ਲਈ RSI ਪਰਭਾਵ ਘੱਟ ਜਾਵੇਗਾ"
diff --git a/translations/desktop_files/kmousetool-desktops/pl.po b/translations/desktop_files/kmousetool-desktops/pl.po
new file mode 100644
index 0000000..9f05ee5
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/pl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatyczne klikanie myszą"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klika za Ciebie myszą, ograniczając nadwyrężanie mięśni"
diff --git a/translations/desktop_files/kmousetool-desktops/pt.po b/translations/desktop_files/kmousetool-desktops/pt.po
new file mode 100644
index 0000000..f25e13f
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/pt.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2021-11-25 19:00+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmousetool-desktop-files/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Carregar no Rato"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Carrega no rato por si, aliviando dores motivadas por RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/pt_BR.po b/translations/desktop_files/kmousetool-desktops/pt_BR.po
new file mode 100644
index 0000000..404c48e
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/pt_BR.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2021-12-18 00:00+0000\n"
+"Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
+"weblate/projects/tdeaccessibility/kmousetool-desktop-files/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clique Automático do Mouse"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Clica o mouse para você, facilitando a dificuldade do RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/ro.po b/translations/desktop_files/kmousetool-desktops/ro.po
new file mode 100644
index 0000000..3b53c71
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ro.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Utilitar mouse"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Clic automat de mouse"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Execută clicuri pentru dumneavoastră, reducînd oboseala mîinii"
diff --git a/translations/desktop_files/kmousetool-desktops/ru.po b/translations/desktop_files/kmousetool-desktops/ru.po
new file mode 100644
index 0000000..d42b775
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ru.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Alexander Golubev <fatzer2@gmail.com>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2022-02-15 02:00+0000\n"
+"Last-Translator: Alexander Golubev <fatzer2@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmousetool-desktop-files/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Автощелчок мышью"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Утилита управления мышью для облегчения болевых синдромов"
diff --git a/translations/desktop_files/kmousetool-desktops/sk.po b/translations/desktop_files/kmousetool-desktops/sk.po
new file mode 100644
index 0000000..81e0ec7
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/sk.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatické klikanie myšou"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Kliká za vás myšou, uľahčuje bolesti RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/sl.po b/translations/desktop_files/kmousetool-desktops/sl.po
new file mode 100644
index 0000000..8e5e2db
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/sl.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Samodejni klik miške"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Za vas klika miško, da vam olajša bolečine v zapestju"
diff --git a/translations/desktop_files/kmousetool-desktops/sr.po b/translations/desktop_files/kmousetool-desktops/sr.po
new file mode 100644
index 0000000..8437436
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/sr.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Аутоматски клик мишем"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Кликће мишем за вас, умањујући вам болове у зглобу"
diff --git a/translations/desktop_files/kmousetool-desktops/sr@Latn.po b/translations/desktop_files/kmousetool-desktops/sr@Latn.po
new file mode 100644
index 0000000..9319217
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/sr@Latn.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr ""
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatski klik mišem"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klikće mišem za vas, umanjujući vam bolove u zglobu"
diff --git a/translations/desktop_files/kmousetool-desktops/sv.po b/translations/desktop_files/kmousetool-desktops/sv.po
new file mode 100644
index 0000000..45ded90
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/sv.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Kmousetool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Automatiska musklick"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Klickar musen åt dig, för att mildra smärta från musarm"
diff --git a/translations/desktop_files/kmousetool-desktops/ta.po b/translations/desktop_files/kmousetool-desktops/ta.po
new file mode 100644
index 0000000..b21f67a
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/ta.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "கே சுட்டிக்கருவி"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "தானியங்கி சுட்டி சொடுக்கல்"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Clicks the mouse for you, reducing the effects of RSI RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/tg.po b/translations/desktop_files/kmousetool-desktops/tg.po
new file mode 100644
index 0000000..d987378
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/tg.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Асбоби КМуш"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Зер кардани автоматии муш"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Зер кардани муш барои шумо, бо камшавии таъсирҳои RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/th.po b/translations/desktop_files/kmousetool-desktops/th.po
new file mode 100644
index 0000000..29113c9
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/th.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "ปรับแต่งเม้าส์ - K"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "คลิ้กเม้าส์อัตโนมัติ"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "คลิ้กเม้าส์สำหรับคุณเพื่อลดความเสียงต่อการเป็นโรค RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/tr.po b/translations/desktop_files/kmousetool-desktops/tr.po
new file mode 100644
index 0000000..7fba1c4
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/tr.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Kmousetool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Otomatik Fare Tıklaması"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "RSI özelliklerini azaltarak sizin için fareyi tıklar"
diff --git a/translations/desktop_files/kmousetool-desktops/uk.po b/translations/desktop_files/kmousetool-desktops/uk.po
new file mode 100644
index 0000000..e1015da
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/uk.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Roman Savochenko <roman@oscada.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: 2021-10-06 16:30+0000\n"
+"Last-Translator: Roman Savochenko <roman@oscada.org>\n"
+"Language-Team: Ukrainian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmousetool-desktop-files/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.8.1\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "KMouseTool"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Автоматичне клацання мишкою"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Клацає мишкою для вас для полегшення відчуття болі в зап'ясті"
diff --git a/translations/desktop_files/kmousetool-desktops/uz.po b/translations/desktop_files/kmousetool-desktops/uz.po
new file mode 100644
index 0000000..9005c64
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/uz.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Sichqoncha vositasi"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Sichqonchani avto-bosish"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
diff --git a/translations/desktop_files/kmousetool-desktops/uz@cyrillic.po b/translations/desktop_files/kmousetool-desktops/uz@cyrillic.po
new file mode 100644
index 0000000..a1c1324
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/uz@cyrillic.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz@cyrillic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Сичқонча воситаси"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Сичқончани авто-босиш"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr ""
diff --git a/translations/desktop_files/kmousetool-desktops/vi.po b/translations/desktop_files/kmousetool-desktops/vi.po
new file mode 100644
index 0000000..b17e40b
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/vi.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "Công cụ Chuột TDE"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "Ấn Chuột Tự động"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "Ấn chuột giúp bạn, giảm tác động của RSI"
diff --git a/translations/desktop_files/kmousetool-desktops/zh_CN.po b/translations/desktop_files/kmousetool-desktops/zh_CN.po
new file mode 100644
index 0000000..6eed70d
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/zh_CN.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "K 鼠标工具"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "自动鼠标点击"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "为您点击鼠标,减轻肢体重复性劳损(RSI)效应"
diff --git a/translations/desktop_files/kmousetool-desktops/zh_TW.po b/translations/desktop_files/kmousetool-desktops/zh_TW.po
new file mode 100644
index 0000000..463e6b0
--- /dev/null
+++ b/translations/desktop_files/kmousetool-desktops/zh_TW.po
@@ -0,0 +1,32 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:44+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmousetool.desktop:2
+msgid "KMouseTool"
+msgstr "K-滑鼠工具"
+
+#. GenericName
+#: kmousetool.desktop:4
+msgid "Automatic Mouse Click"
+msgstr "自動滑鼠點擊"
+
+#. Comment
+#: kmousetool.desktop:6
+msgid "Clicks the mouse for you, reducing the effects of RSI"
+msgstr "為您點擊滑鼠, 減少重複施緊傷害(RSI)的影響"
diff --git a/translations/desktop_files/kmouth-desktops/ar.po b/translations/desktop_files/kmouth-desktops/ar.po
new file mode 100644
index 0000000..600bdad
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ar.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "برنامج KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "واجهة النَظام الصَوتي"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "ألمانية"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "إنجليزية"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "سويدية"
diff --git a/translations/desktop_files/kmouth-desktops/bg.po b/translations/desktop_files/kmouth-desktops/bg.po
new file mode 100644
index 0000000..995dee2
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/bg.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Синтезатор на глас"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Немски"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Английски"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Холандски"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведски"
diff --git a/translations/desktop_files/kmouth-desktops/br.po b/translations/desktop_files/kmouth-desktops/br.po
new file mode 100644
index 0000000..7db71a1
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/br.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alamaneg"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Saozneg"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nederlandeg"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svedeg"
diff --git a/translations/desktop_files/kmouth-desktops/bs.po b/translations/desktop_files/kmouth-desktops/bs.po
new file mode 100644
index 0000000..726bce2
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/bs.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Program za sintezu govora"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Njemački"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engleski"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandski"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Švedski"
diff --git a/translations/desktop_files/kmouth-desktops/ca.po b/translations/desktop_files/kmouth-desktops/ca.po
new file mode 100644
index 0000000..8dd92ae
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ca.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interfície per al sintetitzador de veu"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemany"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Anglès"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandès"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Suec"
diff --git a/translations/desktop_files/kmouth-desktops/cs.po b/translations/desktop_files/kmouth-desktops/cs.po
new file mode 100644
index 0000000..18253a0
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/cs.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Rozhraní hlasového syntetizátoru"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Německy"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Anglicky"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandsky"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Švédsky"
diff --git a/translations/desktop_files/kmouth-desktops/cy.po b/translations/desktop_files/kmouth-desktops/cy.po
new file mode 100644
index 0000000..21e84a5
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/cy.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KCeg"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Blaen-wyneb Syntheseisydd Lleferydd"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Almaeneg"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Saesneg"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Iseldireg"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Swedeg"
diff --git a/translations/desktop_files/kmouth-desktops/da.po b/translations/desktop_files/kmouth-desktops/da.po
new file mode 100644
index 0000000..b70db64
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/da.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Forende til tale-synthesizer"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Tysk"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engelsk"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Hollandsk"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svensk"
diff --git a/translations/desktop_files/kmouth-desktops/de.po b/translations/desktop_files/kmouth-desktops/de.po
new file mode 100644
index 0000000..b61741f
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/de.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Oberfläche für Sprachsynthesizer"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Deutsch"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Englisch"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Niederländisch"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Schwedisch"
diff --git a/translations/desktop_files/kmouth-desktops/el.po b/translations/desktop_files/kmouth-desktops/el.po
new file mode 100644
index 0000000..0cfb9a1
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/el.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Συνθέτης ομιλίας"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Γερμανικά"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Αγγλικά"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Σουηδικά"
diff --git a/translations/desktop_files/kmouth-desktops/en_GB.po b/translations/desktop_files/kmouth-desktops/en_GB.po
new file mode 100644
index 0000000..5871fd5
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/en_GB.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: en_GB\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Speech Synthesiser Frontend"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr ""
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr ""
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr ""
diff --git a/translations/desktop_files/kmouth-desktops/eo.po b/translations/desktop_files/kmouth-desktops/eo.po
new file mode 100644
index 0000000..1137045
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/eo.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eo\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KBuŝo"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Fasado Por Parolsintezilo"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Germana"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Angla"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sveda"
diff --git a/translations/desktop_files/kmouth-desktops/es.po b/translations/desktop_files/kmouth-desktops/es.po
new file mode 100644
index 0000000..47079a9
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/es.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interfaz de usuario para síntesis de voz"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemán"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglés"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Danés"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sueco"
diff --git a/translations/desktop_files/kmouth-desktops/et.po b/translations/desktop_files/kmouth-desktops/et.po
new file mode 100644
index 0000000..bc421d1
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/et.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Kõnesüntesaator"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Saksa"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglise"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Hollandi"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Rootsi"
diff --git a/translations/desktop_files/kmouth-desktops/eu.po b/translations/desktop_files/kmouth-desktops/eu.po
new file mode 100644
index 0000000..173dfdb
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/eu.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Hizkera-sintetizadorearen interfazea"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemaniera"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Ingelesa"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nederlandera"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Suediera"
diff --git a/translations/desktop_files/kmouth-desktops/fa.po b/translations/desktop_files/kmouth-desktops/fa.po
new file mode 100644
index 0000000..82f77aa
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/fa.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "پایانۀ ترکیب‌دهندۀ گفتار"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "آلمانی"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "انگلیسی"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "هلندی"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "سوئدی"
diff --git a/translations/desktop_files/kmouth-desktops/fi.po b/translations/desktop_files/kmouth-desktops/fi.po
new file mode 100644
index 0000000..85572a8
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/fi.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Puhesyntetisaattorin käyttöliittymä"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Saksalainen"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Englantilainen"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Tanskalainen"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Ruotsalainen"
diff --git a/translations/desktop_files/kmouth-desktops/fr.po b/translations/desktop_files/kmouth-desktops/fr.po
new file mode 100644
index 0000000..2e8252e
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/fr.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interface graphique de synthèse vocale"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Allemand"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Anglais"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Hollandais"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Suédois"
diff --git a/translations/desktop_files/kmouth-desktops/ga.po b/translations/desktop_files/kmouth-desktops/ga.po
new file mode 100644
index 0000000..1ba72cf
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ga.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Clár tosaigh an sintéiseoir cainte"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Gearmáinis"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Béarla"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Ollainnis"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sualainnis"
diff --git a/translations/desktop_files/kmouth-desktops/gl.po b/translations/desktop_files/kmouth-desktops/gl.po
new file mode 100644
index 0000000..2bf8650
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/gl.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interface para o Sintetizador de Voz"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemán"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglés"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandés"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sueco"
diff --git a/translations/desktop_files/kmouth-desktops/he.po b/translations/desktop_files/kmouth-desktops/he.po
new file mode 100644
index 0000000..754ddfd
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/he.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "גרמנית"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "אנגלית"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "דנית"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "שוודית"
diff --git a/translations/desktop_files/kmouth-desktops/hi.po b/translations/desktop_files/kmouth-desktops/hi.po
new file mode 100644
index 0000000..b0c8010
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/hi.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "के-माउथ"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "स्पीच सिंथेसाइज़र फ्रन्टएण्ड"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "जर्मनी"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "अंग्रेजी"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "स्वीडिश"
diff --git a/translations/desktop_files/kmouth-desktops/hu.po b/translations/desktop_files/kmouth-desktops/hu.po
new file mode 100644
index 0000000..35f06da
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/hu.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Beszédszintetizátor"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Német"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Angol"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holland"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svéd"
diff --git a/translations/desktop_files/kmouth-desktops/is.po b/translations/desktop_files/kmouth-desktops/is.po
new file mode 100644
index 0000000..3044a04
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/is.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMunnur"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Viðmót á talgerfilinn"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Þýska"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Enska"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Hollenska"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sænska"
diff --git a/translations/desktop_files/kmouth-desktops/it.po b/translations/desktop_files/kmouth-desktops/it.po
new file mode 100644
index 0000000..d9a78ef
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/it.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: 2021-05-30 11:07+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmouth-desktop-files/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6.2\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interfaccia grafica per il sintetizzatore vocale"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Tedesco"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglese"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Olandese"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svedese"
diff --git a/translations/desktop_files/kmouth-desktops/ja.po b/translations/desktop_files/kmouth-desktops/ja.po
new file mode 100644
index 0000000..0a06147
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ja.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "スピーチシンセサイザフロントエンド"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "ドイツ語"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "英語"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "オランダ語"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "スウェーデン語"
diff --git a/translations/desktop_files/kmouth-desktops/ka.po b/translations/desktop_files/kmouth-desktops/ka.po
new file mode 100644
index 0000000..bd09c94
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ka.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "საუბრის სინქრონიზაციის ინტერფეისი"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "გერმანული"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "ინგლისური"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "ჰოლანდიური"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "შვედური"
diff --git a/translations/desktop_files/kmouth-desktops/km.po b/translations/desktop_files/kmouth-desktops/km.po
new file mode 100644
index 0000000..e15c91b
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/km.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "ផ្នែក​ខាង​មុខ​កម្មវិធី​សង្គ្រោះ​ការ​និយាយ"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "អាល្លឺម៉ង់"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "អង់គ្លេស​"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "ហុល្លង់​"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "ស៊ុយអែដ"
diff --git a/translations/desktop_files/kmouth-desktops/kmouth-desktops.pot b/translations/desktop_files/kmouth-desktops/kmouth-desktops.pot
new file mode 100644
index 0000000..fb572f2
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/kmouth-desktops.pot
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr ""
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr ""
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr ""
diff --git a/translations/desktop_files/kmouth-desktops/lt.po b/translations/desktop_files/kmouth-desktops/lt.po
new file mode 100644
index 0000000..ff97f55
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/lt.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Kalbos sintezatoriaus naudotojo sąsaja"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Vokiečių"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Anglų"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Olandų"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Švedų"
diff --git a/translations/desktop_files/kmouth-desktops/mk.po b/translations/desktop_files/kmouth-desktops/mk.po
new file mode 100644
index 0000000..155c6de
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/mk.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Преден крај на синтисајзерот за говор"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Германски"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Англиски"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Холандски"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведски"
diff --git a/translations/desktop_files/kmouth-desktops/ms.po b/translations/desktop_files/kmouth-desktops/ms.po
new file mode 100644
index 0000000..821bb8b
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ms.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Antaramuka Pensintesis Pertuturan"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Jerman"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inggeris"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Belanda"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sweden"
diff --git a/translations/desktop_files/kmouth-desktops/mt.po b/translations/desktop_files/kmouth-desktops/mt.po
new file mode 100644
index 0000000..de43347
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/mt.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Programm Għall-Ħolqien ta' Diskors Artifiċjali"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Ġermaniż"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Ingliż"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svediż"
diff --git a/translations/desktop_files/kmouth-desktops/nb.po b/translations/desktop_files/kmouth-desktops/nb.po
new file mode 100644
index 0000000..aed0a28
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/nb.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Brukerflate for talesystem"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Tysk"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engelsk"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nederlandsk"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svensk"
diff --git a/translations/desktop_files/kmouth-desktops/nds.po b/translations/desktop_files/kmouth-desktops/nds.po
new file mode 100644
index 0000000..a7abe55
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/nds.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Böversiet för de Blicksnuut"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Hoochdüütsch"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engelsch"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nedderlannsch"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sweedsch"
diff --git a/translations/desktop_files/kmouth-desktops/ne.po b/translations/desktop_files/kmouth-desktops/ne.po
new file mode 100644
index 0000000..03ca396
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ne.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "केडीई माउथ"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "संवाद सिन्थेसाइजर फ्रन्टइन्ड"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "जर्मनी"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "अंग्रेजी"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "डच"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "स्वीडिस"
diff --git a/translations/desktop_files/kmouth-desktops/nl.po b/translations/desktop_files/kmouth-desktops/nl.po
new file mode 100644
index 0000000..d33940d
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/nl.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Spraaksynthesizer"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Duits"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engels"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nederlands"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Zweeds"
diff --git a/translations/desktop_files/kmouth-desktops/nn.po b/translations/desktop_files/kmouth-desktops/nn.po
new file mode 100644
index 0000000..25442d6
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/nn.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Grensesnitt for talesyntese"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Tysk"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engelsk"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svensk"
diff --git a/translations/desktop_files/kmouth-desktops/pa.po b/translations/desktop_files/kmouth-desktops/pa.po
new file mode 100644
index 0000000..8b4f047
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/pa.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "ਕੇ-ਮੂੰਹ"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ ਮੁੱਖ"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "ਜਰਮਨ"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "ਅੰਗਰੇਜ਼ੀ"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "ਡੱਚ"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "ਸਵੀਡਨੀ"
diff --git a/translations/desktop_files/kmouth-desktops/pl.po b/translations/desktop_files/kmouth-desktops/pl.po
new file mode 100644
index 0000000..272f597
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/pl.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Program obsługujący syntezator mowy"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Niemiecka"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Angielska"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holenderska"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Szwedzka"
diff --git a/translations/desktop_files/kmouth-desktops/pt.po b/translations/desktop_files/kmouth-desktops/pt.po
new file mode 100644
index 0000000..31ea2d1
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/pt.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: 2021-11-26 19:59+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmouth-desktop-files/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Sintetizador de Fala"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemão"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglês"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandês"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Sueco"
diff --git a/translations/desktop_files/kmouth-desktops/pt_BR.po b/translations/desktop_files/kmouth-desktops/pt_BR.po
new file mode 100644
index 0000000..0648d48
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/pt_BR.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: 2021-12-18 00:00+0000\n"
+"Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
+"weblate/projects/tdeaccessibility/kmouth-desktop-files/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interface do Sintetizador de Fala"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Alemão"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglês"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandês"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Suíço"
diff --git a/translations/desktop_files/kmouth-desktops/ro.po b/translations/desktop_files/kmouth-desktops/ro.po
new file mode 100644
index 0000000..9ec828b
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ro.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "Vorbitor"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interfaţă pentru sinteză vocală"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Germană"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engleză"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Suedeză"
diff --git a/translations/desktop_files/kmouth-desktops/ru.po b/translations/desktop_files/kmouth-desktops/ru.po
new file mode 100644
index 0000000..28631dc
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ru.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Alexander Golubev <fatzer2@gmail.com>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: 2022-02-15 02:00+0000\n"
+"Last-Translator: Alexander Golubev <fatzer2@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmouth-desktop-files/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Интерфейс к синтезаторам речи"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Немецкий"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Английский"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Голландский"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведский"
diff --git a/translations/desktop_files/kmouth-desktops/rw.po b/translations/desktop_files/kmouth-desktops/rw.po
new file mode 100644
index 0000000..fb99814
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/rw.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: rw\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Ikidage"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Icyongereza"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Ikinyaholande"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Ikinyasuwede"
diff --git a/translations/desktop_files/kmouth-desktops/sk.po b/translations/desktop_files/kmouth-desktops/sk.po
new file mode 100644
index 0000000..a40e2b6
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/sk.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Rozhranie pre syntetizátor reči"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "nemčina"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "angličtina"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "holandčina"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "švédčina"
diff --git a/translations/desktop_files/kmouth-desktops/sl.po b/translations/desktop_files/kmouth-desktops/sl.po
new file mode 100644
index 0000000..7404214
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/sl.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Vmesnik za sintezo govora"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "nemško"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "angleško"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Nizozemsko"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "švedsko"
diff --git a/translations/desktop_files/kmouth-desktops/sr.po b/translations/desktop_files/kmouth-desktops/sr.po
new file mode 100644
index 0000000..e28c2c7
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/sr.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Интерфејс за синтетизатор говора"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Немачки"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Енглески"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Холандски"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведски"
diff --git a/translations/desktop_files/kmouth-desktops/sr@Latn.po b/translations/desktop_files/kmouth-desktops/sr@Latn.po
new file mode 100644
index 0000000..1e73323
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/sr@Latn.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Interfejs za sintetizator govora"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Nemački"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engleski"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holandski"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Švedski"
diff --git a/translations/desktop_files/kmouth-desktops/sv.po b/translations/desktop_files/kmouth-desktops/sv.po
new file mode 100644
index 0000000..954dd13
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/sv.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "Kmouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Gränssnitt för talsyntes"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Tyska"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Engelska"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Holländska"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Svenska"
diff --git a/translations/desktop_files/kmouth-desktops/ta.po b/translations/desktop_files/kmouth-desktops/ta.po
new file mode 100644
index 0000000..5e3373f
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/ta.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "K வாய்"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "ஜெர்மன்"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "ஆங்கிலம்"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "ஸ்வீடிஷ்"
diff --git a/translations/desktop_files/kmouth-desktops/tg.po b/translations/desktop_files/kmouth-desktops/tg.po
new file mode 100644
index 0000000..6d95969
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/tg.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KДаҳон"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Сухани Синтезатори Пешбуда"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Немисӣ"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Англисӣ"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Немисӣ"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведӣ"
diff --git a/translations/desktop_files/kmouth-desktops/th.po b/translations/desktop_files/kmouth-desktops/th.po
new file mode 100644
index 0000000..ba2e92b
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/th.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "ฟร้อนต์เอนด์สำหรับเครื่องสังเคราะห์คำพูด"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "เยอรมัน"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "อังกฤษ"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "สวีเดน"
diff --git a/translations/desktop_files/kmouth-desktops/tr.po b/translations/desktop_files/kmouth-desktops/tr.po
new file mode 100644
index 0000000..8f1036e
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/tr.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "Kmouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Konuşma Sentezleyici Arayüzü"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Almanca"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "İngilizce"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Flemenkçe"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "İsveççe"
diff --git a/translations/desktop_files/kmouth-desktops/uk.po b/translations/desktop_files/kmouth-desktops/uk.po
new file mode 100644
index 0000000..4d6e206
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/uk.po
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Roman Savochenko <roman@oscada.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: 2021-10-06 16:30+0000\n"
+"Last-Translator: Roman Savochenko <roman@oscada.org>\n"
+"Language-Team: Ukrainian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kmouth-desktop-files/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.8.1\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "KMouth"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Графічний інтерфейс синтезатора мовлення"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Німецька"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Англійська"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Голландська"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведська"
diff --git a/translations/desktop_files/kmouth-desktops/uz.po b/translations/desktop_files/kmouth-desktops/uz.po
new file mode 100644
index 0000000..fbca96e
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/uz.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Nemischa"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Inglizcha"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Shvedcha"
diff --git a/translations/desktop_files/kmouth-desktops/uz@cyrillic.po b/translations/desktop_files/kmouth-desktops/uz@cyrillic.po
new file mode 100644
index 0000000..e4fef60
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/uz@cyrillic.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: uz@cyrillic\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr ""
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Немисча"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Инглизча"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr ""
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Шведча"
diff --git a/translations/desktop_files/kmouth-desktops/vi.po b/translations/desktop_files/kmouth-desktops/vi.po
new file mode 100644
index 0000000..effd7cc
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/vi.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "Mồm K"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "Giao diện Tổng hợp Giọng nói"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "Đức"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "Anh"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "Hà Lan"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "Thuỵ Điển"
diff --git a/translations/desktop_files/kmouth-desktops/zh_CN.po b/translations/desktop_files/kmouth-desktops/zh_CN.po
new file mode 100644
index 0000000..5ad4425
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/zh_CN.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr "K 语音精灵"
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "语音合成器前端"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "德语"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "英语"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "荷兰语"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "瑞典语"
diff --git a/translations/desktop_files/kmouth-desktops/zh_TW.po b/translations/desktop_files/kmouth-desktops/zh_TW.po
new file mode 100644
index 0000000..ce06327
--- /dev/null
+++ b/translations/desktop_files/kmouth-desktops/zh_TW.po
@@ -0,0 +1,47 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:53+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: kmouth.desktop:2
+msgid "KMouth"
+msgstr ""
+
+#. GenericName
+#: kmouth.desktop:4
+msgid "Speech Synthesizer Frontend"
+msgstr "語音合成器前端"
+
+#. Name
+#: books/de.desktop:2
+msgid "German"
+msgstr "德語"
+
+#. Name
+#: books/en.desktop:2
+msgid "English"
+msgstr "英語"
+
+#. Name
+#: books/nl.desktop:2
+msgid "Dutch"
+msgstr "荷蘭語"
+
+#. Name
+#: books/sv.desktop:2
+msgid "Swedish"
+msgstr "瑞典語"
diff --git a/translations/desktop_files/ksayit-desktops/bg.po b/translations/desktop_files/ksayit-desktops/bg.po
new file mode 100644
index 0000000..95cdb05
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/bg.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Синтез на глас"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Приставка Freeverb за KTTSD"
diff --git a/translations/desktop_files/ksayit-desktops/br.po b/translations/desktop_files/ksayit-desktops/br.po
new file mode 100644
index 0000000..d2b0f16
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/br.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr ""
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Lugent Freeverb evit KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/bs.po b/translations/desktop_files/ksayit-desktops/bs.po
new file mode 100644
index 0000000..600a394
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/bs.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Program za izgovaranje teksta"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/ca.po b/translations/desktop_files/ksayit-desktops/ca.po
new file mode 100644
index 0000000..5ff78c9
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ca.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Frontal per text a veu"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Un connector de Freeverb pel KSayit"
diff --git a/translations/desktop_files/ksayit-desktops/cs.po b/translations/desktop_files/ksayit-desktops/cs.po
new file mode 100644
index 0000000..a08681b
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/cs.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Rozhraní hlasové syntézy"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb modul pro KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/da.po b/translations/desktop_files/ksayit-desktops/da.po
new file mode 100644
index 0000000..4f24a2e
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/da.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Forende for tekst-til-tale"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Et Freeverb plugin for KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/de.po b/translations/desktop_files/ksayit-desktops/de.po
new file mode 100644
index 0000000..ba86d2b
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/de.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Oberfläche für die Sprachausgabe"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Ein Freeverb-Modul für KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/el.po b/translations/desktop_files/ksayit-desktops/el.po
new file mode 100644
index 0000000..6dbc242
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/el.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Μετατροπή κειμένου σε ομιλία"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Ένα πρόσθετο Freeverb για το KTTSD"
diff --git a/translations/desktop_files/ksayit-desktops/es.po b/translations/desktop_files/ksayit-desktops/es.po
new file mode 100644
index 0000000..7dedecd
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/es.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interfaz de administración del sistema de texto a voz de TDE"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Complemento Freeverb para KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/et.po b/translations/desktop_files/ksayit-desktops/et.po
new file mode 100644
index 0000000..0577b69
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/et.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Teksti kõneks muutmine"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt'i Freeverbi plugin"
diff --git a/translations/desktop_files/ksayit-desktops/eu.po b/translations/desktop_files/ksayit-desktops/eu.po
new file mode 100644
index 0000000..c93be0a
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/eu.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Testutik hizketarako interfazea"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt-en Freeverb plugina"
diff --git a/translations/desktop_files/ksayit-desktops/fa.po b/translations/desktop_files/ksayit-desktops/fa.po
new file mode 100644
index 0000000..3ea0eeb
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/fa.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "پایانۀ متن به گفتار"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "وصلۀ Freever برای KSaylt"
diff --git a/translations/desktop_files/ksayit-desktops/fi.po b/translations/desktop_files/ksayit-desktops/fi.po
new file mode 100644
index 0000000..48aab15
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/fi.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Teksti puheeksi käyttöliittymä"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb-liitännäinen KSayIt--ohjelmalle"
diff --git a/translations/desktop_files/ksayit-desktops/fr.po b/translations/desktop_files/ksayit-desktops/fr.po
new file mode 100644
index 0000000..64d2b99
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/fr.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interface pour la synthèse vocale"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Un module Freeverb pour KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/ga.po b/translations/desktop_files/ksayit-desktops/ga.po
new file mode 100644
index 0000000..2b0e049
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ga.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Comhéadan Téacs-go-Caint"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Breiseán Freeverb le haghaidh KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/gl.po b/translations/desktop_files/ksayit-desktops/gl.po
new file mode 100644
index 0000000..05e90d1
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/gl.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interface de Texto-para-Fala"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Un Plugin de Freeverb para KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/he.po b/translations/desktop_files/ksayit-desktops/he.po
new file mode 100644
index 0000000..0537821
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/he.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr ""
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "תוסף Freeverb עבור KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/hi.po b/translations/desktop_files/ksayit-desktops/hi.po
new file mode 100644
index 0000000..679aeae
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/hi.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "के-से-इट"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr ""
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/hu.po b/translations/desktop_files/ksayit-desktops/hu.po
new file mode 100644
index 0000000..07432a0
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/hu.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Szövegfelolvasó"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb modul a KSayIt programhoz"
diff --git a/translations/desktop_files/ksayit-desktops/is.po b/translations/desktop_files/ksayit-desktops/is.po
new file mode 100644
index 0000000..bb5a097
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/is.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Texti-í-tal myndrænt viðmót"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb íforrit fyrir KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/it.po b/translations/desktop_files/ksayit-desktops/it.po
new file mode 100644
index 0000000..2d4897e
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/it.po
@@ -0,0 +1,39 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: 2021-05-30 11:07+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/ksayit-desktop-files/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6.2\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interfaccia di pronuncia"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Freeverb"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Un plugin per Freeverb per KTTSD"
diff --git a/translations/desktop_files/ksayit-desktops/ja.po b/translations/desktop_files/ksayit-desktops/ja.po
new file mode 100644
index 0000000..7bd04be
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ja.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "テキスト読み上げフロントエンド"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt 用 Freeverb プラグイン"
diff --git a/translations/desktop_files/ksayit-desktops/ka.po b/translations/desktop_files/ksayit-desktops/ka.po
new file mode 100644
index 0000000..82f2cb4
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ka.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "ტექსტი-გახმოვანების ინტერფეისი"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt Freeverb მოდული"
diff --git a/translations/desktop_files/ksayit-desktops/km.po b/translations/desktop_files/ksayit-desktops/km.po
new file mode 100644
index 0000000..764da22
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/km.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "ផ្នែក​ខាង​មុខ​អត្ថបទ​ដែល​ត្រូវ​និយាយ"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "កម្មវិធី​ជំនួយ Freeverb សម្រាប់ KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/ksayit-desktops.pot b/translations/desktop_files/ksayit-desktops/ksayit-desktops.pot
new file mode 100644
index 0000000..0cfda23
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ksayit-desktops.pot
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr ""
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/lt.po b/translations/desktop_files/ksayit-desktops/lt.po
new file mode 100644
index 0000000..8fe5ffb
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/lt.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Teksto vertimo kalba naudotojo sąsaja"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb priedas skirtas KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/mk.po b/translations/desktop_files/ksayit-desktops/mk.po
new file mode 100644
index 0000000..a6c47f4
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/mk.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSaylt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Преден дел за текст-во-говор"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb-приклучок за Ksaylt"
diff --git a/translations/desktop_files/ksayit-desktops/ms.po b/translations/desktop_files/ksayit-desktops/ms.po
new file mode 100644
index 0000000..b5f03a0
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ms.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Antaramuka Teks-ke-Tutur"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/mt.po b/translations/desktop_files/ksayit-desktops/mt.po
new file mode 100644
index 0000000..269b65d
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/mt.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Programm għal Test-għal-Vuċi"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/nb.po b/translations/desktop_files/ksayit-desktops/nb.po
new file mode 100644
index 0000000..a297d74
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/nb.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Brukerflate for tekst til tale"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Et Freeverb programtillegg for KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/nds.po b/translations/desktop_files/ksayit-desktops/nds.po
new file mode 100644
index 0000000..c8d335b
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/nds.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Böversiet för den Vörleser"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "En Freeverb-Moduul för KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/ne.po b/translations/desktop_files/ksayit-desktops/ne.po
new file mode 100644
index 0000000..4fbbeea
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ne.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "के से इट"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "पाठ वाचक फ्रन्टइन्ड"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "फ्रीभर्व"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "के से इटका लागि एउटा फ्रिभर्व प्लगइन"
diff --git a/translations/desktop_files/ksayit-desktops/nl.po b/translations/desktop_files/ksayit-desktops/nl.po
new file mode 100644
index 0000000..df3788c
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/nl.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Tekst-tot-spraak-schil"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Een Freeverb-plugin vor KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/pa.po b/translations/desktop_files/ksayit-desktops/pa.po
new file mode 100644
index 0000000..afceb38
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/pa.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੁੱਖ"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt ਲਈ ਮੁਕਤ-ਵਰਬ ਪਲੱਗਿੰਨ"
diff --git a/translations/desktop_files/ksayit-desktops/pl.po b/translations/desktop_files/ksayit-desktops/pl.po
new file mode 100644
index 0000000..8712392
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/pl.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Program obsługujący syntezator mowy"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Wtyczka Freeverb dla KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/pt.po b/translations/desktop_files/ksayit-desktops/pt.po
new file mode 100644
index 0000000..e8eb0dd
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/pt.po
@@ -0,0 +1,39 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: 2021-11-25 19:00+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/ksayit-desktop-files/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interface de Texto para Fala"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Freeverb"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "'Plugin' de Reverberação para o KTTSD"
diff --git a/translations/desktop_files/ksayit-desktops/pt_BR.po b/translations/desktop_files/ksayit-desktops/pt_BR.po
new file mode 100644
index 0000000..d8f910c
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/pt_BR.po
@@ -0,0 +1,39 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: 2021-12-18 00:00+0000\n"
+"Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
+"weblate/projects/tdeaccessibility/ksayit-desktop-files/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interface para a Conversão de Texto para Fala"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Freeverb"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Plug-in do Freeverb para o KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/ru.po b/translations/desktop_files/ksayit-desktops/ru.po
new file mode 100644
index 0000000..2ddfbb2
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ru.po
@@ -0,0 +1,40 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Alexander Golubev <fatzer2@gmail.com>, 2022.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: 2022-02-15 02:00+0000\n"
+"Last-Translator: Alexander Golubev <fatzer2@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/ksayit-desktop-files/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.10.1\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Интерфейс к средствам синтеза речи"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Freeverb"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Модуль Freeverb для KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/sk.po b/translations/desktop_files/ksayit-desktops/sk.po
new file mode 100644
index 0000000..2dd17b0
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/sk.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "PovedzTo"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Rozhranie text-na-reč"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Modul Freeverb pre PovedzTo"
diff --git a/translations/desktop_files/ksayit-desktops/sl.po b/translations/desktop_files/ksayit-desktops/sl.po
new file mode 100644
index 0000000..1160e90
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/sl.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Vmesnik »besedila v govor«"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Vstavek Freeverb za KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/sr.po b/translations/desktop_files/ksayit-desktops/sr.po
new file mode 100644
index 0000000..919e247
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/sr.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Интерфејс за текст-у-говор"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb прикључак за KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/sr@Latn.po b/translations/desktop_files/ksayit-desktops/sr@Latn.po
new file mode 100644
index 0000000..6bab6a6
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/sr@Latn.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Interfejs za tekst-u-govor"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb priključak za KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/sv.po b/translations/desktop_files/ksayit-desktops/sv.po
new file mode 100644
index 0000000..779855e
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/sv.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "Ksayit"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Text-till-tal gränssnitt"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Freeverb-insticksprogram för Ksayit"
diff --git a/translations/desktop_files/ksayit-desktops/ta.po b/translations/desktop_files/ksayit-desktops/ta.po
new file mode 100644
index 0000000..92c050a
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/ta.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "பேச்சில் இருந்து உரை முன்னணி"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/tg.po b/translations/desktop_files/ksayit-desktops/tg.po
new file mode 100644
index 0000000..3e50d2a
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/tg.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Интерфейс барои таҳлили овоз"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Модули Freeverb барои KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/th.po b/translations/desktop_files/ksayit-desktops/th.po
new file mode 100644
index 0000000..9721a76
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/th.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "ฟร้อนเอนด์แปลงข้อความเป็นคำพูด"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr ""
diff --git a/translations/desktop_files/ksayit-desktops/tr.po b/translations/desktop_files/ksayit-desktops/tr.po
new file mode 100644
index 0000000..9e83a1c
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/tr.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "Ksayit"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Metinden Konuşmaya Önyüzü"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Ksayit için Freeverb Eklentisi"
diff --git a/translations/desktop_files/ksayit-desktops/uk.po b/translations/desktop_files/ksayit-desktops/uk.po
new file mode 100644
index 0000000..cb3c496
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/uk.po
@@ -0,0 +1,40 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Roman Savochenko <roman@oscada.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: 2021-10-06 16:30+0000\n"
+"Last-Translator: Roman Savochenko <roman@oscada.org>\n"
+"Language-Team: Ukrainian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/ksayit-desktop-files/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.8.1\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "KSayIt"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Інтерфейс синтезу мовлення з тексту"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Freeverb"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Втулок Freeverb для KSayIt"
diff --git a/translations/desktop_files/ksayit-desktops/vi.po b/translations/desktop_files/ksayit-desktops/vi.po
new file mode 100644
index 0000000..72cdb24
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/vi.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr "Nói K"
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "Giao diện chuyển Văn bản thành Tiếng nói"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr "Động từ tự do"
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "Trình bổ sung \"Động từ tự do\" cho \"Nói K\""
diff --git a/translations/desktop_files/ksayit-desktops/zh_CN.po b/translations/desktop_files/ksayit-desktops/zh_CN.po
new file mode 100644
index 0000000..f21d479
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/zh_CN.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "文本到语音前端"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt 的 Freeverb 插件"
diff --git a/translations/desktop_files/ksayit-desktops/zh_TW.po b/translations/desktop_files/ksayit-desktops/zh_TW.po
new file mode 100644
index 0000000..d1c2b4f
--- /dev/null
+++ b/translations/desktop_files/ksayit-desktops/zh_TW.po
@@ -0,0 +1,38 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:46+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: src/ksayit.desktop:2
+msgid "KSayIt"
+msgstr ""
+
+#. GenericName
+#: src/ksayit.desktop:4
+msgid "Text-to-Speech Frontend"
+msgstr "文字轉語音前端程式"
+
+#. Name
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:2
+msgid "Freeverb"
+msgstr ""
+
+#. Comment
+#: Freeverb_plugin/ksayit_libFreeverb.desktop:4
+#: Freeverb_plugin/ksayit_libFreeverb_service.desktop:2
+msgid "A Freeverb Plugin for KSayIt"
+msgstr "KSayIt 的 Freeverb 外掛程式"
diff --git a/translations/desktop_files/kttsd-desktops/bg.po b/translations/desktop_files/kttsd-desktops/bg.po
new file mode 100644
index 0000000..88a3277
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/bg.po
@@ -0,0 +1,239 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Приставка KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Добавяне на операция в менюто за изговаряне на текст"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Детектор на изречения"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Приставка филтър за определяне границите на изречението"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Замяна на низове"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Приставка филтър за замяна на низове за KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Избор на глас"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Приставка за избор на глас за KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Трансформиране на XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Приставка филтър за трансформиране на XML за KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Синтез на глас"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Модул за синтез на глас"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"синтез; глас; говор; текст; kttsd; kcmkttsmgr; kttsmgr; tts; ttsd; ktts; "
+"text; to; speech; speak; synthesizer; synth; festival; command; freetts; "
+"proklam; via; voice;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Системата за синтез на глас изглежда, че функционира нормално."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Демон за управление на модула за синтез на глас"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Мениджър на задачите за синтез на глас"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Синтез на глас"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Мениджър на синтезатора на глас"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+#, fuzzy
+msgid "KTTSD aKode Plugin"
+msgstr "Аудио приставка на KTTSD за aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Аудио приставка на KTTSD за aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+#, fuzzy
+msgid "KTTSD ALSA Plugin"
+msgstr "Аудио приставка на KTTSD за ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Аудио приставка на KTTSD за ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+#, fuzzy
+msgid "KTTSD Arts Plugin"
+msgstr "Аудио приставка на KTTSD за aRts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Аудио приставка на KTTSD за aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+#, fuzzy
+msgid "KTTSD GStreamer Plugin"
+msgstr "Аудио приставка на KTTSD за GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Аудио приставка на KTTSD за GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Аудио приставка на KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Общ синтезатор на глас от командния ред"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+#, fuzzy
+msgid "Epos TTS Synthesis System"
+msgstr "Синтезатор на глас Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Синтезатор на глас Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Синтезатор на глас Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Синтезатор на глас Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Олекотен синтезатор на глас Festival Lite"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Олекотен синтезатор на глас Festival Lite"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Синтезатор на глас FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Синтезатор на глас за немски език Hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/br.po b/translations/desktop_files/kttsd-desktops/br.po
new file mode 100644
index 0000000..840b6e7
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/br.po
@@ -0,0 +1,231 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: br\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Lugent KTTSD KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr ""
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr ""
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr ""
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;skrid;da;prezegenn;komz;synthesizer;"
+"synth;festival;urzhiad;freetts;proklam;via;mouezh;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr ""
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr ""
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Lugent aKode evit KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Lugent klevet aKode evit KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Lugent ALSA evit KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Lugent klevet ALSA evit KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Lugent Arts evit KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Lugent klevet Arts evit KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Lugent KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Lugent klevet GStreamer evit KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Lugent klevet evit KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Urzhiad"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/bs.po b/translations/desktop_files/kttsd-desktops/bs.po
new file mode 100644
index 0000000..b525a88
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/bs.po
@@ -0,0 +1,238 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: bs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD dodatak"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Dodaje stavku u meniju za čitanje teksta"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML transformacije"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Izgovaranje teksta"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Kontrolni modul za izgovaranje teksta"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;čitanje;izgovaranje;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE Demon za izgovaranje teksta"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+#, fuzzy
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE Demon za izgovaranje teksta"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+#, fuzzy
+msgid "Text-to-Speech Manager"
+msgstr "Izgovaranje teksta"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+#, fuzzy
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE Demon za izgovaranje teksta"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode dodatak"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode dodatak"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA dodatak"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA audio dodatak"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts dodatak"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD ALSA audio dodatak"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer dodatak"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+#, fuzzy
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer dodatak"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Naredba"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generalna sinteza govora sa komandne linije"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+#, fuzzy
+msgid "FreeTTS speech synthesizer"
+msgstr "Generalna sinteza govora sa komandne linije"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/ca.po b/translations/desktop_files/kttsd-desktops/ca.po
new file mode 100644
index 0000000..02a386a
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ca.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Connector pel KTTSD del KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Afegeix una entrada de menú per pronunciar el text"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detector de límit de frase"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Connector del filtre detector de límit de frase pel KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Reemplaçador de cadenes"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Connector del filtre reemplaçador genèric de cadenes pel KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Selector de parla"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Connector del filtre selector genèric de parla pel KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformador XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Connector del filtre genèric del transformador XML pel KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Text a veu"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Mòdul de control de text a veu"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;a;veu;parla;sintetitzador;"
+"síntesi;festival;ordre;freetts;proklam;via;veu;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "El sistema de text a veu sembla que funciona correctament."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Dimoni de text a veu de TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Gestor de treballs de text a veu de TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Gestor de text a veu"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Gestor de text a veu de TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Connector aKode pel KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Connector d'àudio aKode pel KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Connector ALSA pel KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Connector d'àudio ALSA pel KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Connector Arts pel KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Connector d'àudio aRts pel KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Connector GStreamer pel KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Connector d'àudio GStreamer pel KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Connector d'àudio pel KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Odre"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintetitzador de veu genèric de línia d'ordres"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema de síntesi Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetitzador de veu Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Sintetitzador de veu Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintetitzador de veu Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintetitzador de veu Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetitzador de veu Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetitzador de veu FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema de text a veu alemany hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/cs.po b/translations/desktop_files/kttsd-desktops/cs.po
new file mode 100644
index 0000000..6f0a641
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/cs.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD modul"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Vložení nabídky pro předčítání textu"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Zjištění vět"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Modul filtru zjišťování vět KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Nahrazení řetězce"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Modul filtru náhrady řetězce KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Výběr hlasu"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Modul filtru výběru hlasu KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML transformace"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Modul filtru obecné XML transformace KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Hlasová syntéza"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Modul ovládání hlasové syntézy"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;mluvit;syntéza;"
+"syntetizér;synth;festival;příkaz;freetts;proklam;hlasová;předčítání;čtení;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Zdá se, že systém hlasové syntézy funguje správně."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Démon hlasové syntézy TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Správce úloh zvukové syntézy TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Správce zvukové syntézy"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Správce hlasové syntézy TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode modul"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode zvukový modul"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA modul"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA zvukový modul"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts modul"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts zvukový modul"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer modul"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer zvukový modul"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Zvukový modul KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Příkaz"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Hlasový syntetizátor pro příkazovou řádku"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Hlasový syntetizér Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Hlasový syntetizér Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Hlasový syntetizér Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Hlasový syntetizér Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Hlasový syntetizér Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Hlasový syntetizér FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Německý systém hlasové syntézy hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/cy.po b/translations/desktop_files/kttsd-desktops/cy.po
new file mode 100644
index 0000000..650d1ad
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/cy.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: cy\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr ""
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr ""
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Testun-i-Leferydd"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+#, fuzzy
+msgid "Text-to-Speech Control Module"
+msgstr "Testun-i-Leferydd"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+#, fuzzy
+msgid "Text-to-Speech Manager"
+msgstr "Testun-i-Leferydd"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+#, fuzzy
+msgid "TDE Text-to-speech Manager"
+msgstr "Testun-i-Leferydd"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Gorchymyn"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/da.po b/translations/desktop_files/kttsd-desktops/da.po
new file mode 100644
index 0000000..fddeccc
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/da.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr ""
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Tilføjer et menupunkt for at læse teksten op"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Grænsedetektor for sætninger"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Grænsedetektor for sætninger, filter-plugin for KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Streng-erstatter"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Generisk strengerstatnings-filter-plugin for KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Vælger af oplæser"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Generisk vælger af oplæser for KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML Transformatør"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Generisk XML Tranformationsfilter-plugin for KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Tekst-til-tale"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Kontrolmodul for tekst-til-tale"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;til;tale;tal;synthesizer;synth;"
+"festival;kommando;freetts;proklam;via;stemme;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Tekst-til-tale systemet synes at virke rigtigt."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE's Tekst til tale-dæmon"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE's Tekst-til-tale Job-håndtering"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Tekst-til-tale håndtering"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE's Tekst-til-tale håndtering"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode-plugin"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode lyd-plugin"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA plugin"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA lyd-plugin"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD aRts-plugin"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts lyd-plugin"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer-plugin"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer lyd-plugin"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Lyd-plugin for KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Kommando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generisk tale-synthesizer fra kommandolinjen"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS Synthesis-system"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS tale-synthesizer"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Interaktiv"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival tale-synthetizer"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) tale-synthesizer"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) tale-synthesizer"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS tale-synthesizer"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Tysk hadifix tekst-til-tale system"
diff --git a/translations/desktop_files/kttsd-desktops/de.po b/translations/desktop_files/kttsd-desktops/de.po
new file mode 100644
index 0000000..81b9264
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/de.po
@@ -0,0 +1,234 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor-Modul für KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Fügt einen Menüeintrag zum Vorlesen des Textes hinzu"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Satzgrenzenerkennung"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Generisches KTTS-Modul zur Erkennung von Satzgrenzen"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Zeichenkettenersetzer"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Ein generisches Modul zur Zeichenkettenersetzung für KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Sprecherauswahl"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Generischer Sprecherauswahlfilter für KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-Umformer"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Generisches XML-Umformungs-Filtermodul für KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Sprachausgabe"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Kontrollmodul für die Sprachausgabe"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;Sprachsynthese;Vorlesen;"
+"Sprache;Sprachausgabe;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Die Sprachausgabe scheint ordnungsgemäß zu funktionieren."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE Sprachausgabedienst"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-Auftragsverwaltung für Sprachausgabe"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Sprachausgabeverwaltung"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE Verwaltung für Sprachausgabe"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode-Modul"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode-Audio-Modul"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA-Modul"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA-Audio-Modul"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts-Modul"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts Audio-Modul"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer-Modul"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer Audio-Modul"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Audio-Modul für KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Befehl"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generischer Sprachsynthesizer in der Befehlszeile"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS-Synthese-System"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS-Sprachsynthesizer"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Festival Sprachsynthesizer"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival Sprachsynthesizer"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) Sprachsynthesizer"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) Sprachsynthesizer"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS Sprachsynthesizer"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Deutsches hadifix-Sprachausgabesystem"
diff --git a/translations/desktop_files/kttsd-desktops/el.po b/translations/desktop_files/kttsd-desktops/el.po
new file mode 100644
index 0000000..1fbd824
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/el.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Πρόσθετο KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr ""
+"Προσθέτει μία καταχώρηση στο μενού για τη μετατροπή σε φωνή του κειμένου"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Ανιχνευτής ορίων πρότασης"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Φίλτρο πρόσθετο ανίχνευσης ορίων πρότασης για το KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Αντικαταστάτης συμβολοσειρών"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Γενικό φίλτρο πρόσθετο αντικατάστασης συμβολοσειρών για το KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Επιλογή εκφωνητή"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Γενικό φίλτρο πρόσθετο επιλογής εκφωνητή για το KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML μεταμορφωτής"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Γενικό φίλτρο πρόσθετο XML μεταμόρφωσης για το KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Κείμενο-σε-ομιλία"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Άρθρωμα ελέγχου κειμένου-σε-ομιλία"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;κείμενο;σε;ομιλία;εκφώνηση;"
+"synthesizer;synth;festival;εντολή;freetts;proklam;μέσω;φωνή;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Το σύστημα κειμένου-σε-ομιλία φαίνεται να λειτουργεί κανονικά."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE δαίμονας κειμένου-σε-ομιλία"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE διαχειριστής εργασιών κειμένου-σε-ομιλία"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Διαχειριστής κειμένου-σε-ομιλία"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE διαχειριστής κειμένου-σε-ομιλία"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD πρόσθετο aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD πρόσθετο ήχου aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD πρόσθετο ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD πρόσθετο ήχου ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD πρόσθετο Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD πρόσθετο ήχου aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD πρόσθετο GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD πρόσθετο ήχου GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Πρόσθετο ήχου για το KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Εντολή"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Γενικός συνθέτης ομιλίας για τη γραμμή εντολών"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Σύστημα σύνθεσης Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Συνθέτης ομιλίας Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Διαδραστικό Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Συνθέτης ομιλίας Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival ελαφρύ (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Συνθέτης ομιλίας Festival ελαφρύ (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Συνθέτης ομιλίας FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Σύστημα κειμένου-σε-ομιλία γερμανικού hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/es.po b/translations/desktop_files/kttsd-desktops/es.po
new file mode 100644
index 0000000..c48b472
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/es.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Complemento KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Añadir una entrada al menú para leer el texto"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detector de final de frase"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Complemento de filtrado que detecta el final de las frases para KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Reemplazador de cadenas"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Complemento de filtro genérico de sustituición de cadenas para KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Selector de lectores"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Complemento de audio para KTTSD"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformador XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Complemento de Audio para KTTSD"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Texto a voz"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Modulo de control del sintetizador texto a voz"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;a;voz;habla;sintetizador;"
+"festival;orden;freetts;proklam;via;voz;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "El sintetizador de texto a voz parece estar funcionando correctamente."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Demonio de TDE para la sí­ntesis de texto a voz"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Administrador de trabajos del sintetizador de texto a voz de TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Administrador de texto a voz"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Administrador de texto a voz de TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Complemento aKode de KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Complemento de audio aKode de KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Complemento ALSA de KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Complemento de audio ALSA de KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Complemento KTTSD Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Complemento de audio KTTSD aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Complemento KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Complemento de audio KTTSD GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Complemento de audio para KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Orden"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintetizador genérico de texto a voz para la línea de órdenes"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema de síntesis Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetizador de texto a voz Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Sintetizador de texto a voz Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintetizador de texto a voz Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintetizador de texto a voz Festival (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizador de texto a voz Festival (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizador de texto a voz FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sintetizador de texto a voz en alemán hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/et.po b/translations/desktop_files/kttsd-desktops/et.po
new file mode 100644
index 0000000..7cda2be
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/et.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: et\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD plugin"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Lisab menüükirje teksti kõnelemiseks"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Lausepiiri tuvastaja"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS-i lausepiiri tuvastamise filtri plugin"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Stringiasendaja"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS-i üldine stringiasendusfiltri plugin"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Kõneleja valimine"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS-i üldine kõneleja valimise filtri plugin"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-i teisendus"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS-i üldine XML-i teisenduse filtri plugin"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Tekst kõneks"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Juhtimiskeskuse teksti kõneks muutmise moodul"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;kõneks;kõne;süntesaator;"
+"festival;käsk;freetts;proklam;hääl;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Teksti kõneks muutmise süsteem paistab korralikult töötavat."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE teksti kõneks muutmise deemon"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE teksti kõneks muutmise tööde haldur"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Teksti kõneks muutmise haldur"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE teksti kõneks muutmise haldur"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode plugin"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode audioplugin"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA plugin"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA audioplugin"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Artsi plugin"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts'i audioplugin"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreameri plugin"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreameri audioplugin"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSD audioplugin"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Käsk"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Üldine käsurea-kõnesüntesaator"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Kõnesünteesisüsteem Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Kõnesüntesaator Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Kõnesüntesaator Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Kõnesüntesaator Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Kõnesüntesaator Festival lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Kõnesüntesaator Festival lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Kõnesüntesaator FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Saksa teksti kõneks muutmise süsteem Hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/eu.po b/translations/desktop_files/kttsd-desktops/eu.po
new file mode 100644
index 0000000..01c0263
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/eu.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: eu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor-en KTTSD plugina"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Testuak ahoskatzeko menuko sarrera bat gehitzen du"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Esaldien mugen detektorea"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS-ren esaldien mugen detektorearen iragazkien plugina"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Kate-ordezkatzailea"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS-ren kateak ordezkatzeko iragazki-plugin generikoa"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS-ren hizlariak hautatzeko iragazk-plugin generikoa"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS-ren XML transformazioen iragazki-plugin generikoa"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Testutik hizketara"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Testutik hizketarako modulua"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;testua; hizketa;ahoskatu;"
+"sintetizadorea;synth;festival;command; freetts;proklam;via;ahotsa;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Testutik-hizketarako sistemak ongi funtzionatzen duela dirudi."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE-ren testutik hizketarako deabrua"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-ren testutik-hizketarako lan-kudeatzailea"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Testutik hizketarako kudeatzailea"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE-ren testutik hizketarako kudeatzailea"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD-ren aKode plugina"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD-ren aKode audio-plugina"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD-ren ALSA plugina"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD-ren ALSA audio-plugina"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD-ren Arts-plugina"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD-ren aRts audio-plugina"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD-ren GStreamer plugina"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD-ren GStreamer audio-plugina"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSD-ren audio plugnka"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Komando-lerroko hizketa-sintetizadore generikoa"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS sintesi-sistema"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS hizketa-sintetizadorea"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival interaktiboa"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival hizketa-sintetizadorea"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) hizketa-sintetizadorea"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) hizketa-sintetizadorea"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS hizketa-sintetizadorea"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Alemanierazko hadifix testutik hizketarako sistema"
diff --git a/translations/desktop_files/kttsd-desktops/fa.po b/translations/desktop_files/kttsd-desktops/fa.po
new file mode 100644
index 0000000..b105493
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/fa.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "وصلۀ KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "مدخل گزینگان را برای گفتن متن اضافه می‌کند"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "آشکارساز کرانۀ جمله"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "وصلۀ پالایۀ آشکارسازی کرانۀ جمله برای KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "جایگزین‌کنندۀ رشته"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "وصلۀ پالایۀ جایگزینی رشتۀ عمومی برای KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "انتخاب‌کنندۀ گوینده"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "وصلۀ پالایۀ انتخاب‌کنندۀ گویندۀ عمومی برای KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "تبدیل‌کنندۀ XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "وصلۀ پالایۀ انتقال XML عمومی برای KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "متن به گفتار"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "پیمانۀ کنترل متن به گفتار"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd،kcmkttsmgr،kttsmgr،tts،ttsd،ktts،متن، به، گفتار، صحبت کردن دهنده، "
+"synth، Festival، فرمان، freetts،proklam، از طریق، صدا;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "به نظر می‌رسد که سیستم متن به گفتار درست عمل می‌کند."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "شبح متن به گفتار TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "مدیر کار متن به گفتار TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "مدیر متن به گفتار"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "مدیر متن به گفتار TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "وصلۀ KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "وصلۀ صوتی KTTSD aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "وصلۀ KTTSD ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "وصلۀ صوتی KTTSD ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "وصلۀ KTTSD Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "وصلۀ صوتی KTTSD aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "وصلۀ KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "وصلۀ صوتی KTTSD GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "وصلۀ صوتی برای KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "فرمان"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "ترکیب‌دهندۀ گفتار عمومی از خط فرمان"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "سیستم ترکیب‌دهی Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "ترکیب‌دهندۀ گفتار Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival تعاملی"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "ترکیب‌دهندۀ گفتار Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "ترکیب‌دهندۀ گفتار Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "ترکیب‌دهندۀ گفتار Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "ترکیب‌دهندۀ گفتار FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "سیستم متن به گفتار hadifix آلمانی"
diff --git a/translations/desktop_files/kttsd-desktops/fi.po b/translations/desktop_files/kttsd-desktops/fi.po
new file mode 100644
index 0000000..f8b3d89
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/fi.po
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD -liitännäinen"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Lisää valikkovalinnan tekstin puhumiseksi"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Lauserajojen tunnistin"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Lauserajojen tunnistussuodatin liitännäinen KTTS-ohjelmalle"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Tekstien korvaaja"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Yleinen tekstien korvaussuodatinliitännäinen KTTS-ohjelmaan"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Puhujan valitsin"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Yleinen puhujan valitsin suodatin liitännäinen KTTS-ohjelmalle"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-muunnin"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Yleinen XML-muuntimen suodatin liitännäinen KTTS-ohjelmalle"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Teksti puheeksi"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Teksti puheeksi -hallintamoduuli"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Teksti puheeksi -järjestelmä näyttää toimivan hyvin."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE Teksti puheeksi -palvelinohjelma"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE Teksti puheeksi -töidenhallintaohjelma"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Teksti puheeksi -hallintaohjelma"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE Teksti puheeksi -hallintaohjelma"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode -liitännäinen"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode ääniliitännäinen"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA -liitännäinen"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA ääniliitännäinen"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts -liitännäinen"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts ääniliitännäinen"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer-liitännäinen"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer ääniliitännäinen"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Ääniliitännäinen KTTSD-ohjelmalle"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Komento"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Yleinen komentorivipohjainen puhesyntetisaattori"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS -syntetisoijasysteemi"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS -puhesyntetisaattori"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Interaktiivinen Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival puhesyntetisaattori"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (kevytversio)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (kevytversio) puhesyntetisaattori"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS puhesyntetisaattori"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Saksalainen hadifix teksti puheeksi -systeemi"
diff --git a/translations/desktop_files/kttsd-desktops/fr.po b/translations/desktop_files/kttsd-desktops/fr.po
new file mode 100644
index 0000000..8781c07
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/fr.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Module KTTSD pour KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Ajoute une entrée dans le menu pour prononcer le texte"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Détecteur de fins de phrases"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Module de filtrage de fins de phrases pour KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Remplacement de chaînes"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Module de filtrage de remplacement de chaînes générique pour KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Sélecteur de voix"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Module de filtrage de sélection de voix pour KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformation XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Module de filtrage de transformation XML générique pour KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Synthèse vocale"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Module de configuration de la synthèse vocale"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texte;to;prononcer;énoncer;"
+"synthétiseur;synth;festival;command;freetts;proklam;via;voix;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Le système de synthèse vocale semble fonctionner correctement."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Démon de synthèse vocale pour TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Gestionnaire de tâches de synthèse vocale pour TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Gestionnaire de synthèse vocale"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Gestionnaire de synthèse vocale pour TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Module aKode pour KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Module audio aKode pour KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Module ALSA pour KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Module audio ALSA pour KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Module Arts pour KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Module audio Arts pour KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Module GStreamer pour KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Module audio GStreamer pour KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Module audio pour KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Commande"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Synthèse vocale générique en ligne de commande"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Système de synthèse Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Synthèse vocale Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Synthèse vocale Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Synthèse vocale Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Synthèse vocale Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Synthèse vocale Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Synthèse vocale FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Système allemand de synthèse vocale hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/ga.po b/translations/desktop_files/kttsd-desktops/ga.po
new file mode 100644
index 0000000..7d981f9
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ga.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Breiseán KTTSD KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Cuir iontráil sa roghchlár chun an téacs a rá"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Brathadóir Teorainneacha Abairtí"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+#, fuzzy
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Brathadóir Teorainneacha Abairtí"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Ionadóir Teaghrán"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Roghnóir Cainteora"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Trasfhoirmeoir XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Téacs-go-Caint"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Modúl Rialaithe Téacs-go-Caint"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;téacs;go;caint;abair;sintéiseoir;"
+"sintéis;festival;ordú;freetts;proklam;via;guth;glór;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Dealraíonn sé go bhfuil an córas téacs-go-caint ag obair mar is ceart."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Deamhan Téacs-Go-Caint TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Bainisteoir Jabanna Téacs-go-Caint TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Bainisteoir Téacs-go-Caint"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Bainisteoir Téacs-go-Caint TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Breiseán KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Breiseán fuaime KTTSD aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Breiseán KTTSD ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Breiseán fuaime KTTSD ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Breiseán KTTSD Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Breiseán fuaime KTTSD aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Breiseán KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Breiseán fuaime GStreamer KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Breiseán fuaime KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Ordú"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintéiseoir cainte ginearálta ó líne na n-orduithe"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Córas Sintéise TTS Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintéiseoir cainte TTS Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Idirghníomhach"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintéiseoir cainte Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintéiseoir cainte Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintéiseoir cainte Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintéiseoir cainte FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Córas téacs-go-caint Gearmáinise hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/gl.po b/translations/desktop_files/kttsd-desktops/gl.po
new file mode 100644
index 0000000..1788867
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/gl.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Plugin de KTTSD para KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Engade unha entrada no menu para falar o texto"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detector de Límite de Frases"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Plugin de Filtro Detector de Límite de Frases para KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Reemprazamento de Cadeas"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Plugin de Filtro Xenérico de Substituición de Cadeas para KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Escolla de Locutor"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Plugin para Escoller o Locutor para KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformador XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Plugin de Transformación de XML para KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Texto-para-Fala"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Módulo de Control do Texto-para-Fala"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;para;fala;falar;sintetizador;"
+"sintetizar;festival;comando;freetts;proklam;via;voz;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "O sistema de texto-para-fala parece estar a funcionar correctamente."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Servizo Texto-para-Fala de TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Xestor de Traballos de Texto-para-Fala de TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Xestor de Texto-para-Fala"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Xestor de Texto-para-fala de TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Plugin aKode de KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Plugin de áudio aKode para KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Plugin ALSA de KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Plugin de áudio ALSA para KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Plugin Arts de KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Plugin de áudio aRts para KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Plugin GStreamer de KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Plugin de áudio GStreamer para KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Plugin de Áudio para KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Comando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintetizados de fala xenérico para a liña de comandos"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema de Síntese de TTS Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetizador de fala TTS Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Interactivo"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sistetizador de voces Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintetizador de voces Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizador de voces Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizador de voces FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema alemao de texto-para-fala hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/he.po b/translations/desktop_files/kttsd-desktops/he.po
new file mode 100644
index 0000000..9a89e55
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/he.po
@@ -0,0 +1,240 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "תוסף KTextEditor עבור KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "מוסיף כניסה בתפריט להקראת הטקסט"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "מחליף מחרוזות"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "טקסט לדיבור"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "מודול מרכז בקרה עבור טקסט לדיבור"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;דיבור;טקסט;מקריא; קול;"
+"פסטיבל;מסנטז;סינטי;סינטיזייזר;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "נראה כי מערכת הטקסט לדיבור עובדת כהלכה."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "שירות הטקסט לדיבור של TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+#, fuzzy
+msgid "TDE Text-to-speech Job Manager"
+msgstr "מנהל טקסט לדיבור של TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "מנהל טקסט לדיבור"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "מנהל טקסט לדיבור של TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aKode audio plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+#, fuzzy
+msgid "KTTSD ALSA Plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+#, fuzzy
+msgid "KTTSD ALSA audio plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+#, fuzzy
+msgid "KTTSD Arts Plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aRts audio plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+#, fuzzy
+msgid "KTTSD GStreamer Plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+#, fuzzy
+msgid "KTTSD GStreamer audio plugin"
+msgstr "תוסף aKode עבור KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "פקודה"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/hu.po b/translations/desktop_files/kttsd-desktops/hu.po
new file mode 100644
index 0000000..cac7195
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/hu.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD-modul"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Menüpont létrehozása szövegfelolvasáshoz"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Mondathatár-detektáló"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Mondatvég-detektáló szűrőmodul a KTTS-hez"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Sztringcserélő"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Általános sztringcserélő modul a KTTS-hez"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Hangválasztó"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Általános hangkiválasztó modul a KTTS-hez"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-átalakító"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Általános XML-átalakító modul a KTTS-hez"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Szövegfelolvasó"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "A szövegfelolvasó szolgáltatás beállításai"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;szöveg;hang;beszéd;beszél;"
+"szintetizátor;szintetizálás;festival;parancs;freetts;proklam;via;voice;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "A szövegfelolvasó rendszer megfelelően működik."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE szövegfelolvasó szolgáltatás"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-s kezelőprogram szövegfelolvasáshoz"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Szövegfelolvasás-kezelő"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE-s szövegfelolvasás-kezelő"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode hangmodul"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode hangmodul"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA hangmodul"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA hangmodul"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD aRts hangmodul"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD hangmodul az aRts hangrendszerhez"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer-modul"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD hangmodul a GStreamerhez"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Hangmodul a KTTSD szolgáltatáshoz"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Parancs"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Parancssoros kezelőprogram szövegfelolvasáshoz"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos szövegfelolvasó motor"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS beszédszintetizátor"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Festival beszédszintetizátor"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival beszédszintetizátor"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) beszédszintetizátor"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) beszédszintetizátor"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS beszédszintetizátor"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Hadifix szövegfelolvasó (Mbrola-alapú)"
diff --git a/translations/desktop_files/kttsd-desktops/is.po b/translations/desktop_files/kttsd-desktops/is.po
new file mode 100644
index 0000000..e7a67ab
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/is.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: is\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD íforrit"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Bætir við valmyndarfærslu fyrir tal af textanum"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Setningamarka greinir"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Setningamarka greinasía fyrir KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Strengja útskiptir"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Almennt strengja útskiptinga íforrit fyrir KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Talveljari"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Almennt talvalsíforrit fyrir KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML ummyndari"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Almennt XML ummynda íforrit fyrir KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Texti-í-tal"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Texti-í-tal stjórneining"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;texti;í;tal;speak;"
+"synthesizer;synth;festival;command;freetts;proklam;via;voice;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Texti-í-tal kerfið virðist virka eðlilega."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE texti-í-tal púki"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE texti-í-tal verkstjóri"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Texti-í-tal stjóri"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE texti-í-tal stjóri"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode íforrit"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode hljóð íforrit"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA íforrit"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA hljóð íforrit"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts íforrit"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts hljóð íforrit"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer íforrit"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer hljóð íforrit"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Hljóð íforrit fyrir KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Skipun"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Almennur talgerfill frá skipanalínu"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+#, fuzzy
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS talgerfill"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS talgerfill"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival gagnvirkni"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival talgerfill"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) talgerfill"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) talgerfill"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS talgerfill"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Þýska hadifix texti-í-tal kerfið"
diff --git a/translations/desktop_files/kttsd-desktops/it.po b/translations/desktop_files/kttsd-desktops/it.po
new file mode 100644
index 0000000..bf5cd13
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/it.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Michele Calgaro <michele.calgaro@yahoo.it>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: 2021-05-30 11:07+0000\n"
+"Last-Translator: Michele Calgaro <michele.calgaro@yahoo.it>\n"
+"Language-Team: Italian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kttsd-desktop-files/it/>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.6.2\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Plugin di KTTSD per KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Aggiunge una voce del menu per pronunciare il testo"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Rilevatore del limite delle frasi"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Plugin per il filtro di rilevazione del limite delle frasi per KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Sostitutore di stringhe"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Plugin generico per il filtro di sostituzione di stringhe per KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Selezione dell'oratore"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Plugin generico per il filtro di scelta dell'oratore per KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Trasformatore XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Plugin generico per il filtro di trasformazione XML per KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Pronuncia"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Modulo di controllo di pronuncia"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;pronuncia;parlare;sintetizzatore;"
+"synth;festival;comando;freetts;proklam;via;voce;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Il sistema di pronuncia pare funzionare correttamente."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSD"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Demone di pronuncia di TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "kttsjobmgrpart"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Gestore dei processi di pronuncia di TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "KTTSMgr"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Gestore della pronuncia"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Gestore della pronuncia di TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Plugin per aKode di KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Plugin audio per aKode di KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Plugin per ALSA di KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Plugin audio per ALSA di KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Plugin per Arts di KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Plugin audio per aRts di KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Plugin per GStreamer di KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Plugin audio per GStreamer di KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Plugin audio per KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Comando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintetizzatore vocale generico dalla riga di comando"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema di sintesi TTS Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetizzatore vocale TTS Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Interattivo"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintetizzatore vocale Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Sintetizzatore vocale Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizzatore vocale Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "FreeTTS"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizzatore vocale FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "Hadifix"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema di pronuncia tedesca Hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/ja.po b/translations/desktop_files/kttsd-desktops/ja.po
new file mode 100644
index 0000000..aca69d5
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ja.po
@@ -0,0 +1,230 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD プラグイン"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "テキスト読み上げをメニューエントリに追加する"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "センテンスの境界検出"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS 用センテンスの境界検出フィルタプラグイン"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "文字列置換"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS 用汎用文字列置換フィルタプラグイン"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "話者選択"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS 用汎用話者選択フィルタプラグイン"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML 変換"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS 用汎用 XML 変換フィルタプラグイン"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "テキスト読み上げ"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "テキスト読み上げ制御モジュール"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "テキスト読み上げシステムは正しく動作しているようです。"
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE テキスト読み上げデーモン"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE テキスト読み上げジョブマネージャ"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "テキスト読み上げマネージャ"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE テキスト読み上げマネージャ"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode プラグイン"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode オーディオプラグイン"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA プラグイン"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA オーディオプラグイン"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD aRts プラグイン"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts オーディオプラグイン"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer プラグイン"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer オーディオプラグイン"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSD 用オーディオプラグイン"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "コマンド"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "コマンドラインからの汎用スピーチシンセサイザ"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS シンセサイズシステム"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS スピーチシンセサイザ"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival インタラクティブ"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival スピーチシンセサイザ"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) スピーチシンセサイザ"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) スピーチシンセサイザ"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS スピーチシンセサイザ"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "ドイツ語 hadifix テキスト読み上げシステム"
diff --git a/translations/desktop_files/kttsd-desktops/ka.po b/translations/desktop_files/kttsd-desktops/ka.po
new file mode 100644
index 0000000..92b20a8
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ka.po
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ka\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD მოდული"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "ტექსტის წაკითხვას ამატებს მენიუს ჩანაწერს"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "წინადადების საზღვრის დამდგენი"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "წინადადების საზღვრის დამდგენის ფილტრის მოდული KTTS-სთვის"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "სტრიქონის ჩამნაცვლებელი"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "ზოგადი სტრიქონის ჩანაცვლების ფილტრის მოდული KTTS-სთვის"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "მოლაპარაკის ამომრჩეველი"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "მოლაპარაკის ამომრჩეველის ზოგადი ფილტრის მოდული KTTS-სთვის"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML გარდამქმნელი"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "ზოგადი XML გარდამქმნელის ფილტრის მოდული KTTS-სთვის"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "ტექსტი-გახმოვანება"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "ტექსტი-სიტყვის მართვის მოდული"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "ტექსტი-გახმოვანება სისტემა როგორც ჩანს სწორად მოქმედებს."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE ტექსტის გახმოვანების დემონი"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE ტექსტი-გახმოვანების ამოცანათა მმართველი"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "ტექსტი-გახმოვანების მმართველი"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE ტექსტი-გახმოვანების მმართველი"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode მოდული"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode აუდიო მოდული"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA მოდული"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA აუდიო მოდული"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts მოდული"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts აუდიო მოდული"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer მოდული"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer აუდიო მოდული"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "აუდიო მოდული KTTSD-თვის"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "ბრძანება"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "საზოგადო ხმის სინქრონიზატორი ბრძანების ველიდან"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS სინთეზის სისტემა"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS სიტყვის სინთეზატორი"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival ინტერაქტიული"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival ხმის სინთეზატორი"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival მსუბუქი (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival მარტივი (flite) ხმის სინთეზატორი"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS ხმის სინთეზატორი"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "გერმანული hadifix ტექსტის გახმოვანების სისტემა"
diff --git a/translations/desktop_files/kttsd-desktops/km.po b/translations/desktop_files/kttsd-desktops/km.po
new file mode 100644
index 0000000..5dd7c65
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/km.po
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: km\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "កម្មវិធី​ជំនួយ​ KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "បន្ថែម​ធាតុ​ម៉ឺនុយ​សម្រាប់​ការ​និយាយ​អត្ថបទ"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "ឧបករណ៍​ចាប់​ព្រំដែន​ប្រយោគ"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "កម្មវិធី​ជំនួយ​តម្រង​ឧបករណ៍​ចាប់​ព្រំដែន​ប្រយោគ​សម្រាប់ KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "ឧបករណ៍​ជំនួស​ខ្សែ​អក្សរ"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "កម្មវិធី​ជំនួយ​តម្រង​ការ​ជំនួស​ខ្សែអក្សរ​ទូទៅ​សម្រាប់ KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "ឧបករណ៍​ជ្រើស​អ្នក​និយាយ"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "កម្មវិធី​ជំនួយ​ឧបករណ៍​ជ្រើស​រើស​អ្នក​និយាយ​ទូទៅ​សម្រាប់ KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "កម្មវិធី​ប្លែង​ XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "កម្មវិធី​ជំនួស​តម្រង​ការ​ប្លែង​ XML ទូទៅ​សម្រាប់ KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "អត្ថបទ​ដែល​ត្រូវ​និយាយ"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "ម៉ូឌុល​ត្រួតពិនិត្យ​​អត្ថបទ​ដែល​ត្រូវ​និយាយ"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "ប្រព័ន្ធ​អត្ថបទ​ដែល​ត្រូវ​និយាយ​ហាក់ដូចជា​មាន​មុខងារ​ត្រឹមត្រូវ ។"
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "ដេមិន​អត្ថបទ​ដែល​ត្រូវ​និយាយ​របស់ TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "ឧបករណ៍​គ្រប់គ្រង​ការងារ​អត្ថបទ​ដែលត្រូវ​និយាយ​របស់ TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "ឧបករណ៍​គ្រប់គ្រង​អត្ថបទ​ដែល​ត្រូវ​និយាយ"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "ឧបករណ៍​គ្រប់គ្រង​អត្ថបទ​ដែល​ត្រូវ​និយាយ​របស់ TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "កម្មវិធី​ជំនួយ​ aKode សម្រាប់ KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "កម្មវិធី​ជំនួយ​អូឌីយ៉ូ aKode សម្រាប់ KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "កម្មវិធី​ជំនួយ​ ALSA សម្រាប់ KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "កម្មវិធី​ជំនួយអូឌីយ៉ូ​ ALSA សម្រាប់ KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "កម្មវិធី​ជំនួយ Arts សម្រាប់ KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "កម្មវិធី​ជំនួយ​អូឌីយ៉ូ aRts សម្រាប់ KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "កម្មវិធី​ជំនួយ GStreamer សម្រាប់ KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "កម្មវិធី​ជំនួយអូឌីយ៉ូ​ GStreamer សម្រាប់ KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "​កម្មវិធី​ជំនួយ​អូឌីយ៉ូ​សម្រាប់​ KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "ពាក្យ​បញ្ជា"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "កម្មវិធី​សង្គ្រោះ​ការនិយាយ​ទូទៅ​ពី​បន្ទាត់​ពាក្យ​បញ្ជា"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "ប្រព័ន្ធ​សង្គ្រោះ Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "កម្មវិធី​សង្គ្រោះ​ការនិយាយ Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "អន្តរ​មុខងារ"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "មុខងារ​កម្មវិធី​សង្គ្រោះ​ការ​និយាយ​"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "មុខងារ Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "មុខងារ​កម្មវិធី​សង្គ្រោះ​ការនិយាយ Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "កម្មវិធី​សង្គ្រោះ​ការនិយាយ FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "ប្រព័ន្ធ​អត្ថបទ​ដែល​ត្រូវ​និយាយ​ hadifix អាល្លឺម៉ង់"
diff --git a/translations/desktop_files/kttsd-desktops/kttsd-desktops.pot b/translations/desktop_files/kttsd-desktops/kttsd-desktops.pot
new file mode 100644
index 0000000..1818f70
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/kttsd-desktops.pot
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr ""
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr ""
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr ""
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr ""
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr ""
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr ""
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/lt.po b/translations/desktop_files/kttsd-desktops/lt.po
new file mode 100644
index 0000000..82a34da
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/lt.po
@@ -0,0 +1,231 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: lt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD priedas"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Prideda meniu įrašą teksto įkalbėjimui"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Sakinio ribų aptikiklis"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Sakinio ribų aptikiklio filtro priedas, skirtas KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Eilučių pakeitiklis"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Bendro pobūdžio eilučių pakeitimo filtro priedas, skirtas KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+#, fuzzy
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Bendro pobūdžio eilučių pakeitimo filtro priedas, skirtas KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+#, fuzzy
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Bendro pobūdžio eilučių pakeitimo filtro priedas, skirtas KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr ""
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr ""
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr ""
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr ""
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/mk.po b/translations/desktop_files/kttsd-desktops/mk.po
new file mode 100644
index 0000000..8bf5f38
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/mk.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTTSD-приклучок за KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Додава елемент во менито за зборување на текстот"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Детектор на граница на реченица"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Филтер за KTTS за детекција на границата на реченица"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Менувач на низи знаци"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Филтер за KTTS за општа замена на низи знаци"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Избирач на говорникот"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Филтер за KTTS за избирач на општ говорник"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-трансформирач"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Филтер за KTTS за трансформација на општ XML"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Текст-во-говор"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Контролен модул за текст-во-говор"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;текст;во;говор;синтисајзер;"
+"фестивал;наредба;команда;глас;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Изгледа дека системот за текст-во-говор функционира како што треба."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Даемон на TDE за текст-во-говор"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Менаџер на задачи во TDE за текст-во-говор"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Менаџер за текст-во-говор"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Менаџер на TDE за текст-во-говор"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "aKode-приклучок за KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "aKode-аудиоприклучок за KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "ALSA-приклучок за KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "ALSA-аудиоприклучок за KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "aRts-приклучок за KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "aRts-аудиоприклучок за KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "GStreamer-приклучок за KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "GStreamer-аудиоприклучок за KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Аудиоприклучок за KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Командна линија"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Синтисајзер на општ говор од командната линија"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS систем за синтеза"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS синтетизатор на говор"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Интерактивен festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Синтетизатор за говор festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) синтетизатор на говор"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) синтетизатор на говор"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS синтетизатор на говор"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Германски hadifix систем за текст-во-говор"
diff --git a/translations/desktop_files/kttsd-desktops/ms.po b/translations/desktop_files/kttsd-desktops/ms.po
new file mode 100644
index 0000000..f199e15
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ms.po
@@ -0,0 +1,235 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Plugin KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Tambah entri menu untuk menjadikan teks bercakap"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Pengesan Sempadan Ayat"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Plugin Penapis Pengesan Sempadan Ayat bagi KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Pengganti Rentetan"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Plugin Penapis Penggantian Rentetan Generik bagi KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Pemilih Penutur"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Plugin Penapis Pemilih Penutur Generik bagi KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformer XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Plugin Penapis Transformasi XML Generik bagi KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Teks-ke-Tutur"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Modul Kawalan Teks-ke-Tutur"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Sistem teks-ke-Tutur berfungsi dengan baik."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Daemon Teks Ke Tutur TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Pengurus Kerja Teks-ke-tutur TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Pengurus Teks-ke-Tutur"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Pengurus Teks-ke-tutur TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+#, fuzzy
+msgid "KTTSD aKode Plugin"
+msgstr "Plugin KTTSD GStreamer"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aKode audio plugin"
+msgstr "Plugin audio aRts KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+#, fuzzy
+msgid "KTTSD ALSA Plugin"
+msgstr "Plugin KTTSD GStreamer"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+#, fuzzy
+msgid "KTTSD ALSA audio plugin"
+msgstr "Plugin audio aRts KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+#, fuzzy
+msgid "KTTSD Arts Plugin"
+msgstr "Plugin KTTSD GStreamer"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Plugin audio aRts KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Plugin KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Plugin audio KTTSD GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Plugin Audio bagi KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Arahan"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Pensintesis tutur generik dari baris arahan"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistem Sintesis Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Pensintesis tutur Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Interaktif Perayaan"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Pensintesis tutur perayaan"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Pensintesis tutur Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Pensintesis tutur Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Pensintesis tutur FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistem teks-ke-tutur hadifiks Jerman"
diff --git a/translations/desktop_files/kttsd-desktops/mt.po b/translations/desktop_files/kttsd-desktops/mt.po
new file mode 100644
index 0000000..b0c68a4
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/mt.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: mt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr ""
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr ""
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+#, fuzzy
+msgid "Text-to-Speech"
+msgstr "Manaġer Test-għal-Vuċi"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+#, fuzzy
+msgid "Text-to-Speech Control Module"
+msgstr "Manaġer Test-għal-Vuċi"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+#, fuzzy
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Manaġer Test-għal-Vuċi"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Manaġer Test-għal-Vuċi"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+#, fuzzy
+msgid "TDE Text-to-speech Manager"
+msgstr "Manaġer Test-għal-Vuċi"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema test-għal-vuċi hadifix Ġermaniż"
diff --git a/translations/desktop_files/kttsd-desktops/nb.po b/translations/desktop_files/kttsd-desktops/nb.po
new file mode 100644
index 0000000..4bcdc98
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/nb.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nb\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor programtillegg for KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Legger til en menyoppføring for å si teksten høyt"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Finner setningsgrenser"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Programtillegg for KTTS som finner setningsgrenser"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Strengerstatter"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Filter-programtillegg til KTTS for streng-erstatning"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Snakkervelger"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Filter-programtillegg til KTTS for snakkervalg"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Filter-programtillegg til KTTS for alminnelig XML-transformasjon"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Tekst-til-tale"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Styremodul for tekst-til-tale"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;tekst;til;tale;snakke;synthesizer;"
+"synth;festival;kommando;freetts;proklam;via;voice;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Tekst-til-tale-systemet ser ut til å virke som det skal."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE tekst-til-tale-nisse"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Jobbkontroll for TDE tekst-til-tale"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Styring for tekst-til-tale"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Styring for TDEs tekst-til-tale"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Programtillegg for KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "aKodes lyd-programtillegg for KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Alsas programtillegg for KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Alsas lyd-programtillegg for KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Arts programtillegg for KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "aRts lyd-programtillegg for KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "GStreamer programtillegg for KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "GStreamer lyd-programtillegg for KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Lyd-programtillegg for KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Kommando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generisk talesyntetisering fra kommandolinje"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTT syntesesystem"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTT talesyntetisering"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Festival talesyntetisering"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival talesyntetisering"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) talesyntetisering"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) talesyntetisering"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS talesyntetisering"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Tysk hadifix system for tekst-til-tale"
diff --git a/translations/desktop_files/kttsd-desktops/nds.po b/translations/desktop_files/kttsd-desktops/nds.po
new file mode 100644
index 0000000..817510b
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/nds.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nds\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTTSD-Moduul KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Föögt en Menüindrag för dat Textvörlesen to"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Satzgrenz-Faststellen"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS-Filtermoduul för dat Faststellen vun Satzgrenzen"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Tekenkeed-Tuscher"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS-Filtermoduul för dat Utwesseln vun Tekenkeden"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Snacker-Utwahl"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS-Filtermoduul för dat Utsöken vun den Snacker"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-Ümwanneln"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS-Filtermoduul för dat Ümwanneln vun XML"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Vörleser"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Kuntrullmoduul för den Vörleser"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;Vörleser;vörlesen;Blicksnuut;"
+"synth;festival;freetts;proklam;Stimm;Spraakutgaav;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "As dat lett funkscheneert de Vörleser as he schall."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Vörlees-Dämoon vun TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-Pleger för Vörleesopgaven"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Vörleespleger"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Vörleespleger för TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "aKode-Moduul för KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "aKode-Audiomoduul för KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "ALSA-Moduul för KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "ALSA-Audiomoduul för KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "aRts-Moduul för KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "aRts-Audiomoduul för KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "GStreamer-Moduul för KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "GStreamer-Audiomoduul för KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Audiomoduul för KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Befehl"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Blicksnuut för de Befehlsreeg"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos Blicksnuut"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Blicksnuut vun Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Blicksnuut Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Blicksnuut Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (FLite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Blicksnuut Festival lite (FLite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Blicksnuut FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Düütsch Blicksnuut Hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/ne.po b/translations/desktop_files/kttsd-desktops/ne.po
new file mode 100644
index 0000000..d74db2e
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ne.po
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ne\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "केडीई पाठ सम्पादक KTTSD प्लगइन"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "पाठ बोल्नका लागि मेनु प्रविष्टि थप्छ"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "वाक्य सीमा संसूचक"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS का लागि वाक्य सीमा पत्ता लगाउने फिल्टर"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "स्ट्रिङ प्रतिस्थापक"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS का लागि जेनेरीक स्ट्रिङ प्रतिस्थापन फिल्टर प्लगइन"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "वक्ता चयनकर्ता"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS का लागि जेनेरीक वक्ता चयनकर्ता फिल्टर प्लगइन"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML रुपान्तरणकर्ता"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS का लागि जेनेरीक XML रुपान्तरण फिल्टर प्लगइन"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "पाठ वाचक"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "पाठ वाचक नियन्त्रण मोड्युल"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "पाठ वाचक प्रणालीले ठीक रुपमा कार्य गर्ने देखिन्छ"
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "केडीई पाठ वाचक डेइमन"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "केडीई पाठ वाचक काम प्रबन्धक"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "पाठ वाचक प्रबन्धक"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "केडीई पाठ वाचक प्रबन्धक"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode प्लगइन"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode अडियो प्लगइन"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA प्लगइन"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA अडियो प्लगइन"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD कला प्लगइन"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD कला अडियो प्लगइन"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD जि स्ट्रिमर प्लगइन"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD जि स्ट्रिमर अडियो प्लगइन"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSD का लागि अडियो प्लगइन"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "आदेश"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "आदेश रेखाबाट जेनेरिक संवाद सिन्थेसाइजर"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS सिन्थेसिस प्रणाली"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS संवाद सिन्थेसाइजर"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "अन्तरक्रियात्मक फेस्टिभल"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "संवाद सिन्थेसाइजर फेस्टिभल"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "फेस्टिभल लाइट (एफ लाईट)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "फेस्टिभल लाइट (एफ लाइट) संवाद सिन्थेसाइजर"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS संवाद सिन्थेसाइजर"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "ह्याडिफिक्स"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "जर्मनी ह्याडिफिक्स पाठ वाचक प्रणाली"
diff --git a/translations/desktop_files/kttsd-desktops/nl.po b/translations/desktop_files/kttsd-desktops/nl.po
new file mode 100644
index 0000000..166f87a
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/nl.po
@@ -0,0 +1,234 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD-plugin"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Voegt een menuoptie toe voor het uitspreken van de tekst"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Zingrensdetectie"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Zingrensdetectieplugin voor KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Tekstvervanger"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Generieke tekst-vervang-filter-plugin voor KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Spreker kiezen"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Generieke plugin om de spreker te kiezen voor KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-omvormer"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Generieke filterplugin voor XML-omvorming voor KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Tekst-tot-spraak"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Tekst-tot-spraak configuratiemodule"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;tts;ttsd;ktts;text to speech;praten;synthesizer;synth;festival;command;"
+"freetts;proklam;via voice;spraakprogramma;geluid;stem;tekst tot spraak;"
+"spreken;computerstem;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Het tekst-tot-spraaksysteem blijkt goed te functioneren."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE Tekst-tot-spraak-daemon"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE Tekst-tot-spraak-taakbeheer"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Tekst-tot-spraak-beheerder"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE Tekst-tot-spraak-beheer"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode-plugin"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode geluidsplugin"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA-plugin"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA geluidsplugin"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts-plugin"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts-audioplugin"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer-plugin"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer-audioplugin"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Audio-plugin voor KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generieke spraaksynthesizer voor de commandoregel"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS Synthesis-systeem"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS spraaksynthesizer"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Festival spraaksynthetizer"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival spraaksynthetizer"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) spraaksynthesizer"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) spraaksynthesizer"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS spraaksynthesizer"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Duits hadifix tekst-tot-spraak-systeem"
diff --git a/translations/desktop_files/kttsd-desktops/pa.po b/translations/desktop_files/kttsd-desktops/pa.po
new file mode 100644
index 0000000..b26aea6
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/pa.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pa\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "ਪਾਠ ਬੋਲਣ ਲਈ ਇੱਕ ਮੇਨੂ ਇੰਦਰਾਜ਼ ਜੋੜਦਾ ਹੈ"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+#, fuzzy
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS ਲਈ XML ਸੰਚਾਰ ਫਿਲਟਰ"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "ਸਤਰ ਤਬਦੀਲ"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+#, fuzzy
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS ਲਈ ਸਧਾਰਨ ਬੋਲੀ ਚੋਣਕਾਰ ਫਿਲਟਰ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "ਬੋਲਚਾਲ ਚੋਣਕਾਰ"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS ਲਈ ਸਧਾਰਨ ਬੋਲੀ ਚੋਣਕਾਰ ਫਿਲਟਰ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML ਤਬਦੀਲੀਕਾਰ"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS ਲਈ XML ਸੰਚਾਰ ਫਿਲਟਰ"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "ਪਾਠ ਤੋਂ ਬੋਲੀ"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "ਪਾਠ ਤੋਂ ਬੋਲੀ ਕੰਟਰੋਲ ਮੈਡੀਊਲ"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "ਇੱਕ ਪਾਠ ਤੋਂ ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ ਸਿਸਟਮ, ਜੋ ਕਿ ਠੀਕ ਤਰਾਂ ਕੰਮ ਕਰਦਾ ਜਾਪਦਾ ਹੈ।"
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਡਾਈਮੋਨ"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਕੰਮ ਮੈਨੇਜਰ"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੈਨੇਜਰ"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE ਪਾਠ ਤੋਂ ਬੋਲੀ ਮੈਨੇਜਰ"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aKode ਆਡੀਓ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA ਆਡੀਓ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts ਆਡੀਓ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD ਜੀਸਟਰੀਮਰ ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD ਜੀਸਟਰੀਮਰ ਆਡੀਓ ਪਲੱਗਿੰਨ"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSD ਲਈ ਆਡੀਓ ਪਲੱਗਿੰਨ"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "ਕਮਾਂਡ"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "ਕਮਾਂਡ ਲਾਈਨ ਤੋਂ ਸਧਾਰਨ ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS ਸੰਸਲੇਸ਼ਣ ਸਿਸਟਮ"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS ਬੋਲੀ ਸੰਸਲੇਸ਼ਣ"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "ਫੈਸੀਟੇਵਲ ਇੰਟਰੇਕਟਵ"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "ਫੈਸੀਟੇਵਲ ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS ਬੋਲੀ ਸੰਸਲੇਸ਼ਕ"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "ਜਰਮਨ hadifix ਪਾਠ ਤੋਂ ਬੋਲੀ ਸਿਸਟਮ"
diff --git a/translations/desktop_files/kttsd-desktops/pl.po b/translations/desktop_files/kttsd-desktops/pl.po
new file mode 100644
index 0000000..4c8baaa
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/pl.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Wtyczka KTTSD dla edytora tekstu"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Dodaje wpis w menu do mówienia tekstu"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Wykrywanie granicy zdania"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Wtyczka filtra wykrywania granicy zdania dla KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Zastępowanie tekstu"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Wtyczka zastępowania tekstu dla KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Wybieranie Mówców"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Wtyczka wyboru Mówców dla KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformacja XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Wtyczka transformacji XML dla KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Odczytywanie tekstu"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Moduł konfiguracji odczytywania tekstu"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;tekst;do;mowa;mówienie; "
+"synteza;festival;polecenie;głos;mówienie;odczytywanie tekstu;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "System odczytywania tekstu funkcjonuje prawidłowo."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Usługa odczytywania tekstu dla TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Menedżer zadań odczytywania tekstu"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Menedżer odczytywania tekstu"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Menedżer odczytywania tekstu dla TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Wtyczka aKode KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Wtyczka dźwięku aKode dla KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Wtyczka ALSA dla KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Wtyczka dźwięku ALSA dla KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Wtyczka aRts KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Wtyczka dźwięku aRts dla KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Wtyczka GStreamer KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Wtyczka dźwięku GStreamer dla KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Wtyczka dźwięku dla KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Polecenie"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Program syntezatora mowy uruchamiany z linii poleceń"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "System syntezy mowy Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Syntezator mowy Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival interaktywny"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Syntezator mowy Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Syntezator mowy Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Syntezator mowy Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Syntezator mowy FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Niemiecki system syntezy mowy hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/pt.po b/translations/desktop_files/kttsd-desktops/pt.po
new file mode 100644
index 0000000..13fa50d
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/pt.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Hugo Carvalho <hugokarvalho@hotmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: 2021-11-26 19:59+0000\n"
+"Last-Translator: Hugo Carvalho <hugokarvalho@hotmail.com>\n"
+"Language-Team: Portuguese <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kttsd-desktop-files/pt/>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "'Plugin' KTextEditor do KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Adiciona uma entrada de menu para ler o texto"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detector de Limite de Frase"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "'Plugin' de Filtro de Detecção de Limite de Frase para o KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Substituição de Textos"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "'Plugin' Genérico de Substituição de Textos para o KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Escolha de Orador"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "'Plugin' Genérico de Escolha de Orador para o KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformação de XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "'Plugin' Genérico de Transformação de XML para o KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Texto-para-Fala"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Módulo de Controlo de Texto-para-Fala"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;TTS;ttsd;ktts;texto;fala;falar;sintetizador;"
+"festival;comandar;freetts;proklam;via;voice;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "O sistema de texto-para-voz parece estar a funcionar correctamente."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSD"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Servidor do Texto para Fala do TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "kttsjobmgrpart"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Gestor de Trabalhos do Texto para Fala do TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "KTTSMgr"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Gestor do Texto para Fala"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Gestor do Texto para Fala do TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "'Plugin' aKode do KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "'Plugin' de áudio aKode do KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "'Plugin' ALSA do KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "'Plugin' de áudio ALSA do KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "'Plugin' Arts do KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "'Plugin' áudio aRts do KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "'Plugin' GStreamer do KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "'Plugin' áudio GStreamer do KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "'Plugin' Áudio para o KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Comando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Sintetizador de fala genérico através de uma linha de comandos"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema de Síntese Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "O sintetizador de fala Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival interactivo"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "O sintetizador de fala Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "O sintetizador de fala Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "FreeTTS"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "O sintetizador de fala FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "Hadifix"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema alemão de texto-para-voz hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/pt_BR.po b/translations/desktop_files/kttsd-desktops/pt_BR.po
new file mode 100644
index 0000000..aad1d18
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/pt_BR.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: 2021-12-18 00:00+0000\n"
+"Last-Translator: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://mirror.git.trinitydesktop.org/"
+"weblate/projects/tdeaccessibility/kttsd-desktop-files/pt_BR/>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.9.1\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Plug-in do KTTSD para o KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Adiciona uma entrada no menu para falar o texto"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detector de Fim de Sentenças"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Plug-in de Detector de Fim de Sentenças para o KTTSD"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Substituidor de Strings"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Plug-in de Filtro genérico de Substituição de Strings Para o KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Escolha do Talker"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Plug-in de Filtro Genérico Para Escolha do Talker do KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformador XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Plug-in de Filtro Genérico de Transformação XML: para o KTTSD"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Conversão de texto para fala"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Módulo de Controle de conversão de texto para fala"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;texto;fala;conversa; sintentizador;"
+"ynth;festival;command;freetts;proklam;via;voz;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "O sistema de fala do TDE parece estar funcionando corretamente."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSD"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Serviço de Conversão de Texto para Fala do TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "Componente Ger. de Jobs do Ktts"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Gerenciador de Trabalhos de Texto para Fala do TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "Gerenciador ktts"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Gerenciador de Conversão de Texto para Fala do TDE"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Gerenciador de Conversão de Texto para Fala do TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Plug-in aKode para o KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Plug-in de áudio KTTSD aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Plug-in ALSA para o KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Plug-in de áudio ALSA para o KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Plug-in do Arts para o KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Plug-in de áudio do Arts para o KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Plug-in do GStreamer para o KTTSD "
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Plug-in de áudio do GStreamer para o KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Plug-in de áudio para o KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Command"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Interface de linha de comando para o sintetizador de fala genérico"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistema de Sintetizador de Fala Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sistema de Sintetizador de Fala Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Interativo"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sistema de Sintetizador de Fala Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizador de fala Festival Lite (leve)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "FreeTTS"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizador de fala FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "Hadifix"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Sistema de conversão de texto para áudio almeão hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/ru.po b/translations/desktop_files/kttsd-desktops/ru.po
new file mode 100644
index 0000000..aa4ee85
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ru.po
@@ -0,0 +1,235 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Alexander Golubev <fatzer2@gmail.com>, 2022.
+# Andrei Stepanov <adem4ik@gmail.com>, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: 2024-04-12 16:44+0000\n"
+"Last-Translator: Andrei Stepanov <adem4ik@gmail.com>\n"
+"Language-Team: Russian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kttsd-desktop-files/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.17\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Модуль KTextEditor для KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Добавляет меню синтеза речи"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Определитель границ предложения"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Фильтр границ предложения для KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Автозамена"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Фильтр автозамены для KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Диктор"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Фильтр выбора диктора для KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Преобразователь XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Фильтр XML для KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Синтез речи"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Настройка синтеза речи"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text-to-speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;голос;речь;синтез;синтез "
+"речи;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Система синтеза речи работает нормально."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSD"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Демон преобразования текста в речь TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "kttsjobmgrpart"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Управление заданиями по синтезу речи"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "Менеджер KTTS"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Управление синтезом речи"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Менеджер движков синтеза речи"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Модуль aKode для KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Модуль вывода звука KTTSD через aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Модуль alsa для KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Модуль вывода звука KTTSD через alsa"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Модуль Arts для KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Модуль вывода звука KTTSD через aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Модуль GStreamer для KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Модуль вывода звука KTTSD через GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Модуль вывода звука KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Командная строка"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Консольный интерфейс к движкам синтеза речи"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Синтезатор речи Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Синтезатор речи Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Синтезатор речи Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "FreeTTS"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Синтезатор речи FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "Hadifix"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Немецкая система синтеза речи Hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/sk.po b/translations/desktop_files/kttsd-desktops/sk.po
new file mode 100644
index 0000000..ad4c629
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/sk.po
@@ -0,0 +1,231 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD modul"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Pridá položku menu pre hovorenie textu"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detekcia okraja vety"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Modul filtra na detekciu okraja vety v KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Náhrada reťazca"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Všeobecný modul filtra náhrady reťazca v KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Voľba hovorcu"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Všeobecný modul filra na voľbu hovorcu v KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Transformácia XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Všeobecný modul filtra pre transformáciu XML v KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Text-na-reč"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Riadiaci modul text-na-reč"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Systém text-na-reč funguje správne."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Démon TDE text-na-reč"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Správca úloh TDE text-na-reč"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Správca text-na-reč"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE text-na-reč manažér"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Modul KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Modul KTTSD aKode audio"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Modul KTTSD ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Modul KTTSD ALSA audio"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Modul KTTSD Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Modul KTTSD aRts audio"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Modul KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Modul KTTSD GStreamer audio"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Audio modul pre KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Príkaz"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Všeobecný syntetizátor reči z príkazového riadka"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Systém Epos TTS Synthesis"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Syntetizátor reči Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Syntetizátor reči Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Syntetizátor reči Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Syntetizátor reči Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Syntetizátor reči Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Syntetizátor reči FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Nemecký systém text-na-reč hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/sl.po b/translations/desktop_files/kttsd-desktops/sl.po
new file mode 100644
index 0000000..ce1d782
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/sl.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Vstavek KTTSD za KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Dodaj menijski vnos za govorjenje besedila"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detektor meje stavkov"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Filtrni vstavek KTTS za zanavanje mej stavka"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Zamenjevalnik nizov"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Filtrni vstavek KTTS za generični zamenjevalnik nizov"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Izbirnik govornika"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Filtrni vstavek KTTS za generični izbirnik govorca"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Pretvornik XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Filtrni vstavek KTTS za generično preoblikovanje XML"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Besedilo v govor"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Nadzorni modul besedila v govor"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;besedilo;v;govor;govori;sintetizator;;"
+"festival;ukaz;freetts;proklam;preko;glas;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Sistem besedila v govor očitno deluje pravilno."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Demon TDE za besedilo v govor"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Upravitelj opravil besedila v govor za TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Upravitelj besedila v govor"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Upravitelj besedila v govor v TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Vstavek KTTSD za aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Vstavek KTTSD za zvok v aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Vstavek KTTSD za ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Vstavek KTTSD za zvok v ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Vstavek KTTSD za aRts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Vstavek KTTSD za zvok v aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Vstavek KTTSD za GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Vstavek KTTSD za zvok v GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Vstavek KTTSD za zvok"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Ukaz"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generični sintetizator govora iz ukazne vrstice"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistem sinteze besedila v govor Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetizator besedila v govor Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Sintetizator govora Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintetizator govora Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintetizator govora Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizator govora Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizator govora FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Nemški sistem besedila v govor hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/sr.po b/translations/desktop_files/kttsd-desktops/sr.po
new file mode 100644
index 0000000..399d516
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/sr.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTTSD као прикључак за KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Додаје ставку менија за изговарање текста"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Детектор граница реченице"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Филтерски прикључак KTTS-а за откривање граница реченице"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Замењивач знаковних низова"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Генерички филтерски прикључак KTTS-а за замену знаковних низова"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Бирач говорника"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Генерички филтерски прикључак KTTS-а за бирач говорника"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML трансформатор"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Генерички филтерски прикључак KTTS-а за трансформацију XML-а"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Текст-у-говор"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Контролни модул за текст-у-говор"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;текст;говор;наредба;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Систем текст-у-говор изгледа да функционише исправно."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE-ов демон за текст-у-говор"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-ов менаџер послова за текст-у-говор"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Менаџер за текст у говор"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE-ов менаџер за текст у говор"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "aKode прикључак за KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "aKode аудио прикључак за KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "ALSA прикључак за KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "ALSA аудио прикључак за KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Arts као прикључак за KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Arts као аудио прикључак за KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "GStreamer као прикључак за KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "GStreamer као аудио прикључак за KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Аудио прикључак за KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Наредба"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Генерички синтетизатор говора из командне линије"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Систем за синтезу Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Синтетизатор говора Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Синтетизатор говора Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Синтетизатор говора Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Синтетизатор говора Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Синтетизатор говора Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Синтетизатор говора FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Hadifix, немачки систем за текст-у-говор"
diff --git a/translations/desktop_files/kttsd-desktops/sr@Latn.po b/translations/desktop_files/kttsd-desktops/sr@Latn.po
new file mode 100644
index 0000000..b2eab61
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/sr@Latn.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sr@Latn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTTSD kao priključak za KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Dodaje stavku menija za izgovaranje teksta"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Detektor granica rečenice"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Filterski priključak KTTS-a za otkrivanje granica rečenice"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Zamenjivač znakovnih nizova"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Generički filterski priključak KTTS-a za zamenu znakovnih nizova"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Birač govornika"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Generički filterski priključak KTTS-a za birač govornika"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML transformator"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Generički filterski priključak KTTS-a za transformaciju XML-a"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Tekst-u-govor"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Kontrolni modul za tekst-u-govor"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;tekst;govor;naredba;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Sistem tekst-u-govor izgleda da funkcioniše ispravno."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE-ov demon za tekst-u-govor"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE-ov menadžer poslova za tekst-u-govor"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Menadžer za tekst u govor"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE-ov menadžer za tekst u govor"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "aKode priključak za KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "aKode audio priključak za KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "ALSA priključak za KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "ALSA audio priključak za KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Arts kao priključak za KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Arts kao audio priključak za KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "GStreamer kao priključak za KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "GStreamer kao audio priključak za KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Audio priključak za KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Naredba"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generički sintetizator govora iz komandne linije"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Sistem za sintezu Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Sintetizator govora Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Sintetizator govora Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Sintetizator govora Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Sintetizator govora Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Sintetizator govora Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Sintetizator govora FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Hadifix, nemački sistem za tekst-u-govor"
diff --git a/translations/desktop_files/kttsd-desktops/sv.po b/translations/desktop_files/kttsd-desktops/sv.po
new file mode 100644
index 0000000..9693b49
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/sv.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTTSD-insticksprogram för Ktexteditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Lägger till ett menyalternativ för att läsa upp texten"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Meningsgränsdetektering"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Insticksprogram för KTTS med filter för meningsgränsdetektering"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Strängersättning"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Insticksprogram för KTTS med generellt strängersättningsfilter"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Urval av talare"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Insticksprogram för KTTS med generellt urvalsfilter för talare"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML-transformering"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Insticksprogram för KTTS med generellt XML-transformeringsfilter"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Text-till-tal"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Text-till-tal inställningsmodul"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;till;tal;läsa;syntes;synt;"
+"festival;kommando;freetts;proklam;via;röst;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Text till tal-systemet verkar fungera som det ska."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE:s text-till-tal demon"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE:s text-till-tal jobbhantering"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Text-till-tal hantering"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE:s text-till-tal hantering"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD-insticksprogram för aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD-ljudinsticksprogram för aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD-insticksprogram för ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD-ljudinsticksprogram för ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD-insticksprogram för aRts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD-ljudinsticksprogram för aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD-insticksprogram för Gstreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD-ljudinsticksprogram för Gstreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Ljudinsticksprogram för KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Kommando"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Generell talsyntes från kommandoraden"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS syntessystem"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS talsyntes"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival interaktiv"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival talsyntes"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite) talsyntes"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) talsyntes"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS talsyntes"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Tyska Hadifix text-till-tal system"
diff --git a/translations/desktop_files/kttsd-desktops/ta.po b/translations/desktop_files/kttsd-desktops/ta.po
new file mode 100644
index 0000000..431cad4
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/ta.po
@@ -0,0 +1,233 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD சொருகுப்பொருள்"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "உரையை பேசுவதற்கு ஒரு பட்டியல் உள்ளிட்டை சேர்க்கிறது"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "வாக்கிய பவுண்டரி கண்டுபிடிப்பான்"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTSக்கான வாக்கிய கண்டறி அலங்கார சொருகுப்பொருள்"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "சர இடமாற்றி"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTSக்கான அலங்கார சொருகுபொருள் சர இடமாற்றி"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "டாக்கர் தேர்ந்தெடுப்பான்"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS க்கான ஜெனரிக் பேச்சாளர் தேர்ந்தெடுப்பான அலங்கார சொருகுப்பொருள்"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTSக்கான ஜெனரிக் XML மாற்று அலங்கார சொருகுப்பொருள்"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "உரையில் இருந்து பேச்சுக்கு"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "உரையில் இருந்து பேச்சு கட்டுப்பாட்டு பகுதி"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "உரையில் இருந்து பேச்சு அமைப்பு சரியாக இயங்குகிறது."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "கேடியி உரையில் இருந்து பேச்சு டெமான்"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "கேடியி உரையில் இருந்து பேச்சு பணி மேலாளர்"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "உரையில் இருந்து பேச்சு மேலாளர்"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "கேடியி உரையில் இருந்து பேச்சு மேலாளர்"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+#, fuzzy
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD GStreamer சொருகுப்பொருள்"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+#, fuzzy
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aRts கேட்பொலி சொருகுப்பொருள்"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+#, fuzzy
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ஆர்ட்ஸ் சொருகுப்பொருள்"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+#, fuzzy
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD aRts கேட்பொலி சொருகுப்பொருள்"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD ஆர்ட்ஸ் சொருகுப்பொருள்"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts கேட்பொலி சொருகுப்பொருள்"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer சொருகுப்பொருள்"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer கேட்பொலி சொருகுப்பொருள்"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSDக்கான கேட்பொலி சொருகுப்பொருள்"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "கட்டளை"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "கட்டளை வரியில் இருந்து பொது பேச்சு கூட்டிணைப்பாளர்"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS கூட்டிணைப்பு அமைப்பு"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS பேச்சு கூட்டிணைப்பான்"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "பெஸ்டிவல் உள்செயல்"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "பெஸ்டிவல் பேச்சு கூட்டிணைப்பான்"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "பெஸ்டிவல் லைட் (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "பெஸ்டிவல் லைட் (flite) பேச்சு கூட்டிணைப்பான்"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS பேச்சு கூட்டிணைப்பான்"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "ஜெர்மன் ஹாடிஃபிக்ஸ் உரையில் இருந்து பேச்சு அமைப்பு"
diff --git a/translations/desktop_files/kttsd-desktops/tg.po b/translations/desktop_files/kttsd-desktops/tg.po
new file mode 100644
index 0000000..6262524
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/tg.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Модли KTextEditor барои KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Илова кардани менюи таҳлили овоз"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Муайянсозии ҳудуди ҷумлаҳо"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Филтри ҳудуди ҷумлаҳо барои KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Ҷойивазкунии автоматӣ"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Филтри худивазкунӣ барои KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Диктор"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Филтри интихоби диктор барои KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Тағйирдиҳии XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Филтри XMLбарои KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Таҳлили овоз"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Танзими таҳлили овоз"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;овоз;ибора;таҳлили овоз;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Системаи таҳлили овоз мӯътадил кор мекунад."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Демон таҳлили овоз"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Идоракунии фармоишҳо бо воситаи таҳлили овоз"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Идоракунии таҳлили овоз"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Идоракунандаи микшерҳои таҳлили овоз"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Модули KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Модули KTTSD aKode барои аудио"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Модули KTTSD ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Модули KTTSD ALSA барои аудио"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Модули Arts барои KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Модули барориши овози KTTSD ба воситаи aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Модули GStreamer барои KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Модули барориши овози KTTSD ба воситаи GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Модули барориши овози KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Сатри фармоишӣ "
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Консоли интерфейс ба микшерҳо барои таҳлили овоз"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Системаи Синтезиси Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Таҳлилгари овози Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Фестивали Интерактив"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Таҳлилгари овози Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Таҳлилгари овози Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Таҳлилгари овози Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Таҳлилгари овози FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Системаи олмонии таҳлили овози hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/th.po b/translations/desktop_files/kttsd-desktops/th.po
new file mode 100644
index 0000000..f4bfd22
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/th.po
@@ -0,0 +1,229 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "ปลั๊กอิน KTTSD สำหรับ KTextEditor"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "เพิ่มรายการเมนูสำหรับอ่านข้อความเป็นเสียง"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr ""
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr ""
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr ""
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr ""
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr ""
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/tr.po b/translations/desktop_files/kttsd-desktops/tr.po
new file mode 100644
index 0000000..f73eab7
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/tr.po
@@ -0,0 +1,230 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Ktexteditor KTTSD Eklentisi"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Metni okumak için bir menü girdisi oluşturur"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Cümle Sınırlama Algılayıcı"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS için Cümle Sınırlama Algılayıcı Süzgeci Eklentisi"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Metin Değiştirici"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS için Genel Metin Değiştirme Süzgeci Eklentisi"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Konuşmacı Seçici"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS için Genel Konuşma Seçici Süzgeci Eklentisi"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML Dönüştürücü"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS için genel XML Dönüştürücü Süzgeci Eklentisi"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Metinden Konuşmaya"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Metinden Konuşmaya Kontrol Modülü"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Metinden Konuşmaya sistemi düzgün çalışıyor."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+#, fuzzy
+msgid "KTTSD"
+msgstr "Kttsmgr"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE Metinden Konuşmaya Artalan Süreci"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "Kttsjobmgrpart"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE Metinden Konuşmaya Görev Yöneticisi"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "Kttsmgr"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Metinden Konuşmaya Yöneticisi"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE Metinden Konuşmaya yöneticisi"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode Eklentisi"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSD aRts ses eklentisi"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSD ALSA Eklentisi"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSD ALSA ses eklentisi"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSD Arts Eklentisi"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSD aRts ses eklentisi"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSD GStreamer Eklentisi"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSD GStreamer ses eklentisi"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTS için Ses Eklentisi"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Komut"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Komut satırından genel konuşma bireştirici"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS Sentezleme Sistemi"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS konuşma sentezleyicisi"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Etkileşimli Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival konuşma bireştirici"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite(flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite(flite) konuşma bireştirici"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "Freetts"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS konuşma bireştirici"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Alman hadifix metinden konuşmaya sistemi"
diff --git a/translations/desktop_files/kttsd-desktops/uk.po b/translations/desktop_files/kttsd-desktops/uk.po
new file mode 100644
index 0000000..cfbeea5
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/uk.po
@@ -0,0 +1,234 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# Roman Savochenko <roman@oscada.org>, 2021.
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: 2021-10-06 16:30+0000\n"
+"Last-Translator: Roman Savochenko <roman@oscada.org>\n"
+"Language-Team: Ukrainian <https://mirror.git.trinitydesktop.org/weblate/"
+"projects/tdeaccessibility/kttsd-desktop-files/uk/>\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+"X-Generator: Weblate 4.8.1\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Втулок KTextEditor KTTSD"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Додає елемент меню для декламування тексту"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Виявлення меж речень"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Втулок фільтра виявлення меж для KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Заміна рядків"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Втулок загального фільтра заміни рядків для KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Вибір диктора"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Загальний втулок Фільтра вибору диктора для KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Перетворення XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Втулок загального фільтра перетворення XML для KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Синтез мовлення з тексту"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Модуль керування синтезом мовлення з тексту"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;мовлення;синтез;голос;текст;"
+"команда;через;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Система синтезу мовлення з тексту функціонує правильно."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSD"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Демон TDE синтезу мовлення з тексту"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr "kttsjobmgrpart"
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Менеджер завдань TDE для синтезу мовлення з тексту"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr "KTTSMgr"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Менеджер для синтезу мовлення з тексту"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Менеджер TDE для синтезу мовлення з тексту"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Втулок aKode для KTTSD"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Втулок аудіо aKode для KTTSD"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Втулок ALSA для KTTSD"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Втулок аудіо ALSA для KTTSD"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Втулок Arts для KTTSD"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Звуковий втулок aRts для KTTSD"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Втулок GStreamer для KTTSD"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Звуковий втулок GStreamer для KTTSD"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Звуковий втулок для KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Команда"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Загальний синтезатор мовлення з командного рядка"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Система синтезування мовлення Epos TTS"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Синтезатор мовлення Epos TTS"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Festival Interactive"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Синтезатор мовлення Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Легкий Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Синтезатор мовлення Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "FreeTTS"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Синтезатор мовлення FreeTTS"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr "Hadifix"
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Німецька система синтезу мовлення hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/vi.po b/translations/desktop_files/kttsd-desktops/vi.po
new file mode 100644
index 0000000..407e246
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/vi.po
@@ -0,0 +1,232 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "Trình bổ sung KTTSD cho Trình soạn thảo K"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "Thêm danh mục thực đơn cho việc đọc văn bản"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "Trình nhận dạng Ranh giới Câu văn"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "Trình bổ sung Lọc Nhận dạng Ranh giới Câu văn cho KTTS"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "Trình thay Chuỗi"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "Trình bổ sung Lọc Thay Chuỗi Chung cho KTTS"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "Trình chọn Máy nói"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "Trình bổ sung Lọc Chọn Máy nói Chung cho KTTS"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "Trình chuyển đổi XML"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "Trình bổ sung Lọc Chuyển đổi XML Chung cho KTTS"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "Văn bản sang Tiếng nói"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "Mô đun Điều khiển Văn bản sang Tiếng nói"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;văn bản;sang;tiếng nói;nói;tổng hợp;"
+"tạp;festival;lệnh;freets;proklam;qua;giọng nói;"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "Hệ thống văn bản sang tiếng nói có vẻ hoạt động tốt."
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "Trình nền Văn bản sang Tiếng nói TDE"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "Trình quản lý Tác vụ Văn bản sang Tiếng nói TDE"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "Trình quản lý Văn bản sang Tiếng nói"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "Trình quản lý Văn bản sang Tiếng nói TDE"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "Trình bổ sung KTTSD aKode"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "Trình bổ sung âm thanh KTTSD aKode"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "Trình bổ sung KTTSD ALSA"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "Trình bổ sung âm thanh KTTSD ALSA"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "Trình bổ sung KTTSD Arts"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "Trình bổ sung âm thanh KTTSD aRts"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "Trình bổ sung KTTSD GStreamer"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "Trình bổ sung âm thanh KTTSD GStreamer"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "Trình bổ sung Âm thanh cho KTTSD"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "Ra lệnh"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "Tổng hợp giọng nói chung cho việc ra lệnh"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Hệ thống Tổng hợp Văn bản sang Tiếng nói Epos"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Trình tổng hợp Văn bản sang Tiếng nói Epos"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr "Tương tác Festival"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Trình tổng hợp tiếng nói Festival"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+#, fuzzy
+msgid "Festival Lite (flite)"
+msgstr "Trình tổng hợp tiếng nói Festival Lite (flite)"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Trình tổng hợp tiếng nói Festival Lite (flite)"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr "Văn bản sang Tiếng nói Tự do"
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "Trình tổng hợp tiếng nói Tự do"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "Hệ thống tổng hợp tiếng nói Đức hadifix"
diff --git a/translations/desktop_files/kttsd-desktops/zh_CN.po b/translations/desktop_files/kttsd-desktops/zh_CN.po
new file mode 100644
index 0000000..600bd05
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/zh_CN.po
@@ -0,0 +1,230 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_CN\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "KTextEditor KTTSD 插件"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "添加可读出文本的菜单项"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "语句分界检测器"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+#, fuzzy
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "语句分界检测器"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr ""
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr ""
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr ""
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr ""
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr ""
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr ""
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr ""
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr ""
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr ""
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+msgid "KTTSMgr"
+msgstr ""
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr ""
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr ""
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr ""
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr ""
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr ""
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr ""
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr ""
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr ""
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr ""
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr ""
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr ""
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr ""
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr ""
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr ""
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+msgid "Festival Interactive"
+msgstr ""
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr ""
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr ""
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr ""
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr ""
diff --git a/translations/desktop_files/kttsd-desktops/zh_TW.po b/translations/desktop_files/kttsd-desktops/zh_TW.po
new file mode 100644
index 0000000..531cdf3
--- /dev/null
+++ b/translations/desktop_files/kttsd-desktops/zh_TW.po
@@ -0,0 +1,231 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-03-14 11:47+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: zh_TW\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Name
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:2
+msgid "KTextEditor KTTSD Plugin"
+msgstr "K-文字編輯器的 kttsd 外掛程式"
+
+#. Comment
+#: app-plugins/kate/tdetexteditor_kttsd.desktop:4
+msgid "Adds a menu entry for speaking the text"
+msgstr "新增朗讀文字的目錄"
+
+#. Name
+#: filters/sbd/kttsd_sbdplugin.desktop:2
+msgid "Sentence Boundary Detector"
+msgstr "句子界限偵測器"
+
+#. Comment
+#: filters/sbd/kttsd_sbdplugin.desktop:4
+msgid "Sentence Boundary Detection Filter Plugin for KTTS"
+msgstr "KTTS 使用的偵測句子是否已結束的外掛程式"
+
+#. Name
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:2
+msgid "String Replacer"
+msgstr "字串置換器"
+
+#. Comment
+#: filters/stringreplacer/kttsd_stringreplacerplugin.desktop:4
+msgid "Generic String Replacement Filter Plugin for KTTS"
+msgstr "KTTS 使用的字串置換外掛程式"
+
+#. Name
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:2
+msgid "Talker Chooser"
+msgstr "語音選擇器"
+
+#. Comment
+#: filters/talkerchooser/kttsd_talkerchooserplugin.desktop:4
+msgid "Generic Talker Chooser Filter Plugin for KTTS"
+msgstr "KTTS 使用的語音選擇外掛程式"
+
+#. Name
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:2
+msgid "XML Transformer"
+msgstr "XML 轉換器"
+
+#. Comment
+#: filters/xmltransformer/kttsd_xmltransformerplugin.desktop:4
+msgid "Generic XML Tranformation Filter Plugin for KTTS"
+msgstr "KTTS 使用的一般 XML 轉換外掛程式"
+
+#. Name
+#: kcmkttsmgr/kcmkttsd.desktop:2
+msgid "Text-to-Speech"
+msgstr "文字轉語音"
+
+#. Comment
+#: kcmkttsmgr/kcmkttsd.desktop:4
+msgid "Text-to-Speech Control Module"
+msgstr "文字轉語音控制模組"
+
+#. Keywords
+#: kcmkttsmgr/kcmkttsd.desktop:6
+msgid ""
+"kttsd;kcmkttsmgr;kttsmgr;tts;ttsd;ktts;text;to;speech;speak;synthesizer;"
+"synth;festival;command;freetts;proklam;via;voice;"
+msgstr ""
+
+#. Name
+#: kcmkttsmgr/kcmkttsd_testmessage.desktop:2
+msgid "The text-to-speech system seems to be functioning properly."
+msgstr "文字轉語音的系統已正常運作。"
+
+#. Name
+#: kttsd/kttsd.desktop:2 libkttsd/kttsd_synthplugin.desktop:2
+msgid "KTTSD"
+msgstr "KTTSd"
+
+#. Comment
+#: kttsd/kttsd.desktop:3
+msgid "TDE Text To Speech Daemon"
+msgstr "TDE 文字轉語音的常駐精靈"
+
+#. Name
+#: kttsjobmgr/kttsjobmgr.desktop:2
+msgid "kttsjobmgrpart"
+msgstr ""
+
+#. Comment
+#: kttsjobmgr/kttsjobmgr.desktop:4
+msgid "TDE Text-to-speech Job Manager"
+msgstr "TDE 文字轉語音工作管理員"
+
+#. Name
+#: kttsmgr/kttsmgr.desktop:2
+#, fuzzy
+msgid "KTTSMgr"
+msgstr "KTTSd"
+
+#. GenericName
+#: kttsmgr/kttsmgr.desktop:4
+msgid "Text-to-Speech Manager"
+msgstr "文字轉語音管理員"
+
+#. Comment
+#: kttsmgr/kttsmgr.desktop:6
+msgid "TDE Text-to-speech Manager"
+msgstr "TDE 文字轉語音管理員"
+
+#. Name
+#: players/akodeplayer/kttsd_akodeplugin.desktop:2
+msgid "KTTSD aKode Plugin"
+msgstr "KTTSD aKode 外掛程式"
+
+#. Comment
+#: players/akodeplayer/kttsd_akodeplugin.desktop:4
+msgid "KTTSD aKode audio plugin"
+msgstr "KTTSd aKode 語音外掛程式"
+
+#. Name
+#: players/alsaplayer/kttsd_alsaplugin.desktop:2
+msgid "KTTSD ALSA Plugin"
+msgstr "KTTSd ALSA 外掛程式"
+
+#. Comment
+#: players/alsaplayer/kttsd_alsaplugin.desktop:4
+msgid "KTTSD ALSA audio plugin"
+msgstr "KTTSd ALSA 語音外掛程式"
+
+#. Name
+#: players/artsplayer/kttsd_artsplugin.desktop:2
+msgid "KTTSD Arts Plugin"
+msgstr "KTTSd Arts 外掛程式"
+
+#. Comment
+#: players/artsplayer/kttsd_artsplugin.desktop:4
+msgid "KTTSD aRts audio plugin"
+msgstr "KTTSd aRts 語音外掛程式"
+
+#. Name
+#: players/gstplayer/kttsd_gstplugin.desktop:2
+msgid "KTTSD GStreamer Plugin"
+msgstr "KTTSd GStreamer 外掛程式"
+
+#. Comment
+#: players/gstplayer/kttsd_gstplugin.desktop:4
+msgid "KTTSD GStreamer audio plugin"
+msgstr "KTTSd GStreamer 語音外掛程式"
+
+#. Comment
+#: players/kttsd_audioplugin.desktop:2
+msgid "Audio Plugin for KTTSD"
+msgstr "KTTSd 語音外掛程式"
+
+#. Name
+#: plugins/command/kttsd_commandplugin.desktop:2
+msgid "Command"
+msgstr "命令"
+
+#. Comment
+#: plugins/command/kttsd_commandplugin.desktop:4
+msgid "Generic speech synthesizer from command line"
+msgstr "從命令列的一般語音合成器"
+
+#. Name
+#: plugins/epos/kttsd_eposplugin.desktop:2
+msgid "Epos TTS Synthesis System"
+msgstr "Epos TTS 合成系統"
+
+#. Comment
+#: plugins/epos/kttsd_eposplugin.desktop:4
+msgid "Epos TTS speech synthesizer"
+msgstr "Epos TTS 語音合成器"
+
+#. Name
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:2
+#, fuzzy
+msgid "Festival Interactive"
+msgstr "Festival 語音合成器"
+
+#. Comment
+#: plugins/festivalint/kttsd_festivalintplugin.desktop:4
+msgid "Festival speech synthetizer"
+msgstr "Festival 語音合成器"
+
+#. Name
+#: plugins/flite/kttsd_fliteplugin.desktop:2
+msgid "Festival Lite (flite)"
+msgstr "Festival Lite (flite)4"
+
+#. Comment
+#: plugins/flite/kttsd_fliteplugin.desktop:4
+msgid "Festival Lite (flite) speech synthesizer"
+msgstr "Festival Lite (flite) 語音合成器"
+
+#. Name
+#: plugins/freetts/kttsd_freettsplugin.desktop:2
+msgid "FreeTTS"
+msgstr ""
+
+#. Comment
+#: plugins/freetts/kttsd_freettsplugin.desktop:4
+msgid "FreeTTS speech synthesizer"
+msgstr "FreeTTS 語音合成器"
+
+#. Name
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:2
+msgid "Hadifix"
+msgstr ""
+
+#. Comment
+#: plugins/hadifix/kttsd_hadifixplugin.desktop:4
+msgid "German hadifix text-to-speech system"
+msgstr "德語 hadifix 文字轉語音系統"