Index: trunk/l10n-support/fr/summit/messages/www/docs_krita_org_reference_manual___brushes___brush_engines.po =================================================================== --- trunk/l10n-support/fr/summit/messages/www/docs_krita_org_reference_manual___brushes___brush_engines.po (revision 1568605) +++ trunk/l10n-support/fr/summit/messages/www/docs_krita_org_reference_manual___brushes___brush_engines.po (revision 1568606) @@ -1,41 +1,40 @@ +# Xavier Besnard , 2020. msgid "" msgstr "" "Project-Id-Version: Krita Manual 4.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-12 12:36+0200\n" -"PO-Revision-Date: 2019-02-27 01:15+0100\n" -"Last-Translator: KDE Francophone \n" -"Language-Team: KDE Francophone \n" +"PO-Revision-Date: 2020-05-06 13:54+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" "Language: fr\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: Lokalize 1.5\n" +"X-Generator: Lokalize 20.04.0\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" "X-Environment: kde\n" "X-Language: fr_FR\n" "X-Qt-Contexts: true\n" "Generated-By: Babel 0.9.6\n" "X-Source-Language: C\n" #. +> trunk5 #: ../../reference_manual/brushes/brush_engines.rst:5 -#, fuzzy #| msgctxt "Category of brush engines" #| msgid "Brush engines" msgid "Brush Engines" -msgstr "Systèmes de brosse" +msgstr "Générateurs de brosses" #. +> trunk5 #: ../../reference_manual/brushes/brush_engines.rst:7 msgid "Information on the brush engines that can be accessed in the brush editor." -msgstr "" +msgstr "Information sur les générateurs de brosses, pouvant être utilisés dans l'éditeur de brosses." #. +> trunk5 #: ../../reference_manual/brushes/brush_engines.rst:9 -#, fuzzy #| msgid "Available entries:" msgid "Available Engines:" -msgstr "Éléments disponibles :" +msgstr "Générateurs disponibles :" Index: trunk/l10n-support/fr/summit/messages/www/docs_krita_org_user_manual___python_scripting___krita_python_plugin_howto.po =================================================================== --- trunk/l10n-support/fr/summit/messages/www/docs_krita_org_user_manual___python_scripting___krita_python_plugin_howto.po (revision 1568605) +++ trunk/l10n-support/fr/summit/messages/www/docs_krita_org_user_manual___python_scripting___krita_python_plugin_howto.po (revision 1568606) @@ -1,1450 +1,1447 @@ +# Xavier Besnard , 2020. msgid "" msgstr "" "Project-Id-Version: Krita Manual 4.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-04-22 08:20+0200\n" -"PO-Revision-Date: 2019-02-27 08:40+0100\n" -"Last-Translator: KDE Francophone \n" -"Language-Team: KDE Francophone \n" +"PO-Revision-Date: 2020-05-06 13:34+0200\n" +"Last-Translator: Xavier Besnard \n" +"Language-Team: French \n" "Language: fr\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: Lokalize 1.5\n" +"X-Generator: Lokalize 20.04.0\n" "X-Accelerator-Marker: &\n" "X-Text-Markup: kde4\n" "X-Environment: kde\n" "X-Language: fr_FR\n" "X-Qt-Contexts: true\n" "Generated-By: Babel 0.9.6\n" "X-Source-Language: C\n" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:1 msgid "Guide on all the specifics of creating Krita python plugins." -msgstr "" +msgstr "Guide sur les spécificités des modules externes de Krita pour la création." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:14 -#, fuzzy #| msgctxt "Autoindent mode" #| msgid "Python" msgid "Python" msgstr "Python" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:14 -#, fuzzy #| msgid "Python Script" msgid "Python Scripting" -msgstr "Script Python" +msgstr "Langages de scripts Python" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:14 -#, fuzzy #| msgctxt "@title" #| msgid "Scripting API" msgid "Scripting" -msgstr "API d'écriture de scripts" +msgstr "Langage de scripts" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:14 -#, fuzzy #| msgctxt "DebugDialog|" #| msgid "Plugin" msgid "Plugin" -msgstr "Module" +msgstr "Module externe" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:19 msgid "How to make a Krita Python plugin" -msgstr "" +msgstr "Comment réaliser un module externe Python pour Krita" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:21 msgid "You might have some neat scripts you have written in the Scripter Python runner, but maybe you want to do more with it and run it automatically for instance. Wrapping your script in a plugin can give you much more flexibility and power than running scripts from the Scripter editor." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:23 msgid "Okay, so even if you know python really well, there are some little details to getting Krita to recognize a python plugin. So this page will give an overview how to create the various types of python script unique to Krita." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:25 msgid "These mini-tutorials are written for people with a basic understanding of python, and in such a way to encourage experimentation instead of plainly copy and pasting code, so read the text carefully." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:28 msgid "Getting Krita to recognize your plugin" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:30 msgid "A script in Krita has two components - the script directory (holding your script's Python files) and a \".desktop\" file that Krita uses to load and register your script. For Krita to load your script both of these must put be in the pykrita subdirectory of your Krita resources folder (on Linux ~/.local/share/krita/pykrita). To find your resources folder start Krita and click the :menuselection:`Settings --> Manage Resources...` menu item. This will open a dialog box. Click the :guilabel:`Open Resources Folder` button. This should open a file manager on your system at your Krita resources folder. See the `API `_ docs under \"Auto starting scripts\". If there is no pykrita subfolder in the Krita resources directory use your file manager to create one." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:32 msgid "Scripts are identified by a file that ends in a .desktop extension that contain information about the script itself." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:34 msgid "Therefore, for each proper plugin you will need to create a folder, and a desktop file." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:36 msgid "The desktop file should look as follows::" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:38 msgid "" "[Desktop Entry]\n" "Type=Service\n" "ServiceTypes=Krita/PythonPlugin\n" "X-KDE-Library=myplugin\n" "X-Python-2-Compatible=false\n" "X-Krita-Manual=myPluginManual.html\n" "Name=My Own Plugin\n" "Comment=Our very own plugin." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:47 #, fuzzy msgid "Type" msgstr "" "#-#-#-#-# k3b.po (k3b) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdenlive.po (kdenlive) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kmldonkey.po (kmldonkey) #-#-#-#-#\n" "Type\n" "#-#-#-#-# smb4k.po (smb4k) #-#-#-#-#\n" "Type\n" "#-#-#-#-# choqok.po (choqok) #-#-#-#-#\n" "Type\n" "#-#-#-#-# konversation.po (konversation) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kig.po (kig) #-#-#-#-#\n" "&Types\n" "#-#-#-#-# kalgebra.po (kalgebra) #-#-#-#-#\n" "Type\n" "#-#-#-#-# marble_qt.po (marble_qt) #-#-#-#-#\n" "Type\n" "#-#-#-#-# ksystemlog.po (ksystemlog) #-#-#-#-#\n" "Type\n" "#-#-#-#-# calligraplanlibs.po (kplatoui) #-#-#-#-#\n" "Type\n" "#-#-#-#-# calligrasheets.po (kspread) #-#-#-#-#\n" "Type\n" "#-#-#-#-# krossmodulesheets.po (krossmodulekspread) #-#-#-#-#\n" "Type\n" "#-#-#-#-# calligraplanwork.po (kplatowork) #-#-#-#-#\n" "Type\n" "#-#-#-#-# calligra_shape_text.po (TextShape) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kexi.po (kexi) #-#-#-#-#\n" "Type\n" "#-#-#-#-# keduca.po (keduca) #-#-#-#-#\n" "Type\n" "#-#-#-#-# partitionmanager.po (partitionmanager) #-#-#-#-#\n" "Type\n" "#-#-#-#-# rkward.po (rkward) #-#-#-#-#\n" "Type\n" "#-#-#-#-# rkward__embedded.po (rkward__embedded) #-#-#-#-#\n" "Type\n" "#-#-#-#-# umbrello.po (umbrello) #-#-#-#-#\n" "Type\n" "#-#-#-#-# konquest.po (konquest) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kio_print.po (kio_print) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdeprint4.po (kdeprint4) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kate-ctags-plugin.po (kate-ctags-plugin) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kmuddy.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasmate.po (plasmate) #-#-#-#-#\n" "Type\n" "#-#-#-#-# backenddebugger_phonongst.po (backenddebugger_phonongst) #-#-#-#-#\n" "Type\n" "#-#-#-#-# bangarang.po (bangarang) #-#-#-#-#\n" "Type\n" "#-#-#-#-# krusader.po (krusader) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdiff3.po (kdiff3) #-#-#-#-#\n" "Type\n" "#-#-#-#-# krecipes.po (krecipes) #-#-#-#-#\n" "Type\n" "#-#-#-#-# commit-digest.po (KDE Commit-Digest) #-#-#-#-#\n" "Type\n" "#-#-#-#-# enzyme.po (Enzyme) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kio5.po (kio4) #-#-#-#-#\n" "Type\n" "#-#-#-#-# ksysguardlsofwidgets.po (ksysguardlsofwidgets) #-#-#-#-#\n" "Type\n" "#-#-#-#-# khotkeys.po (khotkeys) #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasmanetworkmanagement-libs.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasmaengineexplorer.po (plasmaengineexplorer) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kcm_pci.po (kcm_pci) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kcmsamba.po (kcmsamba) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kcmnic.po (kcmnic) #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasma_applet_org.kde.desktopcontainment.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasma_engine_soliddevice.po (plasma_engine_soliddevice) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kfritz.po (kfritz) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kte-collaborative.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kvpnc.po (kvpncok) #-#-#-#-#\n" "Type\n" "#-#-#-#-# okular.po (okular) #-#-#-#-#\n" "Type\n" "#-#-#-#-# ginkgo.po (ginkgo) #-#-#-#-#\n" "Type\n" "#-#-#-#-# tellico.po (tellico) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kmymoney.po (fr) #-#-#-#-#\n" " Type\n" "#-#-#-#-# kbibtex.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# webengineurlinterceptor.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# libksieve.po (libksieve) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libmailtransport5.po (libmailtransport) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libmailcommon.po (libmailcommon) #-#-#-#-#\n" "Type\n" "#-#-#-#-# akregator.po (akregator) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libkcalutils5.po (libkcal) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libmessageviewer.po (kmail) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libkleopatra.po (libkleopatra) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kleopatra.po (kleopatra) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libincidenceeditors.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kblogger.po (kblogger) #-#-#-#-#\n" "Type\n" "#-#-#-#-# plasma_applet_org.kde.networkmanagement.po (plasma_applet_org.kde.plasma-nm) #-#-#-#-#\n" "Type\n" "#-#-#-#-# libknetworkmanager.po (libknetworkmanager) #-#-#-#-#\n" "Type\n" "#-#-#-#-# latte-dock.po (latte-dock) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kopete.po (kopete) #-#-#-#-#\n" "Type\n" "#-#-#-#-# krdc.po (krdc) #-#-#-#-#\n" "Type\n" "#-#-#-#-# amarok.po (amarok) #-#-#-#-#\n" "Type\n" "#-#-#-#-# simon.po (simon) #-#-#-#-#\n" "Type\n" "#-#-#-#-# ktechlab.po (fr) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdevastyle.po (kdevformatters) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdevcmake.po (kdevcmake) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdevplatform.po (kdevplatform-old) #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdevcustomdefinesandincludes.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdevfiletemplates.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kdesvn.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kxsldbg.po (kxsldbg) #-#-#-#-#\n" "Type\n" "#-#-#-#-# krita.po (krita) #-#-#-#-#\n" "Type\n" "#-#-#-#-# digikam.po (digikam) #-#-#-#-#\n" "Type\n" "#-#-#-#-# labplot2.po #-#-#-#-#\n" "Type\n" "#-#-#-#-# kstars.po (kstars) #-#-#-#-#\n" "Type" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:48 msgid "This should always be service." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:49 #, fuzzy #| msgid "Service Type" msgid "ServiceTypes" msgstr "Type de service" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:50 msgid "This should always be Krita/PythonPlugin for python plugins." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:51 #, fuzzy #| msgid "Library" msgid "X-KDE-Library" msgstr "Bibliothèque" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:52 #, fuzzy #| msgid "This is the title of the folder that will be created." msgid "This should be the name of the plugin folder you just created." msgstr "Nom du dossier à créer." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:53 msgid "X-Python-2-Compatible" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:54 msgid "Whether it is python 2 compatible. If Krita was built with python 2 instead of 3 (``-DENABLE_PYTHON_2=ON`` in the cmake configuration), then this plugin will not show up in the list." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:55 #, fuzzy msgid "X-Krita-Manual" msgstr "" "#-#-#-#-# calligrasheets.po (kspread) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# calligraplan.po (kplato) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# calligra_shape_text.po (TextShape) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# calligra_shape_chart.po (ChartShape) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# pages_id.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# ppdtranslations4.po (ppdtranslations4) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# konqueror.po (konqueror) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# bangarang.po (bangarang) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kcm_mobile_wifi.po (plasma-nm) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# plasma_applet_org.kde.desktopcontainment.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# skrooge.po (skrooge) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kbibtex.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# nepomuk-webminer.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# libknetworkmanager.po (libknetworkmanager) #-#-#-#-#\n" "Manuelle\n" "#-#-#-#-# kopete.po (kopete) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kcm_ktp_chat_otr.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# amarok.po (amarok) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# ktechlab.po (fr) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kdevcustomdefinesandincludes.po #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# krita.po (krita) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# digikam.po (digikam) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kphotoalbum.po (kphotoalbum) #-#-#-#-#\n" "Manuel\n" "#-#-#-#-# kstars.po (kstars) #-#-#-#-#\n" "Manuel" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:56 msgid "An Optional Value that will point to the manual item. This is shown in the Python Plugin manager. If it's `an HTML file it'll be shown as rich text `_, if not, it'll be shown as plain text." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:57 #, fuzzy msgid "Name" msgstr "" "#-#-#-#-# k3b.po (k3b) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kwave.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdenlive.po (kdenlive) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktorrent.po (ktorrent) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kmldonkey.po (kmldonkey) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# rekonq.po (rekonq) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# choqok.po (choqok) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# konversation.po (konversation) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kftpgrabber.po (kftpgrabber) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdeconnect-plugins.po #-#-#-#-#\n" "Nom \n" "#-#-#-#-# kiten.po (kiten) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# marble.po (marble) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libgraphtheory.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kig.po (kig) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktouch.po (ktouch) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# cantor.po (cantor) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# artikulate.po (artikulate) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# marble_qt.po (marble_qt) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# knipptasch_qt.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# calligraplanlibs.po (kplatoui) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# calligra.po (kplatomodels) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# calligra_semanticitem_location.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# krossmodulesheets.po (krossmodulekspread) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# calligra_textinlineobject_variables.po (VariablesPlugin) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# calligraplanwork.po (kplatowork) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kexi.po (kexi) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# apper.po (apper) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# rkward.po (rkward) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# umbrello.po (umbrello) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcachegrind.po (kcachegrind) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kfourinline.po (kfourinline) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ksirk.po (ksirk) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libkdegames5.po (libkdegames) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# knights.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# nepomuk-webextractor.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdeprintfax.po (kdeprintfax) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# nepomuksimplesearch.po (nepomuksimplesearch) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kio_print.po (kio_print) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdeprint4.po (kdeprint4) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# domtreeviewer.po (domtreeviewer) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kate.po (kate) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# fsview.po (fsview) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcmkonqhtml.po (kcmkonqhtml) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# katecloseexceptplugin.po (katepart4) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kateproject.po (kateproject) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kmuddy.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# cocoon.po (cocoon) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# bangarang.po (bangarang) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# krusader.po (krusader) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdiff3.po (kdiff3) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kronometer.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# commit-digest.po (KDE Commit-Digest) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# enzyme.po (Enzyme) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktexteditor5.po (katepart4) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kio5.po (kio4) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kwalletd5.po (kwalletd) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdelibs4support.po (kdelibs4) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm_autostart.po (kcm_autostart) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm_cursortheme.po (kcminput) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# plasmanetworkmanagement-libs.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# plasma-discover.po (muon-discover) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm5_icons.po (kcmicons) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm_sddm.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcmmouse.po (kcminput) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcminfo.po (kcminfo) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcmnic.po (kcmnic) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# plasma_applet_org.kde.desktopcontainment.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# plasma_engine_soliddevice.po (plasma_engine_soliddevice) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcmview1394.po (kcmview1394) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kactivities5.po (kcm_activities) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kholidays_calendar_plugin.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm_activities5.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# zanshin.po (zanshin) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kfritz.po (kfritz) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kvpnc.po (kvpncok) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# okular.po (okular) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# okular_plucker.po (okular_plucker) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# gwenrename.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ginkgo.po (ginkgo) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# skrooge.po (skrooge) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kile.po (kile) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# tellico.po (tellico) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kmymoney.po (fr) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libkaddressbookgrantlee.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libpimcommon.po (libpimcommon) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kmail.po (kmail) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# akonadiimportwizard.po (importwizard) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libkleopatra.po (libkleopatra) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# akonadi_archivemail_agent.po (akonadi_archivemail_agent) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kleopatra.po (kleopatra) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# akonadicontact5-serializer.po (akonadi_serializer_plugins) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libkalarmcal5-serializer.po (akonadi_serializer_plugins) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libakonadi-calendar5-serializer.po (akonadi_serializer_plugins) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# akonadicontact5.po (akonadicontact) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcontacts5.po (kabc) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# akonadi_filter_console.po (akonadi_filter_console) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# plasma_applet_akonadi_tasks.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# grantlee_contacts.po (grantlee_contacts) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kblogger.po (kblogger) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kteatime.po (kteatime) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# print-manager.po (print-manager) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kgpg.po (kgpg) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kbackup.po (fr) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ark.po (ark) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# libknetworkmanager.po (libknetworkmanager) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# latte-dock.po (latte-dock) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktp-contactlist.po (ktp-contactlist) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kopete.po (kopete) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktp-common-internals.po (ktp-common-internals) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# amarok.po (amarok) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# ktechlab.po (fr) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcmgrub2.po (kcmgrub2) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# shaman_provideruiplugin.po (shaman_provideruiplugin) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kcm_aqpm_databases.po (kcm_aqpm_databases) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdevastyle.po (kdevformatters) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdevcmake.po (kdevcmake) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdevplatform.po (kdevplatform-old) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdevcustomdefinesandincludes.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdevqthelp.po (kdevqthelp) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kdesvn.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kxsldbg.po (kxsldbg) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kipiplugin_rajce.po (kipiplugin_rajceexport) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# krita.po (krita) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# digikam.po (digikam) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kphotoalbum.po (kphotoalbum) #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kooka.po (kooka) #-#-#-#-#\n" "Nom \n" "#-#-#-#-# labplot2.po #-#-#-#-#\n" "Nom\n" "#-#-#-#-# kstars.po (kstars) #-#-#-#-#\n" "Nom" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:58 #, fuzzy #| msgid "The label that will be displayed in the column header." msgid "The name that will show up in the Python Plugin Manager." msgstr "Le libellé qui sera affiché dans l'en-tête de la colonne." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:60 #, fuzzy msgid "Comment" msgstr "" "#-#-#-#-# juk.po (juk) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# k3b.po (k3b) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kdenlive.po (kdenlive) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# libkcddb.po (libkcddb) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kmldonkey.po (kmldonkey) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# smb4k.po (smb4k) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# parley.po (parley) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kcron.po (kcron) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# calligra.po (kplatomodels) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# calligrasheets.po (kspread) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# calligra_shape_comment.po #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# cervisia.po (cervisia) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kcachegrind_qt.po (kcachegrind_qt) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# umbrello.po (umbrello) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kreversi.po (kreversi) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# libkdegames5.po (libkdegames) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# nepomuk-webextractor.po #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kdeprint4.po (kdeprint4) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kate.po (kate) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# krecipes.po (krecipes) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# enzyme.po (Enzyme) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kdelibs4support.po (kdelibs4) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# khotkeys.po (khotkeys) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# plasma_applet_org.kde.plasma.digitalclock.po #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kvpnc.po (kvpncok) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# okular.po (okular) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# skrooge.po (skrooge) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kmymoney.po (fr) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kbibtex.po #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# libksieve.po (libksieve) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# sieveeditor.po #-#-#-#-#\n" "Commenter\n" "#-#-#-#-# akregator.po (akregator) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kleopatra.po (kleopatra) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# ark.po (ark) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kaudiocreator.po (kaudiocreator) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# amarok.po (amarok) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# ktechlab.po (fr) #-#-#-#-#\n" "Commentaires\n" "#-#-#-#-# kdevcmake.po (kdevcmake) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# krita.po (krita) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# digikam.po (digikam) #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# labplot2.po #-#-#-#-#\n" "Commentaire\n" "#-#-#-#-# kstars.po (kstars) #-#-#-#-#\n" "Commentaire" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:60 #, fuzzy #| msgid "The map description file should begin with the %1 tag" msgid "The description that will show up in the Python Plugin Manager." msgstr "Le fichier de description de la carte doit commencer par la balise %1" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:62 msgid "Krita python plugins need to be python modules, so make sure there's an __init__.py script, containing something like..." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:68 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:89 msgid "from .myplugin import *" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:69 msgid "Where .myplugin is the name of the main file of your plugin. If you restart Krita, it now should show this in the Python Plugin Manager in the settings, but it will be grayed out, because there's no myplugin.py. If you hover over disabled plugins, you can see the error with them." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:71 msgid "You need to explicitly enable your plugin. Go to the Settings menu, open the :guilabel:`Configure Krita` dialog and go to the Python Plugin Manager page and enable your plugin." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:74 msgid "Summary" msgstr "Résumé" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:76 msgid "In summary, if you want to create a script called *myplugin*:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:79 msgid "in your Krita *resources/pykrita* directory create" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:79 msgid "a folder called *myplugin*" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:80 msgid "a file called *myplugin.desktop*" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:82 msgid "in the *myplugin* folder create" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:82 msgid "a file called *__init__.py*" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:83 msgid "a file called *myplugin.py*" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:84 msgid "in the *__init__.py* file put this code:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:90 msgid "in the desktop file put this code::" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:92 msgid "" "[Desktop Entry]\n" "Type=Service\n" "ServiceTypes=Krita/PythonPlugin\n" "X-KDE-Library=myplugin\n" "X-Python-2-Compatible=false\n" "Name=My Own Plugin\n" "Comment=Our very own plugin." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:100 msgid "write your script in the ''myplugin/myplugin.py'' file." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:103 #, fuzzy #| msgid "Original extension" msgid "Creating an extension" msgstr "Extension d'origine" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:105 msgid "`Extensions `_ are relatively simple python scripts that run on Krita start. They are made by extending the Extension class, and the most barebones extension looks like this:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:125 msgid "" "from krita import *\n" "\n" "class MyExtension(Extension):\n" "\n" " def __init__(self, parent):\n" " #This is initialising the parent, always important when subclassing.\n" " super().__init__(parent)\n" "\n" " def setup(self):\n" " pass\n" "\n" " def createActions(self, window):\n" " pass\n" "\n" "# And add the extension to Krita's list of extensions:\n" "Krita.instance().addExtension(MyExtension(Krita.instance()))" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:126 msgid "This code of course doesn't do anything. Typically, in createActions we add actions to Krita, so we can access our script from the :guilabel:`Tools` menu." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:128 msgid "First, let's create an `action `_. We can do that easily with `Window.createAction() `_. Krita will call createActions for every Window that is created and pass the right window object that we have to use." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:130 #, fuzzy #| msgid "Goto..." msgid "So..." msgstr "Aller à…" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:137 msgid "" "def createActions(self, window):\n" " action = window.createAction(\"myAction\", \"My Script\", \"tools/scripts\")" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:138 #, fuzzy #| msgid "Action" msgid "\"myAction\"" msgstr "Action" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:139 msgid "This should be replaced with a unique id that Krita will use to find the action." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:141 #, fuzzy #| msgctxt "Language|" #| msgid "R Script" msgid "\"My Script\"" msgstr "Script R" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:141 #, fuzzy #| msgid "

