summaryrefslogtreecommitdiffstats
path: root/kate/plugins/kdatatool
diff options
context:
space:
mode:
Diffstat (limited to 'kate/plugins/kdatatool')
-rw-r--r--kate/plugins/kdatatool/Makefile.am19
-rw-r--r--kate/plugins/kdatatool/kate_kdatatool.cpp246
-rw-r--r--kate/plugins/kdatatool/kate_kdatatool.h76
-rw-r--r--kate/plugins/kdatatool/ktexteditor_kdatatool.desktop169
-rw-r--r--kate/plugins/kdatatool/ktexteditor_kdatatoolui.rc8
5 files changed, 518 insertions, 0 deletions
diff --git a/kate/plugins/kdatatool/Makefile.am b/kate/plugins/kdatatool/Makefile.am
new file mode 100644
index 000000000..115391ada
--- /dev/null
+++ b/kate/plugins/kdatatool/Makefile.am
@@ -0,0 +1,19 @@
+INCLUDES = -I$(top_srcdir)/interfaces -I$(top_srcdir)/kdefx $(all_includes)
+METASOURCES = AUTO
+
+# Install this plugin in the KDE modules directory
+kde_module_LTLIBRARIES = ktexteditor_kdatatool.la
+
+ktexteditor_kdatatool_la_SOURCES = kate_kdatatool.cpp
+ktexteditor_kdatatool_la_LIBADD = $(top_builddir)/interfaces/ktexteditor/libktexteditor.la
+ktexteditor_kdatatool_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries)
+
+kdatatooldatadir = $(kde_datadir)/ktexteditor_kdatatool
+kdatatooldata_DATA = ktexteditor_kdatatoolui.rc
+
+kde_services_DATA = ktexteditor_kdatatool.desktop
+
+messages: rc.cpp
+ $(XGETTEXT) *.cpp *.h -o $(podir)/ktexteditor_kdatatool.pot
+
+
diff --git a/kate/plugins/kdatatool/kate_kdatatool.cpp b/kate/plugins/kdatatool/kate_kdatatool.cpp
new file mode 100644
index 000000000..3c63bcb4f
--- /dev/null
+++ b/kate/plugins/kdatatool/kate_kdatatool.cpp
@@ -0,0 +1,246 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2002 Joseph Wenninger <jowenn@jowenn.at> and Daniel Naber <daniel.naber@t-online.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+//BEGIN includes
+#include "kate_kdatatool.h"
+#include "kate_kdatatool.moc"
+#include <kgenericfactory.h>
+#include <kaction.h>
+#include <ktexteditor/view.h>
+#include <kdebug.h>
+#include <kdatatool.h>
+#include <ktexteditor/document.h>
+#include <ktexteditor/selectioninterface.h>
+#include <kpopupmenu.h>
+#include <ktexteditor/viewcursorinterface.h>
+#include <ktexteditor/editinterface.h>
+#include <kmessagebox.h>
+//END includes
+
+
+K_EXPORT_COMPONENT_FACTORY( ktexteditor_kdatatool, KGenericFactory<KTextEditor::KDataToolPlugin>( "ktexteditor_kdatatool" ) )
+
+namespace KTextEditor {
+
+KDataToolPlugin::KDataToolPlugin( QObject *parent, const char* name, const QStringList& )
+ : KTextEditor::Plugin ( (KTextEditor::Document*) parent, name )
+{
+}
+
+
+KDataToolPlugin::~KDataToolPlugin ()
+{
+}
+
+void KDataToolPlugin::addView(KTextEditor::View *view)
+{
+ KDataToolPluginView *nview = new KDataToolPluginView (view);
+ nview->setView (view);
+ m_views.append (nview);
+}
+
+void KDataToolPlugin::removeView(KTextEditor::View *view)
+{
+ for (uint z=0; z < m_views.count(); z++)
+ {
+ if (m_views.at(z)->parentClient() == view)
+ {
+ KDataToolPluginView *nview = m_views.at(z);
+ m_views.remove (nview);
+ delete nview;
+ }
+ }
+}
+
+
+KDataToolPluginView::KDataToolPluginView( KTextEditor::View *view )
+ :m_menu(0),m_notAvailable(0)
+{
+
+ view->insertChildClient (this);
+ setInstance( KGenericFactory<KDataToolPlugin>::instance() );
+
+ m_menu = new KActionMenu(i18n("Data Tools"), actionCollection(), "popup_dataTool");
+ connect(m_menu->popupMenu(), SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
+ setXMLFile("ktexteditor_kdatatoolui.rc");
+
+ m_view = view;
+}
+
+KDataToolPluginView::~KDataToolPluginView()
+{
+ m_view->removeChildClient (this);
+ delete m_menu;
+}
+
+void KDataToolPluginView::aboutToShow()
+{
+ kdDebug()<<"KTextEditor::KDataToolPluginView::aboutToShow"<<endl;
+ QString word;
+ m_singleWord = false;
+ m_wordUnderCursor = QString::null;
+
+ // unplug old actions, if any:
+ KAction *ac;
+ for ( ac = m_actionList.first(); ac; ac = m_actionList.next() ) {
+ m_menu->remove(ac);
+ }
+ if (m_notAvailable) {
+ m_menu->remove(m_notAvailable);
+ delete m_notAvailable;
+ m_notAvailable=0;
+ }
+ if ( selectionInterface(m_view->document())->hasSelection() )
+ {
+ word = selectionInterface(m_view->document())->selection();
+ if ( word.find(' ') == -1 && word.find('\t') == -1 && word.find('\n') == -1 )
+ m_singleWord = true;
+ else
+ m_singleWord = false;
+ } else {
+ // No selection -> use word under cursor
+ KTextEditor::EditInterface *ei;
+ KTextEditor::ViewCursorInterface *ci;
+ KTextEditor::View *v = (KTextEditor::View*)m_view;
+ ei = KTextEditor::editInterface(v->document());
+ ci = KTextEditor::viewCursorInterface(v);
+ uint line, col;
+ ci->cursorPositionReal(&line, &col);
+ QString tmp_line = ei->textLine(line);
+ m_wordUnderCursor = "";
+ // find begin of word:
+ m_singleWord_start = 0;
+ for(int i = col; i >= 0; i--) {
+ QChar ch = tmp_line.at(i);
+ if( ! (ch.isLetter() || ch == '-' || ch == '\'') )
+ {
+ m_singleWord_start = i+1;
+ break;
+ }
+ m_wordUnderCursor = ch + m_wordUnderCursor;
+ }
+ // find end of word:
+ m_singleWord_end = tmp_line.length();
+ for(uint i = col+1; i < tmp_line.length(); i++) {
+ QChar ch = tmp_line.at(i);
+ if( ! (ch.isLetter() || ch == '-' || ch == '\'') )
+ {
+ m_singleWord_end = i;
+ break;
+ }
+ m_wordUnderCursor += ch;
+ }
+ if( ! m_wordUnderCursor.isEmpty() )
+ {
+ m_singleWord = true;
+ m_singleWord_line = line;
+ } else {
+ m_notAvailable = new KAction(i18n("(not available)"), QString::null, 0, this,
+ SLOT(slotNotAvailable()), actionCollection(),"dt_n_av");
+ m_menu->insert(m_notAvailable);
+ return;
+ }
+ }
+
+ KInstance *inst=instance();
+
+ QValueList<KDataToolInfo> tools;
+ tools += KDataToolInfo::query( "QString", "text/plain", inst );
+ if( m_singleWord )
+ tools += KDataToolInfo::query( "QString", "application/x-singleword", inst );
+
+ m_actionList = KDataToolAction::dataToolActionList( tools, this,
+ SLOT( slotToolActivated( const KDataToolInfo &, const QString & ) ) );
+
+ for ( ac = m_actionList.first(); ac; ac = m_actionList.next() ) {
+ m_menu->insert(ac);
+ }
+
+ if( m_actionList.isEmpty() ) {
+ m_notAvailable = new KAction(i18n("(not available)"), QString::null, 0, this,
+ SLOT(slotNotAvailable()), actionCollection(),"dt_n_av");
+ m_menu->insert(m_notAvailable);
+ }
+}
+
+void KDataToolPluginView::slotNotAvailable()
+{
+ KMessageBox::sorry(0, i18n("Data tools are only available when text is selected, "
+ "or when the right mouse button is clicked over a word. If no data tools are offered "
+ "even when text is selected, you need to install them. Some data tools are part "
+ "of the KOffice package."));
+}
+
+void KDataToolPluginView::slotToolActivated( const KDataToolInfo &info, const QString &command )
+{
+
+ KDataTool* tool = info.createTool( );
+ if ( !tool )
+ {
+ kdWarning() << "Could not create Tool !" << endl;
+ return;
+ }
+
+ QString text;
+ if ( selectionInterface(m_view->document())->hasSelection() )
+ text = selectionInterface(m_view->document())->selection();
+ else
+ text = m_wordUnderCursor;
+
+ QString mimetype = "text/plain";
+ QString datatype = "QString";
+
+ // If unsupported (and if we have a single word indeed), try application/x-singleword
+ if ( !info.mimeTypes().contains( mimetype ) && m_singleWord )
+ mimetype = "application/x-singleword";
+
+ kdDebug() << "Running tool with datatype=" << datatype << " mimetype=" << mimetype << endl;
+
+ QString origText = text;
+
+ if ( tool->run( command, &text, datatype, mimetype) )
+ {
+ kdDebug() << "Tool ran. Text is now " << text << endl;
+ if ( origText != text )
+ {
+ uint line, col;
+ viewCursorInterface(m_view)->cursorPositionReal(&line, &col);
+ if ( ! selectionInterface(m_view->document())->hasSelection() )
+ {
+ KTextEditor::SelectionInterface *si;
+ si = KTextEditor::selectionInterface(m_view->document());
+ si->setSelection(m_singleWord_line, m_singleWord_start, m_singleWord_line, m_singleWord_end);
+ }
+
+ // replace selection with 'text'
+ selectionInterface(m_view->document())->removeSelectedText();
+ viewCursorInterface(m_view)->cursorPositionReal(&line, &col);
+ editInterface(m_view->document())->insertText(line, col, text);
+ // fixme: place cursor at the end:
+ /* No idea yet (Joseph Wenninger)
+ for ( uint i = 0; i < text.length(); i++ ) {
+ viewCursorInterface(m_view)->cursorRight();
+ } */
+ }
+ }
+
+ delete tool;
+}
+
+
+}
diff --git a/kate/plugins/kdatatool/kate_kdatatool.h b/kate/plugins/kdatatool/kate_kdatatool.h
new file mode 100644
index 000000000..bde5d70b2
--- /dev/null
+++ b/kate/plugins/kdatatool/kate_kdatatool.h
@@ -0,0 +1,76 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2002 Joseph Wenninger <jowenn@jowenn.at> and Daniel Naber <daniel.naber@t-online.de>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+// $Id$
+
+#ifndef _KATE_KDATATOOL_
+#define _KATE_KDATATOOL_
+
+#include <ktexteditor/plugin.h>
+#include <qstringlist.h>
+#include <kxmlguiclient.h>
+#include <qguardedptr.h>
+
+class KActionMenu;
+class KDataToolInfo;
+
+namespace KTextEditor
+{
+
+class View;
+
+class KDataToolPlugin : public KTextEditor::Plugin, public KTextEditor::PluginViewInterface
+{
+ Q_OBJECT
+
+public:
+ KDataToolPlugin( QObject *parent = 0, const char* name = 0, const QStringList &args = QStringList() );
+ virtual ~KDataToolPlugin();
+ void addView (KTextEditor::View *view);
+ void removeView (KTextEditor::View *view);
+
+ private:
+ QPtrList<class KDataToolPluginView> m_views;
+};
+
+
+class KDataToolPluginView : public QObject, public KXMLGUIClient
+{
+ Q_OBJECT
+
+public:
+ KDataToolPluginView( KTextEditor::View *view );
+ virtual ~KDataToolPluginView();
+ void setView( KTextEditor::View* ){;}
+private:
+ View *m_view;
+ bool m_singleWord;
+ int m_singleWord_line, m_singleWord_start, m_singleWord_end;
+ QString m_wordUnderCursor;
+ QPtrList<KAction> m_actionList;
+ QGuardedPtr<KActionMenu> m_menu;
+ KAction *m_notAvailable;
+protected slots:
+ void aboutToShow();
+ void slotToolActivated( const KDataToolInfo &datatoolinfo, const QString &string );
+ void slotNotAvailable();
+};
+
+}
+
+#endif
diff --git a/kate/plugins/kdatatool/ktexteditor_kdatatool.desktop b/kate/plugins/kdatatool/ktexteditor_kdatatool.desktop
new file mode 100644
index 000000000..66bb095d9
--- /dev/null
+++ b/kate/plugins/kdatatool/ktexteditor_kdatatool.desktop
@@ -0,0 +1,169 @@
+[Desktop Entry]
+Name=KTextEditor KDataTool Plugin
+Name[af]=KTextEditor KDataTool Inprop Module
+Name[ar]=ملحق KDataTool لـ KTextEditor
+Name[az]=KTextEditor KDataVasitəsi Əlavəsi
+Name[be]=Модуль KDataTool
+Name[bn]=কে-টেক্সট-এডিটর কে-ডেটা-টুল প্লাগ-ইন
+Name[br]=Lugent KTextEditor KDataTool
+Name[bs]=KTextEditor KDataTool dodatak
+Name[ca]=Connector KDataTool per al KTextEditor
+Name[cs]=Modul datového nástroje
+Name[csb]=Pligins editorë do òbsłużënkù pòdôwków
+Name[cy]=Ategyn KErfynData KGolyguTestun
+Name[da]=KTextEditor KDataTool-plugin
+Name[de]=KTextEditor-Erweiterung für KDataTool
+Name[el]=Πρόσθετο KTextEditor KDataTool
+Name[eo]=KTextEditor KDataTool Kromaĵo
+Name[es]=Plugin KDataTool de KTextEditor
+Name[et]=KTextEditori KDataTool plugin
+Name[eu]=KTextEditor-en KDataTool plugin-a
+Name[fa]=وصلۀ ابزار KTextEditor KData
+Name[fi]=KTextEditor KDataTool -lisäosa
+Name[fr]=Module externe KDataTool pour KTextEditor
+Name[fy]=KTextEditor-plugin foar KDatatool
+Name[ga]=Breiseán KDataTool do KTextEditor
+Name[gl]=Plugin KDataTool de KTextEditor
+Name[he]=תוסף כלי נתונים ל־KTextEditor
+Name[hi]=के-टेक्स्ट-एडिटर के-डाटा-टूल प्लगइन
+Name[hr]=KTextEditor dodatak za KDataTool
+Name[hu]=KTextEditor KDataTool bővítőmodul
+Name[id]=Plugin KDataTool untuk KTextEditor
+Name[is]=KTextEditor KDataTool íforrit
+Name[it]=Plugin KDataTool di KTextEditor
+Name[ja]=KTextEditor KDataTool プラグイン
+Name[ka]=მონაცემთა დამუშავების KTextEditor-ის მოდული
+Name[kk]=KTextEditor KDataTool модулі
+Name[km]=កម្មវិធី​ជំនួយ​ខាង​ក្នុង KDataTool KTextEditor
+Name[lb]=KTextEditor-KDataTool-Plugin
+Name[lt]=KTextEditor KDataTool priedas
+Name[lv]=KTextEditor KDataTool spraudnis
+Name[mk]=KTextEditor KDataTool приклучок
+Name[mn]=Текст боловсруулагчийн өгөгдлийн хэрэгслийн плугин
+Name[ms]=Plug masuk KDataTool KTextEditor
+Name[mt]=Name=Plagin ta' KTextEditor - KDataTool
+Name[nb]=KTextEditor KDataTool-programtillegg
+Name[nds]=KTextEditor-Plugin för KDataTool
+Name[ne]=KTextEditor KDataTool प्लगइन
+Name[nl]=KTextEditor-plugin voor KDatatool
+Name[nn]=KDataTool-programtillegg for skriveprogram
+Name[nso]=Tsenyo ya Sebereka sa Data ya K ya Mofetosi wa Sengwalwana sa K
+Name[pa]=KTextEditor KDataTool ਪਲੱਗਿੰਨ
+Name[pl]=Wtyczka edytora do obsługi danych
+Name[pt]='Plugin' do KDataTool do KTextEditor
+Name[pt_BR]=Plug-in de Ferramenta de Dados para o Editor de textos
+Name[ro]=Modul KDataTool pentru KTextEditor
+Name[ru]=Модуль обработки данных KTextEditor
+Name[rw]=Icyomeka ry'Igikoresho KIbyatanzwe rya KMuhinduziMwandiko
+Name[se]=KDataTool-lassemoduvla čállinprográmmaid várás
+Name[sk]=Module KDataTool KTextEditor
+Name[sl]=Vstavek KTextEditor KDataTool
+Name[sq]=KTextEditor Shtojca: KDataTool
+Name[sr]=KTextEditor KDataTool прикључак
+Name[sr@Latn]=KTextEditor KDataTool priključak
+Name[ss]=I-plugin KDataTool ku KTextEditor
+Name[sv]=Ktexteditor-insticksprogram med dataverktyg
+Name[ta]=கேஉரைதொகுப்பாளர் கேதகவல் கருவி சொருகுப்பொருள்
+Name[te]=కెటెక్స్ట్ ఎడిటర్ కెడాటాటూల్ ప్లగిన్
+Name[tg]=Пуркунандаи KTextEditor барои таҳрири додаҳо
+Name[th]=ปลักอินเครื่องมือ KData ของ KTextEditor
+Name[tr]=KTextEditor KDataTool Eklentisi
+Name[tt]=KTextEditor'nıñ Eşkärtü Quşılması
+Name[uk]=Втулок KTextEditor KDataTool
+Name[uz]=KTextEditor KDataTool plagini
+Name[uz@cyrillic]=KTextEditor KDataTool плагини
+Name[ven]=Pulagini ya tshishumiswa tsha data ya K ya musengulusi wa manwalwa a K
+Name[vi]=Bộ cầm phít Công cụ KData KTextEditor
+Name[wa]=Tchôke-divins KDataTool po KTextEditor
+Name[xh]=KTextEditor KDataTool Iplagi yangaphakathi
+Name[zh_CN]=KTextEditor KDataTool 插件
+Name[zh_HK]=KTextEditor KDataTool 外掛程式
+Name[zh_TW]=KTextEditor KDataTool 外排程式
+Name[zu]=I-Plugin ye-KDataTool ye-KTextEditor
+Comment=Enable data tools like thesaurus and spell check (if installed)
+Comment[af]=Aktiveer data nutsprogramme soos thesaurus en spel bevestig (as geïnstalleer)
+Comment[ar]=قم بتفعيل أدوات البيانات مثل المترادفات والتدقيق اﻹملائي (إذا كان منصبا)
+Comment[az]=Tezaurus və imla yoxlaması kimi data vasitələrini fəallaşdır (quruludursa)
+Comment[be]=Інструменты працы з даннямі: тэзаўрус, спраўджванне правапісу і інш. (калі яны ўстаноўленыя)
+Comment[bg]=Поддръжка на текстообработващи инструменти, като проверка на правописа и синонимен речник
+Comment[bn]=থিসরার বা বানান পরীক্ষক ইত্যাদি সক্রিয় করে (যদি পাওয়া যায়)
+Comment[bs]=Uključi alate za podatke kao što su thesaurus i provjera pravopisa (ako su instalirani)
+Comment[ca]=Habilita les eines per a la gestió de dades, com ara el thesaurus i el corrector ortogràfic (si estan instal·lats)
+Comment[cs]=Povolí datové nástroje jako tezaurus nebo kontrolu pravopisu, pokud jsou nainstalovány
+Comment[csb]=Òbsłużënk nôrzãdzów ôrtu tezaurus ë sprôwdzanié pisënkù
+Comment[cy]=Alluogi offer data fel theawrws a cywirydd sillafu (os maent wedi'u gosod)
+Comment[da]=Aktivér dataværktøjer som begrebsordbog og stavekontrol (hvis installeret)
+Comment[de]=Aktivierung von Dienstprogrammen wie Thesaurus und Rechtschreibprüfung (falls installiert)
+Comment[el]=Ενεργοποίηση εργαλείων δεδομένων όπως ο θησαυρός λέξεων και ο ορθογραφικός έλεγχος (αν είναι εγκατεστημένα)
+Comment[eo]=Enŝalti ilojn kiel samsignifilon kaj literumilon (se instalitaj)
+Comment[es]=Activa herramientas como el thesaurus y el corrector ortográfico (si instalados)
+Comment[et]=Andmete tööriistad, näiteks thesaurus ja õigekirja kontroll
+Comment[eu]=Gaitu thesaurus-a eta ortografia zuzentzailea bezalako tresnak (instalatua badaude)
+Comment[fa]=فعال‌سازی ابزارهای داده مانند واژه‌نامه و غلط‌گیر (در صورت نصب)
+Comment[fi]=Käytä datatyökaluja, kuten oikolukua ja sanakirjaa (jos asennettuna)
+Comment[fr]=Activer les outils de données comme le thésaurus et la correction orthographique (s'ils sont installés)
+Comment[fy]=Aktivearjen fan dataprogramma's, lykas de tesaurus en stavering (wannear't dy ynstallearre binne)
+Comment[ga]=Cumasaigh uirlisí mar litreoir agus foclóir (má tá siad ar fáil)
+Comment[gl]=Habilitar ferramentas de dados como sinónimos e corrección ortográfica (se están instalados)
+Comment[he]=אפשר שימוש בכלי נתונים כגון איגרון ובדיקת איות (אם מותקנים כלים כאלה)
+Comment[hi]= डाटा टूल्स जैसे शब्दकोश व वर्तनी जांच को सक्षम करें(यदि स्थापित हों)
+Comment[hr]=Omogućavanje alata poput tezaurusa i provjere pravopisa (ako su instalirani)
+Comment[hsb]=Staja graty kaž tezawrus abo prawopisnu kontrolu k dispoziciji (jeli instalowane)
+Comment[hu]=Adatkezelési eszközök (pl. szinonimaszótár, helyesírás-ellenőrző) támogatása
+Comment[id]=Aktifkan perangkat bantu data seperi thesaurus dan pemeriksa ejaan (bila terpasang)
+Comment[is]=Virkir gagnatól eins og stafsetningaforrit og leiðréttingar (ef uppsett)
+Comment[it]=Abilita gli strumenti per i dati come il dizionario dei sinonimi e il controllo ortografico (se installati)
+Comment[ja]=同義語ツールやスペルチェックなどのデータツールを有効にします (インストールされている場合)
+Comment[ka]=Warktüüch as Thesaurus oder Klookschriever anmaken (wenn op dien Reekner)
+Comment[kk]=Теузаурус пен емле тексеру секілді (егер орнатылған болса) деректерді өңдеу құралдарды пайдалануға мүмкіншілік береді
+Comment[km]=ធ្វើ​ឲ្យ​ឧបករណ៍​ទិន្នន័យ​ប្រើ​បាន ដូច​ជា​កម្រង​វេវចនសព្ទ និង​ពិនិត្យ​អក្ខរាវិរុទ្ធ​ជា​ដើម (បើ​បាន​ដំឡើង)
+Comment[ko]=(깔려 있다면) 비슷한 말 사전과 맞춤법 검사기 같은 도구를 씁니다
+Comment[lb]=Hëllefsprogrammer, wéi Thésaurus an Rechtschreifkontroll, uschalten (wann installéiert)
+Comment[lt]=Įjungia duomenų įrankius, tokius kaip sinonimų žodynas ir rašybos tikrinimas (jei įdiegta)
+Comment[lv]=Ieslēdz instalētos datu rīkus kā tēzaurs un pareizrakstības pārbaudītājs
+Comment[mk]=Овозможување на алатки како енциклопедија или проверка на правопис (ако се инсталирани)
+Comment[mn]=thesaurus and spell check (хэрвээ суусан бол) гэх мэт өгөгдлийн хэрэгслүүдийг нээнэ.
+Comment[ms]=Membolehkan alatan data seperti tesaurus dan periksa ejaan(jika dipasang)
+Comment[mt]=Ippermetti l-użu ta' għodda bħat-teżawru u spell check (jekk installati)
+Comment[nb]=Skru på dataverktøy som ordbok og stavekontroll (hvis det er installert)
+Comment[nds]=Warktüüch as Thesaurus oder Klookschriever anmaken (wenn installeert)
+Comment[ne]=पर्यायकोष र हिज्जे परीक्षण जस्तै डेटा उपकरणहरू सक्षम पार्नुहोस् (यदि स्थापना भएमा)
+Comment[nl]=Activering van hulpprogramma's, zoals de thesaurus en spellingcontrole (indien geïnstalleerd)
+Comment[nn]=Tilgang til dataverktøy som ordliste og stavekontroll
+Comment[nso]=Kgontsha dibereka tsa data goswana le thesaurus le tebelelo yamongwalo (ge di tsentswe)
+Comment[pa]=ਡਾਟਾ ਸੰਦ ਜਿਵੇਂ ਕਿ ਥੀਸਾਰਾਉਸ ਤੇ ਸ਼ਬਦ-ਜੋੜ ਆਦਿ ਯੋਗ(ਜੇਕਰ ਇੰਸਟਾਲ ਹੋਵੇ)
+Comment[pl]=Obsługa narzędzi typu tezaurus i sprawdzanie pisowni
+Comment[pt]=Activa as ferramentas de dados como os sinónimos e a verificação ortográfica (se estiverem instalados)
+Comment[pt_BR]=Habilita as ferramentas de dados, como o Thesaurus e a verificação ortográfica (se instalados)
+Comment[ro]=Activează utilitare de date precum dicţionarul şi verificarea ortografică (dacă sînt instalate)
+Comment[ru]=позволяет использовать утилиты словаря и проверки орфографии (если они установлены)
+Comment[rw]=Gushoboza ibikoresho by'ibyatanzwe nk'impuzansobanuro n'igenzuranyuguti (niba byarakorewe iyinjizaporogaramu)
+Comment[se]=Geavat diehtoreaidduid nugo synonymasátnelisttu ja čállindárkkisteami (jos leat sajáiduhttojuvvon)
+Comment[sk]=Podpora dátových nástrojov, ako je thesaurus a kontrola pravopisu (ak sú nainštalované)
+Comment[sl]=Omogoči orodja za podatke, kot so slovar sopomenk in preverjanje črkovanja (če je nameščen)
+Comment[sq]=Lejo veglat për të dhënat sikurse fjalori i sinonimeve dhe korigjuesi i fjalëve (nëse janë të instaluara)
+Comment[sr]=Укључије алате као што су ризница и провера правописа (ако су инсталирани)
+Comment[sr@Latn]=Uključije alate kao što su riznica i provera pravopisa (ako su instalirani)
+Comment[sv]=Aktivera dataverktyg som synonymordlista och stavningskontroll (om installerade)
+Comment[ta]=அகராதி, எழுத்துப்பிழை திருத்தி போன்ற தகவல் கருவிகளை இயக்கும் (நிறுவப்பட்டிருந்தால்)
+Comment[te]=పదకోశం మరయూ అక్షర తప్పులను పట్టుకొను పనిముట్లను ఉపయోగించు (ఇంస్టాల్ చేసిన పనిచేయును)
+Comment[tg]=Иҷозаи истифодаи утилитаи луғат ва тафтиши имлоро (агар онҳо сабт карда шуда бошанд) медиҳад
+Comment[th]=เปิดใช้งานเครื่องมือจัดการข้อมูลอย่างเช่น พจนานุกรมคำคล้าย หรือ ตรวจคำสะกด (ถ้าได้ติดตั้งไว้)
+Comment[tr]=Thesaurus ve imla denetimi gibi araçları etkinleştir
+Comment[tt]=Süznämä belän imla tikşerü kebek qorallar eşlätä (quyılğan bulsalar)
+Comment[uk]=Надає доступ до засобів на кшталт словників та перевірки правопису (якщо встановлені)
+Comment[uz]=Lugʻat va imloni tekshirish vositalarni yoqish (agar oʻrnatilgan boʻlsa)
+Comment[uz@cyrillic]=Луғат ва имлони текшириш воситаларни ёқиш (агар ўрнатилган бўлса)
+Comment[ven]=U konisa zwishumiswa zwa data sa bugu nau sedza ha tshipelini (arali zwo dzheniswa)
+Comment[vi]=Hiệu lực công cụ dữ liệu như từ điển đồng nghĩa và bộ bắt lỗi chính tả (nếu được cài đặt).
+Comment[wa]=Mete en alaedje les usteyes po manaedjî les dnêyes, come les diccionaires ou les coridjreces (si astalés)
+Comment[xh]=Yenza izixhobo ze data ezinjenge thesaurus nomkhangeli wopelo (ukuba ifakelwe)
+Comment[zh_CN]=启用像辞典(thesaurus)和拼写检查(spell check)这样的数据工具(如果安装了的话)
+Comment[zh_HK]=如果有安裝的話,啟用像同義字字典和拼字檢查等的文字工具
+Comment[zh_TW]=打開資料工具如同義字典與拼字檢查 (如果有安裝的話)
+Comment[zu]=Nika amandla amathuluzi edata anjenge thesaurus kanye nokubheka ukubhalwa kwamagama (uma kufakiwe)
+X-KDE-Library=ktexteditor_kdatatool
+ServiceTypes=KTextEditor/Plugin
+Type=Service
+InitialPreference=8
+MimeType=text/plain
diff --git a/kate/plugins/kdatatool/ktexteditor_kdatatoolui.rc b/kate/plugins/kdatatool/ktexteditor_kdatatoolui.rc
new file mode 100644
index 000000000..b98806200
--- /dev/null
+++ b/kate/plugins/kdatatool/ktexteditor_kdatatoolui.rc
@@ -0,0 +1,8 @@
+<!DOCTYPE kpartgui>
+<kpartplugin name="ktexteditor_kdatatoolui" library="ktexteditor_kdatatool" version="2">
+
+<Menu name="ktexteditor_popup" noMerge="1">
+ <Action name="popup_dataTool" group="popup_operations"/>
+</Menu>
+
+</kpartplugin>