This icon will be displayed in the menu and toolbar.

" msgid "This is what will be visible in the tools menu." msgstr "

Cette icône sera affichée dans le menu et la barre d'outils.

" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:143 msgid "If you now restart Krita, you will have an action called \"My Script\". It still doesn't do anything, because we haven't connected it to a script." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:145 msgid "So, let's make a simple export document script. Add the following to the extension class, make sure it is above where you add the extension to Krita:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:160 msgid "" "def exportDocument(self):\n" " # Get the document:\n" " doc = Krita.instance().activeDocument()\n" " # Saving a non-existent document causes crashes, so lets check for that first.\n" " if doc is not None:\n" " # This calls up the save dialog. The save dialog returns a tuple.\n" " fileName = QFileDialog.getSaveFileName()[0]\n" " # And export the document to the fileName location.\n" " # InfoObject is a dictionary with specific export options, but when we make an empty one Krita will use the export defaults.\n" " doc.exportImage(fileName, InfoObject())" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:161 msgid "And add the import for QFileDialog above with the imports:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:167 msgid "" "from krita import *\n" "from PyQt5.QtWidgets import QFileDialog" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:168 #, fuzzy #| msgid "The connection to the server was lost." msgid "Then, to connect the action to the new export document:" msgstr "La connexion au serveur a été perdue." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:176 msgid "" "def createActions(self, window):\n" " action = window.createAction(\"myAction\", \"My Script\")\n" " action.triggered.connect(self.exportDocument)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:177 msgid "This is an example of a `signal/slot connection `_, which Qt applications like Krita use a lot. We'll go over how to make our own signals and slots a bit later." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:179 msgid "Restart Krita and your new action ought to now export the document." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:182 #, fuzzy #| msgid "Configurable local and global keyboard shortcuts" msgid "Creating configurable keyboard shortcuts" msgstr "Raccourcis clavier locaux et globaux configurables" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:184 msgid "Now, your new action doesn't show up in :menuselection:`Settings --> Configure Krita --> Keyboard Shortcuts`." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:186 msgid "Krita, for various reasons, only adds actions to the shortcuts menu when they are present in an .action file. The action file to get our action to be added to shortcuts should look like this:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:210 msgid "" "\n" "\n" " \n" " My Scripts\n" "\n" " \n" " \n" " My Script\n" " \n" " \n" " \n" " 10000\n" " 0\n" " ctrl+alt+shift+p\n" " false\n" " \n" " \n" " \n" "" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:211 msgid "My Scripts" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:212 msgid "This will create a sub-category under scripts called \"My Scripts\" to add your shortcuts to." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:213 msgid "name" msgstr "nom" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:214 msgid "This should be the unique id you made for your action when creating it in the setup of the extension." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:215 msgid "icon" msgstr "icône" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:216 msgid "the name of a possible icon. These will only show up on KDE plasma, because Gnome and Windows users complained they look ugly." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:217 msgid "text" msgstr "texte" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:218 #, fuzzy #| msgid "The text color that will be used in the panel." msgid "The text that it will show in the shortcut editor." msgstr "La couleur du texte qui sera utilisée dans le panneau." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:219 msgid "whatsThis" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:220 msgid "The text it will show when a Qt application specifically calls for 'what is this', which is a help action." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:221 #, fuzzy #| msgid "tool tip" msgid "toolTip" msgstr "infobulle" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:222 msgid "The tool tip, this will show up on hover-over." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:223 #, fuzzy #| msgctxt "Property: Text Edit accepts rich text" #| msgid "Rich Text" msgid "iconText" msgstr "Texte enrichi" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:224 msgid "The text it will show when displayed in a toolbar. So for example, \"Resize Image to New Size\" could be shortened to \"Resize Image\" to save space, so we'd put that in here." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:225 #, fuzzy #| msgid "Activation" msgid "activationFlags" msgstr "Activation" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:226 #, fuzzy #| msgid "Disable parameters when the effect is disabled" msgid "This determines when an action is disabled or not." msgstr "Désactiver les paramètres quand l'effet est désactivé" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:227 #, fuzzy #| msgid "Active Window Condition" msgid "activationConditions" msgstr "Condition de la fenêtre active" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:228 msgid "This determines activation conditions (e.g. activate only when selection is editable). See `the code `_ for examples." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:229 #, fuzzy #| msgid "Shortcut" msgid "shortcut" msgstr "Raccourci" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:230 #, fuzzy #| msgid "Default shortcut:" msgid "Default shortcut." msgstr "Raccourci par défaut :" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:231 #, fuzzy #| msgctxt "Button is checkable" #| msgid "Checkable" msgid "isCheckable" msgstr "Cochable" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:232 #, fuzzy #| msgid "Whether to use colors on the keys or not." msgid "Whether it is a checkbox or not." msgstr "Si on utilise les couleurs sur les touches ou non." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:234 #, fuzzy #| msgctxt "A keyword to change IM status" #| msgid "status" msgid "statusTip" msgstr "état" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:234 #, fuzzy #| msgid "The language that is displayed in a test." msgid "The status tip that is displayed on a status bar." msgstr "La langue affichée dans un test." #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:236 msgid "Save this file as \"myplugin.action\" where myplugin is the name of your plugin. The action file should be saved, not in the pykrita resources folder, but rather in a resources folder named \"actions\". (So, share/pykrita is where the python plugins and desktop files go, and share/actions is where the action files go) Restart Krita. The shortcut should now show up in the shortcut action list." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:239 #, fuzzy #| msgid "Creating image" msgid "Creating a docker" msgstr "Création de l'image" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:241 msgid "Creating a custom `docker `_ is much like creating an extension. Dockers are in some ways a little easier, but they also require more use of widgets. This is the barebones docker code:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:258 msgid "" "from PyQt5.QtWidgets import *\n" "from krita import *\n" "\n" "class MyDocker(DockWidget):\n" "\n" " def __init__(self):\n" " super().__init__()\n" " self.setWindowTitle(\"My Docker\")\n" "\n" " def canvasChanged(self, canvas):\n" " pass\n" "\n" "Krita.instance().addDockWidgetFactory(DockWidgetFactory(\"myDocker\", DockWidgetFactoryBase.DockRight, MyDocker))" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:259 msgid "The window title is how it will appear in the docker list in Krita. canvasChanged always needs to be present, but you don't have to do anything with it, so hence just 'pass'." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:261 msgid "For the addDockWidgetFactory..." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:263 #, fuzzy msgid "\"myDocker\"" msgstr "" "#-#-#-#-# krossmodulesheets.po (krossmodulekspread) #-#-#-#-#\n" "Boîte d'outils\n" "#-#-#-#-# contribute3.po (contribute3) #-#-#-#-#\n" "Docker" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:264 msgid "Replace this with an unique ID for your docker that Krita uses to keep track of it." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:265 #, fuzzy #| msgctxt "Comment" #| msgid "Widget Factory Base" msgid "DockWidgetFactoryBase.DockRight" msgstr "Base de création de composants graphiques" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:266 msgid "The location. These can be DockTornOff, DockTop, DockBottom, DockRight, DockLeft, or DockMinimized" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:268 #, fuzzy msgid "MyDocker" msgstr "" "#-#-#-#-# krossmodulesheets.po (krossmodulekspread) #-#-#-#-#\n" "Boîte d'outils\n" "#-#-#-#-# contribute3.po (contribute3) #-#-#-#-#\n" "Docker" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:268 #, fuzzy #| msgid "Please enter the name of the channel you want to join:" msgid "Replace this with the class name of the docker you want to add." msgstr "Veuillez saisir le nom du canal que vous désirez rejoindre :" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:270 msgid "So, if we add our export document function we created in the extension section to this docker code, how do we allow the user to activate it? First, we'll need to do some Qt GUI coding: Let's add a button!" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:272 msgid "By default, Krita uses PyQt, but its documentation is pretty bad, mostly because the regular Qt documentation is really good, and you'll often find that the PyQT documentation of a class, say, `QWidget `_ is like a weird copy of the regular `Qt documentation `_ for that class." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:274 msgid "Anyway, what we need to do first is that we need to create a QWidget, it's not very complicated, under setWindowTitle, add:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:280 msgid "" "mainWidget = QWidget(self)\n" "self.setWidget(mainWidget)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:281 msgid "Then, we create a button:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:286 msgid "buttonExportDocument = QPushButton(\"Export Document\", mainWidget)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:287 msgid "Now, to connect the button to our function, we'll need to look at the signals in the documentation. `QPushButton `_ has no unique signals of its own, but it does say it inherits 4 signals from `QAbstractButton `_, which means that we can use those too. In our case, we want clicked." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:292 msgid "buttonExportDocument.clicked.connect(self.exportDocument)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:293 msgid "If we now restart Krita, we'll have a new docker and in that docker there's a button. Clicking on the button will call up the export function." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:295 msgid "However, the button looks aligned a bit oddly. That's because our mainWidget has no layout. Let's quickly do that:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:301 msgid "" "mainWidget.setLayout(QVBoxLayout())\n" "mainWidget.layout().addWidget(buttonExportDocument)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:302 msgid "Qt has several `layouts `_, but the `QHBoxLayout and the QVBoxLayout `_ are the easiest to use, they just arrange widgets horizontally or vertically." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:304 msgid "Restart Krita and the button should now be laid out nicely." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:307 #, fuzzy #| msgid "Connect Signals/Slots" msgid "PyQt Signals and Slots" msgstr "Connecter les signaux/emplacements" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:309 msgid "We've already been using PyQt signals and slots already, but there are times where you want to create your own signals and slots. `As pyQt's documentation is pretty difficult to understand `_, and the way how signals and slots are created is very different from C++ Qt, we're explaining it here:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:312 msgid "All python functions you make in PyQt can be understood as slots, meaning that they can be connected to signals like Action.triggered or QPushButton.clicked. However, QCheckBox has a signal for toggled, which sends a boolean. How do we get our function to accept that boolean?" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:314 msgid "First, make sure you have the right import for making custom slots:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:316 msgid "``from PyQt5.QtCore import pyqtSlot``" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:318 msgid "(If there's from ``PyQt5.QtCore import *`` already in the list of imports, then you won't have to do this, of course.)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:320 msgid "Then, you need to add a PyQt slot definition before your function:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:331 msgid "" "@pyqtSlot(bool)\n" "def myFunction(self, enabled):\n" " enabledString = \"disabled\"\n" " if (enabled == True):\n" " enabledString = \"enabled\"\n" " print(\"The checkbox is\"+enabledString)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:332 msgid "Then, when you have created your checkbox, you can do something like myCheckbox.toggled.connect(self.myFunction)." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:334 msgid "Similarly, to make your own PyQt signals, you do the following:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:345 msgid "" "# signal name is added to the member variables of the class\n" "signal_name = pyqtSignal(bool, name='signalName')\n" "\n" "def emitMySignal(self):\n" " # And this is how you trigger the signal to be emitted.\n" " self.signal_name.emit(True)" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:346 msgid "And use the right import:" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:348 msgid "``from PyQt5.QtCore import pyqtSignal``" msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:350 msgid "To emit or create slots for objects that aren't standard python objects, you only have to put their names between quotation marks." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:353 #, fuzzy msgid "A note on unit tests" msgstr "Exécuter les tests d'unité intégrés" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:355 msgid "If you want to write unit tests for your plugin, have a look at the `mock krita module `_." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:359 msgid "Conclusion" msgstr "Conclusion" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:361 msgid "Okay, so that covers all the Krita specific details for creating python plugins. It doesn't handle how to parse the pixel data, or best practices with documents, but if you have a little bit of experience with python you should be able to start creating your own plugins." msgstr "" #. +> trunk5 #: ../../user_manual/python_scripting/krita_python_plugin_howto.rst:363 msgid "As always, read the code carefully and read the API docs for python, Krita and Qt carefully to see what is possible, and you'll get pretty far." msgstr "" #, fuzzy #~| msgid "No color" #~ msgid "No clue" #~ msgstr "Aucune couleur" #, fuzzy #~| msgid "GeoClue" #~ msgid "No Clue." #~ msgstr "GeoClue"