Sun, 10 Dec 2017 16:23:29 +0100
Added the translator plug-in to the core plug-ins.
--- a/APIs/Python3/eric6.api Sun Dec 10 14:51:54 2017 +0100 +++ b/APIs/Python3/eric6.api Sun Dec 10 16:23:29 2017 +0100 @@ -4448,6 +4448,31 @@ eric6.Plugins.PluginTabnanny.python2Compatible?7 eric6.Plugins.PluginTabnanny.shortDescription?7 eric6.Plugins.PluginTabnanny.version?7 +eric6.Plugins.PluginTranslator.TranslatorPlugin.PreferencesKey?7 +eric6.Plugins.PluginTranslator.TranslatorPlugin.activate?4() +eric6.Plugins.PluginTranslator.TranslatorPlugin.deactivate?4() +eric6.Plugins.PluginTranslator.TranslatorPlugin.getPreferences?4(key) +eric6.Plugins.PluginTranslator.TranslatorPlugin.getPreferencesDefault?4(key) +eric6.Plugins.PluginTranslator.TranslatorPlugin.setPreferences?4(key, value) +eric6.Plugins.PluginTranslator.TranslatorPlugin.updateLanguages?7 +eric6.Plugins.PluginTranslator.TranslatorPlugin?1(ui) +eric6.Plugins.PluginTranslator.author?7 +eric6.Plugins.PluginTranslator.autoactivate?7 +eric6.Plugins.PluginTranslator.className?7 +eric6.Plugins.PluginTranslator.createTranslatorPage?4(configDlg) +eric6.Plugins.PluginTranslator.deactivateable?7 +eric6.Plugins.PluginTranslator.error?7 +eric6.Plugins.PluginTranslator.getConfigData?4() +eric6.Plugins.PluginTranslator.longDescription?7 +eric6.Plugins.PluginTranslator.name?7 +eric6.Plugins.PluginTranslator.needsRestart?7 +eric6.Plugins.PluginTranslator.packageName?7 +eric6.Plugins.PluginTranslator.prepareUninstall?4() +eric6.Plugins.PluginTranslator.pyqtApi?7 +eric6.Plugins.PluginTranslator.python2Compatible?7 +eric6.Plugins.PluginTranslator.shortDescription?7 +eric6.Plugins.PluginTranslator.translatorPluginObject?7 +eric6.Plugins.PluginTranslator.version?7 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.MercurialDefaults?7 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.activate?4() eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.deactivate?4() @@ -4850,6 +4875,96 @@ eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog.PipSearchDialog.on_searchButton_clicked?4() eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog.PipSearchDialog.on_searchEdit_textChanged?4(txt) eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog.PipSearchDialog?1(pip, plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.TranslatorPage.on_defaultButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.TranslatorPage.on_languagesList_itemChanged?4(item) +eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.TranslatorPage.on_setButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.TranslatorPage.save?4() +eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.TranslatorPage?1(plugin) +eric6.Plugins.UiExtensionPlugins.Translator.Translator.Translator.activate?4() +eric6.Plugins.UiExtensionPlugins.Translator.Translator.Translator.deactivate?4() +eric6.Plugins.UiExtensionPlugins.Translator.Translator.Translator.getAppIcon?4(name) +eric6.Plugins.UiExtensionPlugins.Translator.Translator.Translator?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine.MaxTranslationTextLen?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.DeepLEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine.TranslatorLimit?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.GlosbeEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.TextToSpeechLimit?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.TextToSpeechUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.getTextToSpeechData?4(requestObject, text, language) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.hasTTS?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.GoogleV1Engine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.GoogleV2Engine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.AccessTokenUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.TextToSpeechUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.getTextToSpeechData?4(requestObject, text, language) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.hasTTS?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.MicrosoftEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine.TranslatorLimit?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.MyMemoryEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.PromtEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.PromtEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.PromtEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.PromtEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.PromtEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.getTextToSpeechData?4(requestObject, text, language) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.hasTTS?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.TranslationEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.TranslatorLimit?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.TranslatorUrl?7 +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.YandexEngine?1(plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.engineDisplayName?4(name) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.getEngineIcon?4(name) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.getKeyUrl?4(name) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.getTranslationEngine?4(name, plugin, parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.supportedEngineNames?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.TranslatorLanguagesDb.convertTwoToThree?4(code) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.TranslatorLanguagesDb.getAllLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.TranslatorLanguagesDb.getLanguage?4(code) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.TranslatorLanguagesDb.getLanguageIcon?4(code) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.TranslatorLanguagesDb?1(parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.TranslatorRequest.get?4(requestUrl, extraHeaders=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.TranslatorRequest.post?4(requestUrl, requestData, dataType="form", extraHeaders=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.TranslatorRequest?1(parent=None) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_clearButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_origEdit_textChanged?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_origLanguageComboBox_currentIndexChanged?4(index) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_pronounceOrigButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_pronounceTransButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_swapButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_transEdit_textChanged?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_transLanguageComboBox_currentIndexChanged?4(index) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget.on_translateButton_clicked?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.TranslatorWidget?1(plugin, translator, parent=None) eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.getData?4() eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_extraSearchPathButton_clicked?4() eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_pythonExecButton_clicked?4()
--- a/APIs/Python3/eric6.bas Sun Dec 10 14:51:54 2017 +0100 +++ b/APIs/Python3/eric6.bas Sun Dec 10 16:23:29 2017 +0100 @@ -125,6 +125,7 @@ DebuggerPropertiesWriter XMLStreamWriterBase DebuggerPython3Page ConfigurationPageBase Ui_DebuggerPython3Page DebuggerPythonPage ConfigurationPageBase Ui_DebuggerPythonPage +DeepLEngine TranslationEngine DefaultResolver BaseResolver DelayedFileWatcher QFileSystemWatcher DeleteFilesConfirmationDialog QDialog Ui_DeleteFilesConfirmationDialog @@ -302,6 +303,9 @@ FtpReply QNetworkReply FtpSyncHandler SyncHandler Function ClbrBaseClasses.Function VisibilityMixin +GlosbeEngine TranslationEngine +GoogleV1Engine TranslationEngine +GoogleV2Engine TranslationEngine GotoDialog QDialog Ui_GotoDialog Gpg HgExtension GpgProjectHelper HgExtensionProjectHelper @@ -526,6 +530,7 @@ Message ClbrBaseClasses.Module VisibilityMixin MessageBoxWizard QObject MessageBoxWizardDialog QDialog Ui_MessageBoxWizardDialog +MicrosoftEngine TranslationEngine MimeTypesPage ConfigurationPageBase Ui_MimeTypesPage MiniEditor E5MainWindow MiniScintilla QsciScintillaCompat @@ -539,6 +544,7 @@ MultiProjectReader XMLStreamReaderBase MultiProjectWriter XMLStreamWriterBase MultiValueDictResolver DictResolver +MyMemoryEngine TranslationEngine NannyNag Exception NavigationBar QWidget NavigationContainer QWidget @@ -653,6 +659,7 @@ ProjectTaskExtractionThread QThread ProjectTranslationsBrowser ProjectBaseBrowser ProjectWriter XMLStreamWriterBase +PromtEngine TranslationEngine PropertiesDialog QDialog Ui_PropertiesDialog ProtobufPage ConfigurationPageBase Ui_ProtobufPage Purge HgExtension @@ -849,8 +856,15 @@ Token str ToolConfigurationDialog QDialog Ui_ToolConfigurationDialog ToolGroupConfigurationDialog QDialog Ui_ToolGroupConfigurationDialog +TranslationEngine QObject TranslationPropertiesDialog QDialog Ui_TranslationPropertiesDialog TranslationsDict QObject +Translator QObject +TranslatorLanguagesDb QObject +TranslatorPage ConfigurationPageBase Ui_TranslatorPage +TranslatorPlugin QObject +TranslatorRequest QObject +TranslatorWidget QWidget Ui_TranslatorWidget TrayStarter QSystemTrayIcon TrayStarterPage ConfigurationPageBase Ui_TrayStarterPage UIPreviewer E5MainWindow @@ -935,6 +949,7 @@ XbelReader QXmlStreamReader XbelWriter QXmlStreamWriter XmlEntityResolver QXmlStreamEntityResolver +YandexEngine TranslationEngine ZoomDialog QDialog Ui_ZoomDialog ZoomManager QObject ZoomValuesDialog QDialog Ui_ZoomValuesDialog
--- a/Documentation/Help/source.qhp Sun Dec 10 14:51:54 2017 +0100 +++ b/Documentation/Help/source.qhp Sun Dec 10 16:23:29 2017 +0100 @@ -527,6 +527,27 @@ <section title="eric6.Plugins.UiExtensionPlugins.PipInterface.PipRequirementsSelectionDialog" ref="eric6.Plugins.UiExtensionPlugins.PipInterface.PipRequirementsSelectionDialog.html" /> <section title="eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog" ref="eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog.html" /> </section> + <section title="eric6.Plugins.UiExtensionPlugins.Translator" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.html"> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html"> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html" /> + </section> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html"> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html" /> + </section> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.Translator" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html" /> + <section title="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html" /> + </section> <section title="eric6.Plugins.UiExtensionPlugins.VirtualenvInterface" ref="index-eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.html"> <section title="eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog" ref="eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog.html" /> <section title="eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvExecDialog" ref="eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvExecDialog.html" /> @@ -786,6 +807,7 @@ <section title="eric6.Plugins.PluginPipInterface" ref="eric6.Plugins.PluginPipInterface.html" /> <section title="eric6.Plugins.PluginSyntaxChecker" ref="eric6.Plugins.PluginSyntaxChecker.html" /> <section title="eric6.Plugins.PluginTabnanny" ref="eric6.Plugins.PluginTabnanny.html" /> + <section title="eric6.Plugins.PluginTranslator" ref="eric6.Plugins.PluginTranslator.html" /> <section title="eric6.Plugins.PluginVcsMercurial" ref="eric6.Plugins.PluginVcsMercurial.html" /> <section title="eric6.Plugins.PluginVcsPySvn" ref="eric6.Plugins.PluginVcsPySvn.html" /> <section title="eric6.Plugins.PluginVcsSubversion" ref="eric6.Plugins.PluginVcsSubversion.html" /> @@ -3117,6 +3139,7 @@ <keyword name="ConfigurationDialog.setPreferences" id="ConfigurationDialog.setPreferences" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationDialog.setPreferences" /> <keyword name="ConfigurationDialog.showConfigurationPageByName" id="ConfigurationDialog.showConfigurationPageByName" ref="eric6.Preferences.ConfigurationDialog.html#ConfigurationDialog.showConfigurationPageByName" /> <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.UiExtensionPlugins.PipInterface.ConfigurationPage.html" /> + <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html" /> <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsMercurial.ConfigurationPage.html" /> <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsPySvn.ConfigurationPage.html" /> <keyword name="ConfigurationPage (Package)" id="ConfigurationPage (Package)" ref="index-eric6.Plugins.VcsPlugins.vcsSubversion.ConfigurationPage.html" /> @@ -3831,6 +3854,12 @@ <keyword name="DebuggerPythonPage (Constructor)" id="DebuggerPythonPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.DebuggerPythonPage.html#DebuggerPythonPage.__init__" /> <keyword name="DebuggerPythonPage (Module)" id="DebuggerPythonPage (Module)" ref="eric6.Preferences.ConfigurationPages.DebuggerPythonPage.html" /> <keyword name="DebuggerPythonPage.save" id="DebuggerPythonPage.save" ref="eric6.Preferences.ConfigurationPages.DebuggerPythonPage.html#DebuggerPythonPage.save" /> + <keyword name="DeepLEngine" id="DeepLEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html#DeepLEngine" /> + <keyword name="DeepLEngine (Constructor)" id="DeepLEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html#DeepLEngine.__init__" /> + <keyword name="DeepLEngine (Module)" id="DeepLEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html" /> + <keyword name="DeepLEngine.engineName" id="DeepLEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html#DeepLEngine.engineName" /> + <keyword name="DeepLEngine.getTranslation" id="DeepLEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html#DeepLEngine.getTranslation" /> + <keyword name="DeepLEngine.supportedLanguages" id="DeepLEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html#DeepLEngine.supportedLanguages" /> <keyword name="DefaultResolver" id="DefaultResolver" ref="eric6.DebugClients.Python.DebugVariables.html#DefaultResolver" /> <keyword name="DefaultResolver.getDictionary" id="DefaultResolver.getDictionary" ref="eric6.DebugClients.Python.DebugVariables.html#DefaultResolver.getDictionary" /> <keyword name="DefaultResolver.resolve" id="DefaultResolver.resolve" ref="eric6.DebugClients.Python.DebugVariables.html#DefaultResolver.resolve" /> @@ -6286,8 +6315,28 @@ <keyword name="Function.addDescription" id="Function.addDescription" ref="eric6.Utilities.ModuleParser.html#Function.addDescription" /> <keyword name="Function.setEndLine" id="Function.setEndLine" ref="eric6.Utilities.ModuleParser.html#Function.setEndLine" /> <keyword name="Globals (Package)" id="Globals (Package)" ref="index-eric6.Globals.html" /> + <keyword name="GlosbeEngine" id="GlosbeEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html#GlosbeEngine" /> + <keyword name="GlosbeEngine (Constructor)" id="GlosbeEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html#GlosbeEngine.__init__" /> + <keyword name="GlosbeEngine (Module)" id="GlosbeEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html" /> + <keyword name="GlosbeEngine.engineName" id="GlosbeEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html#GlosbeEngine.engineName" /> + <keyword name="GlosbeEngine.getTranslation" id="GlosbeEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html#GlosbeEngine.getTranslation" /> + <keyword name="GlosbeEngine.supportedLanguages" id="GlosbeEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html#GlosbeEngine.supportedLanguages" /> <keyword name="GoogleMailHelp" id="GoogleMailHelp" ref="eric6.E5Network.E5GoogleMail.html#GoogleMailHelp" /> <keyword name="GoogleMailSendMessage" id="GoogleMailSendMessage" ref="eric6.E5Network.E5GoogleMail.html#GoogleMailSendMessage" /> + <keyword name="GoogleV1Engine" id="GoogleV1Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine" /> + <keyword name="GoogleV1Engine (Constructor)" id="GoogleV1Engine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.__init__" /> + <keyword name="GoogleV1Engine (Module)" id="GoogleV1Engine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html" /> + <keyword name="GoogleV1Engine.engineName" id="GoogleV1Engine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.engineName" /> + <keyword name="GoogleV1Engine.getTextToSpeechData" id="GoogleV1Engine.getTextToSpeechData" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.getTextToSpeechData" /> + <keyword name="GoogleV1Engine.getTranslation" id="GoogleV1Engine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.getTranslation" /> + <keyword name="GoogleV1Engine.hasTTS" id="GoogleV1Engine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.hasTTS" /> + <keyword name="GoogleV1Engine.supportedLanguages" id="GoogleV1Engine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html#GoogleV1Engine.supportedLanguages" /> + <keyword name="GoogleV2Engine" id="GoogleV2Engine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html#GoogleV2Engine" /> + <keyword name="GoogleV2Engine (Constructor)" id="GoogleV2Engine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html#GoogleV2Engine.__init__" /> + <keyword name="GoogleV2Engine (Module)" id="GoogleV2Engine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html" /> + <keyword name="GoogleV2Engine.engineName" id="GoogleV2Engine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html#GoogleV2Engine.engineName" /> + <keyword name="GoogleV2Engine.getTranslation" id="GoogleV2Engine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html#GoogleV2Engine.getTranslation" /> + <keyword name="GoogleV2Engine.supportedLanguages" id="GoogleV2Engine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html#GoogleV2Engine.supportedLanguages" /> <keyword name="GotoDialog" id="GotoDialog" ref="eric6.QScintilla.GotoDialog.html#GotoDialog" /> <keyword name="GotoDialog (Constructor)" id="GotoDialog (Constructor)" ref="eric6.QScintilla.GotoDialog.html#GotoDialog.__init__" /> <keyword name="GotoDialog (Module)" id="GotoDialog (Module)" ref="eric6.QScintilla.GotoDialog.html" /> @@ -9867,6 +9916,17 @@ <keyword name="MessageBoxWizardDialog.on_buttonBox_clicked" id="MessageBoxWizardDialog.on_buttonBox_clicked" ref="eric6.Plugins.WizardPlugins.MessageBoxWizard.MessageBoxWizardDialog.html#MessageBoxWizardDialog.on_buttonBox_clicked" /> <keyword name="MessageBoxWizardDialog.on_rAboutQt_toggled" id="MessageBoxWizardDialog.on_rAboutQt_toggled" ref="eric6.Plugins.WizardPlugins.MessageBoxWizard.MessageBoxWizardDialog.html#MessageBoxWizardDialog.on_rAboutQt_toggled" /> <keyword name="MessageBoxWizardDialog.on_rAbout_toggled" id="MessageBoxWizardDialog.on_rAbout_toggled" ref="eric6.Plugins.WizardPlugins.MessageBoxWizard.MessageBoxWizardDialog.html#MessageBoxWizardDialog.on_rAbout_toggled" /> + <keyword name="MicrosoftEngine" id="MicrosoftEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine" /> + <keyword name="MicrosoftEngine (Constructor)" id="MicrosoftEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.__init__" /> + <keyword name="MicrosoftEngine (Module)" id="MicrosoftEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html" /> + <keyword name="MicrosoftEngine.__getAccessToken" id="MicrosoftEngine.__getAccessToken" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.__getAccessToken" /> + <keyword name="MicrosoftEngine.__getClientDataAzure" id="MicrosoftEngine.__getClientDataAzure" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.__getClientDataAzure" /> + <keyword name="MicrosoftEngine.__mapLanguageCode" id="MicrosoftEngine.__mapLanguageCode" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.__mapLanguageCode" /> + <keyword name="MicrosoftEngine.engineName" id="MicrosoftEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.engineName" /> + <keyword name="MicrosoftEngine.getTextToSpeechData" id="MicrosoftEngine.getTextToSpeechData" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.getTextToSpeechData" /> + <keyword name="MicrosoftEngine.getTranslation" id="MicrosoftEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.getTranslation" /> + <keyword name="MicrosoftEngine.hasTTS" id="MicrosoftEngine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.hasTTS" /> + <keyword name="MicrosoftEngine.supportedLanguages" id="MicrosoftEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html#MicrosoftEngine.supportedLanguages" /> <keyword name="MimeTypes (Module)" id="MimeTypes (Module)" ref="eric6.Utilities.MimeTypes.html" /> <keyword name="MimeTypesPage" id="MimeTypesPage" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage" /> <keyword name="MimeTypesPage (Constructor)" id="MimeTypesPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.MimeTypesPage.html#MimeTypesPage.__init__" /> @@ -10135,6 +10195,12 @@ <keyword name="MultiValueDictResolver" id="MultiValueDictResolver" ref="eric6.DebugClients.Python.DebugVariables.html#MultiValueDictResolver" /> <keyword name="MultiValueDictResolver.getDictionary" id="MultiValueDictResolver.getDictionary" ref="eric6.DebugClients.Python.DebugVariables.html#MultiValueDictResolver.getDictionary" /> <keyword name="MultiValueDictResolver.resolve" id="MultiValueDictResolver.resolve" ref="eric6.DebugClients.Python.DebugVariables.html#MultiValueDictResolver.resolve" /> + <keyword name="MyMemoryEngine" id="MyMemoryEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html#MyMemoryEngine" /> + <keyword name="MyMemoryEngine (Constructor)" id="MyMemoryEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html#MyMemoryEngine.__init__" /> + <keyword name="MyMemoryEngine (Module)" id="MyMemoryEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html" /> + <keyword name="MyMemoryEngine.engineName" id="MyMemoryEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html#MyMemoryEngine.engineName" /> + <keyword name="MyMemoryEngine.getTranslation" id="MyMemoryEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html#MyMemoryEngine.getTranslation" /> + <keyword name="MyMemoryEngine.supportedLanguages" id="MyMemoryEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html#MyMemoryEngine.supportedLanguages" /> <keyword name="NamingStyleChecker" id="NamingStyleChecker" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html#NamingStyleChecker" /> <keyword name="NamingStyleChecker (Constructor)" id="NamingStyleChecker (Constructor)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html#NamingStyleChecker.__init__" /> <keyword name="NamingStyleChecker (Module)" id="NamingStyleChecker (Module)" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.NamingStyleChecker.html" /> @@ -11230,6 +11296,7 @@ <keyword name="PluginRepositoryWindow.__startPluginInstall" id="PluginRepositoryWindow.__startPluginInstall" ref="eric6.PluginManager.PluginRepositoryDialog.html#PluginRepositoryWindow.__startPluginInstall" /> <keyword name="PluginSyntaxChecker (Module)" id="PluginSyntaxChecker (Module)" ref="eric6.Plugins.PluginSyntaxChecker.html" /> <keyword name="PluginTabnanny (Module)" id="PluginTabnanny (Module)" ref="eric6.Plugins.PluginTabnanny.html" /> + <keyword name="PluginTranslator (Module)" id="PluginTranslator (Module)" ref="eric6.Plugins.PluginTranslator.html" /> <keyword name="PluginUninstallDialog" id="PluginUninstallDialog" ref="eric6.PluginManager.PluginUninstallDialog.html#PluginUninstallDialog" /> <keyword name="PluginUninstallDialog (Constructor)" id="PluginUninstallDialog (Constructor)" ref="eric6.PluginManager.PluginUninstallDialog.html#PluginUninstallDialog.__init__" /> <keyword name="PluginUninstallDialog (Module)" id="PluginUninstallDialog (Module)" ref="eric6.PluginManager.PluginUninstallDialog.html" /> @@ -11900,6 +11967,12 @@ <keyword name="ProjectWriter (Constructor)" id="ProjectWriter (Constructor)" ref="eric6.E5XML.ProjectWriter.html#ProjectWriter.__init__" /> <keyword name="ProjectWriter (Module)" id="ProjectWriter (Module)" ref="eric6.E5XML.ProjectWriter.html" /> <keyword name="ProjectWriter.writeXML" id="ProjectWriter.writeXML" ref="eric6.E5XML.ProjectWriter.html#ProjectWriter.writeXML" /> + <keyword name="PromtEngine" id="PromtEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html#PromtEngine" /> + <keyword name="PromtEngine (Constructor)" id="PromtEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html#PromtEngine.__init__" /> + <keyword name="PromtEngine (Module)" id="PromtEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html" /> + <keyword name="PromtEngine.engineName" id="PromtEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html#PromtEngine.engineName" /> + <keyword name="PromtEngine.getTranslation" id="PromtEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html#PromtEngine.getTranslation" /> + <keyword name="PromtEngine.supportedLanguages" id="PromtEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html#PromtEngine.supportedLanguages" /> <keyword name="PropertiesDialog" id="PropertiesDialog" ref="eric6.MultiProject.PropertiesDialog.html#PropertiesDialog" /> <keyword name="PropertiesDialog" id="PropertiesDialog" ref="eric6.Project.PropertiesDialog.html#PropertiesDialog" /> <keyword name="PropertiesDialog (Constructor)" id="PropertiesDialog (Constructor)" ref="eric6.MultiProject.PropertiesDialog.html#PropertiesDialog.__init__" /> @@ -15086,6 +15159,14 @@ <keyword name="Tools (Package)" id="Tools (Package)" ref="index-eric6.WebBrowser.Tools.html" /> <keyword name="Translation" id="Translation" ref="eric6.Tools.TRPreviewer.html#Translation" /> <keyword name="Translation (Constructor)" id="Translation (Constructor)" ref="eric6.Tools.TRPreviewer.html#Translation.__init__" /> + <keyword name="TranslationEngine" id="TranslationEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine" /> + <keyword name="TranslationEngine (Constructor)" id="TranslationEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.__init__" /> + <keyword name="TranslationEngine (Module)" id="TranslationEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html" /> + <keyword name="TranslationEngine.engineName" id="TranslationEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.engineName" /> + <keyword name="TranslationEngine.getTextToSpeechData" id="TranslationEngine.getTextToSpeechData" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.getTextToSpeechData" /> + <keyword name="TranslationEngine.getTranslation" id="TranslationEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.getTranslation" /> + <keyword name="TranslationEngine.hasTTS" id="TranslationEngine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.hasTTS" /> + <keyword name="TranslationEngine.supportedLanguages" id="TranslationEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.supportedLanguages" /> <keyword name="TranslationPropertiesDialog" id="TranslationPropertiesDialog" ref="eric6.Project.TranslationPropertiesDialog.html#TranslationPropertiesDialog" /> <keyword name="TranslationPropertiesDialog (Constructor)" id="TranslationPropertiesDialog (Constructor)" ref="eric6.Project.TranslationPropertiesDialog.html#TranslationPropertiesDialog.__init__" /> <keyword name="TranslationPropertiesDialog (Module)" id="TranslationPropertiesDialog (Module)" ref="eric6.Project.TranslationPropertiesDialog.html" /> @@ -15114,6 +15195,65 @@ <keyword name="TranslationsDict.loadTransFile" id="TranslationsDict.loadTransFile" ref="eric6.Tools.TRPreviewer.html#TranslationsDict.loadTransFile" /> <keyword name="TranslationsDict.reload" id="TranslationsDict.reload" ref="eric6.Tools.TRPreviewer.html#TranslationsDict.reload" /> <keyword name="TranslationsDict.set" id="TranslationsDict.set" ref="eric6.Tools.TRPreviewer.html#TranslationsDict.set" /> + <keyword name="Translator" id="Translator" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator" /> + <keyword name="Translator (Constructor)" id="Translator (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator.__init__" /> + <keyword name="Translator (Module)" id="Translator (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html" /> + <keyword name="Translator (Package)" id="Translator (Package)" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.html" /> + <keyword name="Translator.__activateWidget" id="Translator.__activateWidget" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator.__activateWidget" /> + <keyword name="Translator.activate" id="Translator.activate" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator.activate" /> + <keyword name="Translator.deactivate" id="Translator.deactivate" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator.deactivate" /> + <keyword name="Translator.getAppIcon" id="Translator.getAppIcon" ref="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html#Translator.getAppIcon" /> + <keyword name="TranslatorEngines (Package)" id="TranslatorEngines (Package)" ref="index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html" /> + <keyword name="TranslatorLanguagesDb" id="TranslatorLanguagesDb" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb" /> + <keyword name="TranslatorLanguagesDb (Constructor)" id="TranslatorLanguagesDb (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb.__init__" /> + <keyword name="TranslatorLanguagesDb (Module)" id="TranslatorLanguagesDb (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html" /> + <keyword name="TranslatorLanguagesDb.convertTwoToThree" id="TranslatorLanguagesDb.convertTwoToThree" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb.convertTwoToThree" /> + <keyword name="TranslatorLanguagesDb.getAllLanguages" id="TranslatorLanguagesDb.getAllLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb.getAllLanguages" /> + <keyword name="TranslatorLanguagesDb.getLanguage" id="TranslatorLanguagesDb.getLanguage" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb.getLanguage" /> + <keyword name="TranslatorLanguagesDb.getLanguageIcon" id="TranslatorLanguagesDb.getLanguageIcon" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html#TranslatorLanguagesDb.getLanguageIcon" /> + <keyword name="TranslatorPage" id="TranslatorPage" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage" /> + <keyword name="TranslatorPage (Constructor)" id="TranslatorPage (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.__init__" /> + <keyword name="TranslatorPage (Module)" id="TranslatorPage (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html" /> + <keyword name="TranslatorPage.__checkedLanguageItems" id="TranslatorPage.__checkedLanguageItems" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.__checkedLanguageItems" /> + <keyword name="TranslatorPage.on_defaultButton_clicked" id="TranslatorPage.on_defaultButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.on_defaultButton_clicked" /> + <keyword name="TranslatorPage.on_languagesList_itemChanged" id="TranslatorPage.on_languagesList_itemChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.on_languagesList_itemChanged" /> + <keyword name="TranslatorPage.on_setButton_clicked" id="TranslatorPage.on_setButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.on_setButton_clicked" /> + <keyword name="TranslatorPage.save" id="TranslatorPage.save" ref="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html#TranslatorPage.save" /> + <keyword name="TranslatorPlugin" id="TranslatorPlugin" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin" /> + <keyword name="TranslatorPlugin (Constructor)" id="TranslatorPlugin (Constructor)" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.__init__" /> + <keyword name="TranslatorPlugin.__initialize" id="TranslatorPlugin.__initialize" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.__initialize" /> + <keyword name="TranslatorPlugin.activate" id="TranslatorPlugin.activate" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.activate" /> + <keyword name="TranslatorPlugin.deactivate" id="TranslatorPlugin.deactivate" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.deactivate" /> + <keyword name="TranslatorPlugin.getPreferences" id="TranslatorPlugin.getPreferences" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.getPreferences" /> + <keyword name="TranslatorPlugin.getPreferencesDefault" id="TranslatorPlugin.getPreferencesDefault" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.getPreferencesDefault" /> + <keyword name="TranslatorPlugin.setPreferences" id="TranslatorPlugin.setPreferences" ref="eric6.Plugins.PluginTranslator.html#TranslatorPlugin.setPreferences" /> + <keyword name="TranslatorRequest" id="TranslatorRequest" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html#TranslatorRequest" /> + <keyword name="TranslatorRequest (Constructor)" id="TranslatorRequest (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html#TranslatorRequest.__init__" /> + <keyword name="TranslatorRequest (Module)" id="TranslatorRequest (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html" /> + <keyword name="TranslatorRequest.get" id="TranslatorRequest.get" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html#TranslatorRequest.get" /> + <keyword name="TranslatorRequest.post" id="TranslatorRequest.post" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html#TranslatorRequest.post" /> + <keyword name="TranslatorWidget" id="TranslatorWidget" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget" /> + <keyword name="TranslatorWidget (Constructor)" id="TranslatorWidget (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__init__" /> + <keyword name="TranslatorWidget (Module)" id="TranslatorWidget (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html" /> + <keyword name="TranslatorWidget.__engineComboBoxCurrentIndexChanged" id="TranslatorWidget.__engineComboBoxCurrentIndexChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__engineComboBoxCurrentIndexChanged" /> + <keyword name="TranslatorWidget.__mediaPlayerStateChanged" id="TranslatorWidget.__mediaPlayerStateChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__mediaPlayerStateChanged" /> + <keyword name="TranslatorWidget.__originalLanguage" id="TranslatorWidget.__originalLanguage" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__originalLanguage" /> + <keyword name="TranslatorWidget.__pronounce" id="TranslatorWidget.__pronounce" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__pronounce" /> + <keyword name="TranslatorWidget.__translate" id="TranslatorWidget.__translate" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__translate" /> + <keyword name="TranslatorWidget.__translationLanguage" id="TranslatorWidget.__translationLanguage" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__translationLanguage" /> + <keyword name="TranslatorWidget.__updateClearButton" id="TranslatorWidget.__updateClearButton" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateClearButton" /> + <keyword name="TranslatorWidget.__updateEngines" id="TranslatorWidget.__updateEngines" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateEngines" /> + <keyword name="TranslatorWidget.__updateLanguages" id="TranslatorWidget.__updateLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateLanguages" /> + <keyword name="TranslatorWidget.__updatePronounceButtons" id="TranslatorWidget.__updatePronounceButtons" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updatePronounceButtons" /> + <keyword name="TranslatorWidget.on_clearButton_clicked" id="TranslatorWidget.on_clearButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_clearButton_clicked" /> + <keyword name="TranslatorWidget.on_origEdit_textChanged" id="TranslatorWidget.on_origEdit_textChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_origEdit_textChanged" /> + <keyword name="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" id="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" /> + <keyword name="TranslatorWidget.on_pronounceOrigButton_clicked" id="TranslatorWidget.on_pronounceOrigButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_pronounceOrigButton_clicked" /> + <keyword name="TranslatorWidget.on_pronounceTransButton_clicked" id="TranslatorWidget.on_pronounceTransButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_pronounceTransButton_clicked" /> + <keyword name="TranslatorWidget.on_swapButton_clicked" id="TranslatorWidget.on_swapButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_swapButton_clicked" /> + <keyword name="TranslatorWidget.on_transEdit_textChanged" id="TranslatorWidget.on_transEdit_textChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_transEdit_textChanged" /> + <keyword name="TranslatorWidget.on_transLanguageComboBox_currentIndexChanged" id="TranslatorWidget.on_transLanguageComboBox_currentIndexChanged" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_transLanguageComboBox_currentIndexChanged" /> + <keyword name="TranslatorWidget.on_translateButton_clicked" id="TranslatorWidget.on_translateButton_clicked" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.on_translateButton_clicked" /> <keyword name="TrayStarter" id="TrayStarter" ref="eric6.Tools.TrayStarter.html#TrayStarter" /> <keyword name="TrayStarter (Constructor)" id="TrayStarter (Constructor)" ref="eric6.Tools.TrayStarter.html#TrayStarter.__init__" /> <keyword name="TrayStarter (Module)" id="TrayStarter (Module)" ref="eric6.Tools.TrayStarter.html" /> @@ -17038,6 +17178,12 @@ <keyword name="XmlEntityResolver" id="XmlEntityResolver" ref="eric6.WebBrowser.Bookmarks.XbelReader.html#XmlEntityResolver" /> <keyword name="XmlEntityResolver.resolveUndeclaredEntity" id="XmlEntityResolver.resolveUndeclaredEntity" ref="eric6.Helpviewer.Bookmarks.XbelReader.html#XmlEntityResolver.resolveUndeclaredEntity" /> <keyword name="XmlEntityResolver.resolveUndeclaredEntity" id="XmlEntityResolver.resolveUndeclaredEntity" ref="eric6.WebBrowser.Bookmarks.XbelReader.html#XmlEntityResolver.resolveUndeclaredEntity" /> + <keyword name="YandexEngine" id="YandexEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html#YandexEngine" /> + <keyword name="YandexEngine (Constructor)" id="YandexEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html#YandexEngine.__init__" /> + <keyword name="YandexEngine (Module)" id="YandexEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html" /> + <keyword name="YandexEngine.engineName" id="YandexEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html#YandexEngine.engineName" /> + <keyword name="YandexEngine.getTranslation" id="YandexEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html#YandexEngine.getTranslation" /> + <keyword name="YandexEngine.supportedLanguages" id="YandexEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html#YandexEngine.supportedLanguages" /> <keyword name="ZoomDialog" id="ZoomDialog" ref="eric6.QScintilla.ZoomDialog.html#ZoomDialog" /> <keyword name="ZoomDialog (Constructor)" id="ZoomDialog (Constructor)" ref="eric6.QScintilla.ZoomDialog.html#ZoomDialog.__init__" /> <keyword name="ZoomDialog (Module)" id="ZoomDialog (Module)" ref="eric6.QScintilla.ZoomDialog.html" /> @@ -17286,6 +17432,7 @@ <keyword name="createMainWidget" id="createMainWidget" ref="eric6.eric6_webbrowser.html#createMainWidget" /> <keyword name="createPipPage" id="createPipPage" ref="eric6.Plugins.PluginPipInterface.html#createPipPage" /> <keyword name="createPyWrapper" id="createPyWrapper" ref="eric6.install.html#createPyWrapper" /> + <keyword name="createTranslatorPage" id="createTranslatorPage" ref="eric6.Plugins.PluginTranslator.html#createTranslatorPage" /> <keyword name="critical" id="critical" ref="eric6.E5Gui.E5MessageBox.html#critical" /> <keyword name="crypto (Package)" id="crypto (Package)" ref="index-eric6.Utilities.crypto.html" /> <keyword name="cursors (Package)" id="cursors (Package)" ref="index-eric6.IconEditor.cursors.html" /> @@ -17314,6 +17461,7 @@ <keyword name="editMessageFilters" id="editMessageFilters" ref="eric6.E5Gui.E5ErrorMessage.html#editMessageFilters" /> <keyword name="encode" id="encode" ref="eric6.Utilities.__init__.html#encode" /> <keyword name="encryptData" id="encryptData" ref="eric6.Utilities.crypto.py3AES.html#encryptData" /> + <keyword name="engineDisplayName" id="engineDisplayName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html#engineDisplayName" /> <keyword name="ensureUniqueFilename" id="ensureUniqueFilename" ref="eric6.Helpviewer.HelpUtilities.html#ensureUniqueFilename" /> <keyword name="ensureUniqueFilename" id="ensureUniqueFilename" ref="eric6.WebBrowser.Tools.WebBrowserTools.html#ensureUniqueFilename" /> <keyword name="eric6 (Module)" id="eric6 (Module)" ref="eric6.eric6.html" /> @@ -17397,6 +17545,7 @@ <keyword name="getCompleter" id="getCompleter" ref="eric6.QScintilla.TypingCompleters.__init__.html#getCompleter" /> <keyword name="getConfig" id="getConfig" ref="eric6.eric6config.html#getConfig" /> <keyword name="getConfigData" id="getConfigData" ref="eric6.Plugins.PluginPipInterface.html#getConfigData" /> + <keyword name="getConfigData" id="getConfigData" ref="eric6.Plugins.PluginTranslator.html#getConfigData" /> <keyword name="getConfigData" id="getConfigData" ref="eric6.Plugins.PluginVcsMercurial.html#getConfigData" /> <keyword name="getConfigData" id="getConfigData" ref="eric6.Plugins.PluginVcsPySvn.html#getConfigData" /> <keyword name="getConfigData" id="getConfigData" ref="eric6.Plugins.PluginVcsSubversion.html#getConfigData" /> @@ -17424,6 +17573,7 @@ <keyword name="getEditorLexerAssocs" id="getEditorLexerAssocs" ref="eric6.Preferences.__init__.html#getEditorLexerAssocs" /> <keyword name="getEditorOtherFonts" id="getEditorOtherFonts" ref="eric6.Preferences.__init__.html#getEditorOtherFonts" /> <keyword name="getEditorTyping" id="getEditorTyping" ref="eric6.Preferences.__init__.html#getEditorTyping" /> + <keyword name="getEngineIcon" id="getEngineIcon" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html#getEngineIcon" /> <keyword name="getEnvironmentEntry" id="getEnvironmentEntry" ref="eric6.Utilities.__init__.html#getEnvironmentEntry" /> <keyword name="getExePath" id="getExePath" ref="eric6.Plugins.PluginPipInterface.html#getExePath" /> <keyword name="getExecutablePath" id="getExecutablePath" ref="eric6.Utilities.__init__.html#getExecutablePath" /> @@ -17464,6 +17614,7 @@ <keyword name="getImporters" id="getImporters" ref="eric6.Helpviewer.Bookmarks.BookmarksImporters.__init__.html#getImporters" /> <keyword name="getImporters" id="getImporters" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.__init__.html#getImporters" /> <keyword name="getIrc" id="getIrc" ref="eric6.Preferences.__init__.html#getIrc" /> + <keyword name="getKeyUrl" id="getKeyUrl" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html#getKeyUrl" /> <keyword name="getLanguageIcon" id="getLanguageIcon" ref="eric6.QScintilla.Lexers.__init__.html#getLanguageIcon" /> <keyword name="getLexer" id="getLexer" ref="eric6.QScintilla.Lexers.__init__.html#getLexer" /> <keyword name="getMarkupProvider" id="getMarkupProvider" ref="eric6.QScintilla.MarkupProviders.__init__.html#getMarkupProvider" /> @@ -17513,6 +17664,7 @@ <keyword name="getTemplates" id="getTemplates" ref="eric6.Preferences.__init__.html#getTemplates" /> <keyword name="getTestFileName" id="getTestFileName" ref="eric6.Utilities.__init__.html#getTestFileName" /> <keyword name="getTranslatedMessage" id="getTranslatedMessage" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.translations.html#getTranslatedMessage" /> + <keyword name="getTranslationEngine" id="getTranslationEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html#getTranslationEngine" /> <keyword name="getTrayStarter" id="getTrayStarter" ref="eric6.Preferences.__init__.html#getTrayStarter" /> <keyword name="getType" id="getType" ref="eric6.DebugClients.Python.DebugVariables.html#getType" /> <keyword name="getTypeFromTypeName" id="getTypeFromTypeName" ref="eric6.Utilities.ModuleParser.html#getTypeFromTypeName" /> @@ -17690,6 +17842,7 @@ <keyword name="prepareProcess" id="prepareProcess" ref="eric6.Plugins.VcsPlugins.vcsMercurial.HgUtilities.html#prepareProcess" /> <keyword name="prepareQtMacBundle" id="prepareQtMacBundle" ref="eric6.Utilities.__init__.html#prepareQtMacBundle" /> <keyword name="prepareUninstall" id="prepareUninstall" ref="eric6.Plugins.PluginPipInterface.html#prepareUninstall" /> + <keyword name="prepareUninstall" id="prepareUninstall" ref="eric6.Plugins.PluginTranslator.html#prepareUninstall" /> <keyword name="prepareUninstall" id="prepareUninstall" ref="eric6.Plugins.PluginVcsMercurial.html#prepareUninstall" /> <keyword name="prepareUninstall" id="prepareUninstall" ref="eric6.Plugins.PluginVcsPySvn.html#prepareUninstall" /> <keyword name="prepareUninstall" id="prepareUninstall" ref="eric6.Plugins.PluginVcsSubversion.html#prepareUninstall" /> @@ -17845,6 +17998,7 @@ <keyword name="subversion (Module)" id="subversion (Module)" ref="eric6.Plugins.VcsPlugins.vcsPySvn.subversion.html" /> <keyword name="subversion (Module)" id="subversion (Module)" ref="eric6.Plugins.VcsPlugins.vcsSubversion.subversion.html" /> <keyword name="summarize" id="summarize" ref="eric6.DataViews.CodeMetrics.html#summarize" /> + <keyword name="supportedEngineNames" id="supportedEngineNames" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html#supportedEngineNames" /> <keyword name="syncPreferences" id="syncPreferences" ref="eric6.Preferences.__init__.html#syncPreferences" /> <keyword name="syntaxAndPyflakesBatchCheck" id="syntaxAndPyflakesBatchCheck" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html#syntaxAndPyflakesBatchCheck" /> <keyword name="syntaxAndPyflakesCheck" id="syntaxAndPyflakesCheck" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html#syntaxAndPyflakesCheck" /> @@ -18314,6 +18468,7 @@ <file>eric6.Plugins.PluginPipInterface.html</file> <file>eric6.Plugins.PluginSyntaxChecker.html</file> <file>eric6.Plugins.PluginTabnanny.html</file> + <file>eric6.Plugins.PluginTranslator.html</file> <file>eric6.Plugins.PluginVcsMercurial.html</file> <file>eric6.Plugins.PluginVcsPySvn.html</file> <file>eric6.Plugins.PluginVcsSubversion.html</file> @@ -18341,6 +18496,21 @@ <file>eric6.Plugins.UiExtensionPlugins.PipInterface.PipPackagesInputDialog.html</file> <file>eric6.Plugins.UiExtensionPlugins.PipInterface.PipRequirementsSelectionDialog.html</file> <file>eric6.Plugins.UiExtensionPlugins.PipInterface.PipSearchDialog.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.Translator.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html</file> + <file>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html</file> <file>eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvConfigurationDialog.html</file> <file>eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.VirtualenvExecDialog.html</file> <file>eric6.Plugins.VcsPlugins.vcsMercurial.Config.html</file> @@ -19070,6 +19240,9 @@ <file>index-eric6.Plugins.DocumentationPlugins.html</file> <file>index-eric6.Plugins.UiExtensionPlugins.PipInterface.ConfigurationPage.html</file> <file>index-eric6.Plugins.UiExtensionPlugins.PipInterface.html</file> + <file>index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html</file> + <file>index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html</file> + <file>index-eric6.Plugins.UiExtensionPlugins.Translator.html</file> <file>index-eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.html</file> <file>index-eric6.Plugins.UiExtensionPlugins.html</file> <file>index-eric6.Plugins.VcsPlugins.html</file>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.PluginTranslator.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,210 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.PluginTranslator</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.PluginTranslator</h1> +<p> +Module implementing the Translator plugin. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>needsRestart</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>python2Compatible</td></tr><tr><td>shortDescription</td></tr><tr><td>translatorPluginObject</td></tr><tr><td>version</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslatorPlugin">TranslatorPlugin</a></td> +<td>Class implementing the Translator plugin.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr> +<td><a href="#createTranslatorPage">createTranslatorPage</a></td> +<td>Module function to create the Translator configuration page.</td> +</tr><tr> +<td><a href="#getConfigData">getConfigData</a></td> +<td>Module function returning data as required by the configuration dialog.</td> +</tr><tr> +<td><a href="#prepareUninstall">prepareUninstall</a></td> +<td>Module function to prepare for an uninstallation.</td> +</tr> +</table> +<hr /><hr /> +<a NAME="TranslatorPlugin" ID="TranslatorPlugin"></a> +<h2>TranslatorPlugin</h2> +<p> + Class implementing the Translator plugin. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>PreferencesKey</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslatorPlugin.__init__">TranslatorPlugin</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslatorPlugin.__initialize">__initialize</a></td> +<td>Private slot to (re)initialize the plugin.</td> +</tr><tr> +<td><a href="#TranslatorPlugin.activate">activate</a></td> +<td>Public method to activate this plugin.</td> +</tr><tr> +<td><a href="#TranslatorPlugin.deactivate">deactivate</a></td> +<td>Public method to deactivate this plugin.</td> +</tr><tr> +<td><a href="#TranslatorPlugin.getPreferences">getPreferences</a></td> +<td>Public method to retrieve the various settings.</td> +</tr><tr> +<td><a href="#TranslatorPlugin.getPreferencesDefault">getPreferencesDefault</a></td> +<td>Public method to retrieve the various default settings.</td> +</tr><tr> +<td><a href="#TranslatorPlugin.setPreferences">setPreferences</a></td> +<td>Public method to store the various settings.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslatorPlugin.__init__" ID="TranslatorPlugin.__init__"></a> +<h4>TranslatorPlugin (Constructor)</h4> +<b>TranslatorPlugin</b>(<i>ui</i>) +<p> + Constructor +</p><dl> +<dt><i>ui</i></dt> +<dd> +reference to the user interface object (UI.UserInterface) +</dd> +</dl><a NAME="TranslatorPlugin.__initialize" ID="TranslatorPlugin.__initialize"></a> +<h4>TranslatorPlugin.__initialize</h4> +<b>__initialize</b>(<i></i>) +<p> + Private slot to (re)initialize the plugin. +</p><a NAME="TranslatorPlugin.activate" ID="TranslatorPlugin.activate"></a> +<h4>TranslatorPlugin.activate</h4> +<b>activate</b>(<i></i>) +<p> + Public method to activate this plugin. +</p><dl> +<dt>Returns:</dt> +<dd> +tuple of None and activation status (boolean) +</dd> +</dl><a NAME="TranslatorPlugin.deactivate" ID="TranslatorPlugin.deactivate"></a> +<h4>TranslatorPlugin.deactivate</h4> +<b>deactivate</b>(<i></i>) +<p> + Public method to deactivate this plugin. +</p><a NAME="TranslatorPlugin.getPreferences" ID="TranslatorPlugin.getPreferences"></a> +<h4>TranslatorPlugin.getPreferences</h4> +<b>getPreferences</b>(<i>key</i>) +<p> + Public method to retrieve the various settings. +</p><dl> +<dt><i>key</i></dt> +<dd> +the key of the value to get +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +the requested setting +</dd> +</dl><a NAME="TranslatorPlugin.getPreferencesDefault" ID="TranslatorPlugin.getPreferencesDefault"></a> +<h4>TranslatorPlugin.getPreferencesDefault</h4> +<b>getPreferencesDefault</b>(<i>key</i>) +<p> + Public method to retrieve the various default settings. +</p><dl> +<dt><i>key</i></dt> +<dd> +the key of the value to get +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +the requested setting +</dd> +</dl><a NAME="TranslatorPlugin.setPreferences" ID="TranslatorPlugin.setPreferences"></a> +<h4>TranslatorPlugin.setPreferences</h4> +<b>setPreferences</b>(<i>key, value</i>) +<p> + Public method to store the various settings. +</p><dl> +<dt><i>key</i></dt> +<dd> +the key of the setting to be set (string) +</dd><dt><i>value</i></dt> +<dd> +the value to be set +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="createTranslatorPage" ID="createTranslatorPage"></a> +<h2>createTranslatorPage</h2> +<b>createTranslatorPage</b>(<i>configDlg</i>) +<p> + Module function to create the Translator configuration page. +</p><dl> +<dt><i>configDlg</i></dt> +<dd> +reference to the configuration dialog +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +reference to the configuration page +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getConfigData" ID="getConfigData"></a> +<h2>getConfigData</h2> +<b>getConfigData</b>(<i></i>) +<p> + Module function returning data as required by the configuration dialog. +</p><dl> +<dt>Returns:</dt> +<dd> +dictionary containing the relevant data +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="prepareUninstall" ID="prepareUninstall"></a> +<h2>prepareUninstall</h2> +<b>prepareUninstall</b>(<i></i>) +<p> + Module function to prepare for an uninstallation. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,131 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage</h1> +<p> +Module implementing the Time Tracker configuration page. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslatorPage">TranslatorPage</a></td> +<td>Class implementing the Time Tracker configuration page.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="TranslatorPage" ID="TranslatorPage"></a> +<h2>TranslatorPage</h2> +<p> + Class implementing the Time Tracker configuration page. +</p> +<h3>Derived from</h3> +ConfigurationPageBase, Ui_TranslatorPage +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslatorPage.__init__">TranslatorPage</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslatorPage.__checkedLanguageItems">__checkedLanguageItems</a></td> +<td>Private method to get a list of checked language items.</td> +</tr><tr> +<td><a href="#TranslatorPage.on_defaultButton_clicked">on_defaultButton_clicked</a></td> +<td>Private slot to set the default languages.</td> +</tr><tr> +<td><a href="#TranslatorPage.on_languagesList_itemChanged">on_languagesList_itemChanged</a></td> +<td>Private slot to handle the selection of an item.</td> +</tr><tr> +<td><a href="#TranslatorPage.on_setButton_clicked">on_setButton_clicked</a></td> +<td>Private slot to set or unset all items.</td> +</tr><tr> +<td><a href="#TranslatorPage.save">save</a></td> +<td>Public slot to save the Pyramid configuration.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslatorPage.__init__" ID="TranslatorPage.__init__"></a> +<h4>TranslatorPage (Constructor)</h4> +<b>TranslatorPage</b>(<i>plugin</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object +</dd> +</dl><a NAME="TranslatorPage.__checkedLanguageItems" ID="TranslatorPage.__checkedLanguageItems"></a> +<h4>TranslatorPage.__checkedLanguageItems</h4> +<b>__checkedLanguageItems</b>(<i></i>) +<p> + Private method to get a list of checked language items. +</p><dl> +<dt>Returns:</dt> +<dd> +list of checked language items (list of QListWidgetItem) +</dd> +</dl><a NAME="TranslatorPage.on_defaultButton_clicked" ID="TranslatorPage.on_defaultButton_clicked"></a> +<h4>TranslatorPage.on_defaultButton_clicked</h4> +<b>on_defaultButton_clicked</b>(<i></i>) +<p> + Private slot to set the default languages. +</p><a NAME="TranslatorPage.on_languagesList_itemChanged" ID="TranslatorPage.on_languagesList_itemChanged"></a> +<h4>TranslatorPage.on_languagesList_itemChanged</h4> +<b>on_languagesList_itemChanged</b>(<i>item</i>) +<p> + Private slot to handle the selection of an item. +</p><dl> +<dt><i>item</i></dt> +<dd> +reference to the changed item (QListWidgetItem) +</dd> +</dl><a NAME="TranslatorPage.on_setButton_clicked" ID="TranslatorPage.on_setButton_clicked"></a> +<h4>TranslatorPage.on_setButton_clicked</h4> +<b>on_setButton_clicked</b>(<i></i>) +<p> + Private slot to set or unset all items. +</p><a NAME="TranslatorPage.save" ID="TranslatorPage.save"></a> +<h4>TranslatorPage.save</h4> +<b>save</b>(<i></i>) +<p> + Public slot to save the Pyramid configuration. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.Translator.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,126 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.Translator</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.Translator</h1> +<p> +Module implementing the translator object. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#Translator">Translator</a></td> +<td>Class implementing the translator object.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="Translator" ID="Translator"></a> +<h2>Translator</h2> +<p> + Class implementing the translator object. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#Translator.__init__">Translator</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#Translator.__activateWidget">__activateWidget</a></td> +<td>Private slot to handle the activation of the project browser.</td> +</tr><tr> +<td><a href="#Translator.activate">activate</a></td> +<td>Public method to activate the translator.</td> +</tr><tr> +<td><a href="#Translator.deactivate">deactivate</a></td> +<td>Public method to deactivate the time tracker.</td> +</tr><tr> +<td><a href="#Translator.getAppIcon">getAppIcon</a></td> +<td>Public method to get an icon.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="Translator.__init__" ID="Translator.__init__"></a> +<h4>Translator (Constructor)</h4> +<b>Translator</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +parent (QObject) +</dd> +</dl><a NAME="Translator.__activateWidget" ID="Translator.__activateWidget"></a> +<h4>Translator.__activateWidget</h4> +<b>__activateWidget</b>(<i></i>) +<p> + Private slot to handle the activation of the project browser. +</p><a NAME="Translator.activate" ID="Translator.activate"></a> +<h4>Translator.activate</h4> +<b>activate</b>(<i></i>) +<p> + Public method to activate the translator. +</p><a NAME="Translator.deactivate" ID="Translator.deactivate"></a> +<h4>Translator.deactivate</h4> +<b>deactivate</b>(<i></i>) +<p> + Public method to deactivate the time tracker. +</p><a NAME="Translator.getAppIcon" ID="Translator.getAppIcon"></a> +<h4>Translator.getAppIcon</h4> +<b>getAppIcon</b>(<i>name</i>) +<p> + Public method to get an icon. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the icon file (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +icon (QIcon) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,150 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine</h1> +<p> +Module implementing the DeepL translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#DeepLEngine">DeepLEngine</a></td> +<td>Class implementing the translation engine for the DeepL translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="DeepLEngine" ID="DeepLEngine"></a> +<h2>DeepLEngine</h2> +<p> + Class implementing the translation engine for the DeepL + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>MaxTranslationTextLen</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#DeepLEngine.__init__">DeepLEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#DeepLEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#DeepLEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#DeepLEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="DeepLEngine.__init__" ID="DeepLEngine.__init__"></a> +<h4>DeepLEngine (Constructor)</h4> +<b>DeepLEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i> (TranslatorPlugin)</dt> +<dd> +reference to the plugin object +</dd><dt><i>parent</i> (QObject)</dt> +<dd> +reference to the parent object +</dd> +</dl><a NAME="DeepLEngine.engineName" ID="DeepLEngine.engineName"></a> +<h4>DeepLEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="DeepLEngine.getTranslation" ID="DeepLEngine.getTranslation"></a> +<h4>DeepLEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="DeepLEngine.supportedLanguages" ID="DeepLEngine.supportedLanguages"></a> +<h4>DeepLEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +list of str +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine</h1> +<p> +Module implementing the Glosbe translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#GlosbeEngine">GlosbeEngine</a></td> +<td>Class implementing the translation engine for the Glosbe translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="GlosbeEngine" ID="GlosbeEngine"></a> +<h2>GlosbeEngine</h2> +<p> + Class implementing the translation engine for the Glosbe + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TranslatorLimit</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#GlosbeEngine.__init__">GlosbeEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#GlosbeEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#GlosbeEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#GlosbeEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="GlosbeEngine.__init__" ID="GlosbeEngine.__init__"></a> +<h4>GlosbeEngine (Constructor)</h4> +<b>GlosbeEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="GlosbeEngine.engineName" ID="GlosbeEngine.engineName"></a> +<h4>GlosbeEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="GlosbeEngine.getTranslation" ID="GlosbeEngine.getTranslation"></a> +<h4>GlosbeEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="GlosbeEngine.supportedLanguages" ID="GlosbeEngine.supportedLanguages"></a> +<h4>GlosbeEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,179 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine</h1> +<p> +Module implementing the Google V1 translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#GoogleV1Engine">GoogleV1Engine</a></td> +<td>Class implementing the translation engine for the old Google translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="GoogleV1Engine" ID="GoogleV1Engine"></a> +<h2>GoogleV1Engine</h2> +<p> + Class implementing the translation engine for the old Google + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TextToSpeechLimit</td></tr><tr><td>TextToSpeechUrl</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#GoogleV1Engine.__init__">GoogleV1Engine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#GoogleV1Engine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#GoogleV1Engine.getTextToSpeechData">getTextToSpeechData</a></td> +<td>Public method to pronounce the given text.</td> +</tr><tr> +<td><a href="#GoogleV1Engine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#GoogleV1Engine.hasTTS">hasTTS</a></td> +<td>Public method indicating the Text-to-Speech capability.</td> +</tr><tr> +<td><a href="#GoogleV1Engine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="GoogleV1Engine.__init__" ID="GoogleV1Engine.__init__"></a> +<h4>GoogleV1Engine (Constructor)</h4> +<b>GoogleV1Engine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="GoogleV1Engine.engineName" ID="GoogleV1Engine.engineName"></a> +<h4>GoogleV1Engine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="GoogleV1Engine.getTextToSpeechData" ID="GoogleV1Engine.getTextToSpeechData"></a> +<h4>GoogleV1Engine.getTextToSpeechData</h4> +<b>getTextToSpeechData</b>(<i>requestObject, text, language</i>) +<p> + Public method to pronounce the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be pronounced (string) +</dd><dt><i>language</i></dt> +<dd> +language code of the text (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) +</dd> +</dl><a NAME="GoogleV1Engine.getTranslation" ID="GoogleV1Engine.getTranslation"></a> +<h4>GoogleV1Engine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="GoogleV1Engine.hasTTS" ID="GoogleV1Engine.hasTTS"></a> +<h4>GoogleV1Engine.hasTTS</h4> +<b>hasTTS</b>(<i></i>) +<p> + Public method indicating the Text-to-Speech capability. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating the Text-to-Speech capability (boolean) +</dd> +</dl><a NAME="GoogleV1Engine.supportedLanguages" ID="GoogleV1Engine.supportedLanguages"></a> +<h4>GoogleV1Engine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine</h1> +<p> +Module implementing the Google V2 translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#GoogleV2Engine">GoogleV2Engine</a></td> +<td>Class implementing the translation engine for the new Google translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="GoogleV2Engine" ID="GoogleV2Engine"></a> +<h2>GoogleV2Engine</h2> +<p> + Class implementing the translation engine for the new Google + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#GoogleV2Engine.__init__">GoogleV2Engine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#GoogleV2Engine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#GoogleV2Engine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#GoogleV2Engine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="GoogleV2Engine.__init__" ID="GoogleV2Engine.__init__"></a> +<h4>GoogleV2Engine (Constructor)</h4> +<b>GoogleV2Engine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="GoogleV2Engine.engineName" ID="GoogleV2Engine.engineName"></a> +<h4>GoogleV2Engine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="GoogleV2Engine.getTranslation" ID="GoogleV2Engine.getTranslation"></a> +<h4>GoogleV2Engine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="GoogleV2Engine.supportedLanguages" ID="GoogleV2Engine.supportedLanguages"></a> +<h4>GoogleV2Engine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,237 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine</h1> +<p> +Module implementing the Microsoft translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#MicrosoftEngine">MicrosoftEngine</a></td> +<td>Class implementing the translation engine for the Microsoft translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="MicrosoftEngine" ID="MicrosoftEngine"></a> +<h2>MicrosoftEngine</h2> +<p> + Class implementing the translation engine for the Microsoft + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>AccessTokenUrl</td></tr><tr><td>TextToSpeechUrl</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#MicrosoftEngine.__init__">MicrosoftEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#MicrosoftEngine.__getAccessToken">__getAccessToken</a></td> +<td>Private slot to get an access token.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.__getClientDataAzure">__getClientDataAzure</a></td> +<td>Private method to retrieve the client data.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.__mapLanguageCode">__mapLanguageCode</a></td> +<td>Private method to map a language code to the Microsoft code.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.getTextToSpeechData">getTextToSpeechData</a></td> +<td>Public method to pronounce the given text.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.hasTTS">hasTTS</a></td> +<td>Public method indicating the Text-to-Speech capability.</td> +</tr><tr> +<td><a href="#MicrosoftEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="MicrosoftEngine.__init__" ID="MicrosoftEngine.__init__"></a> +<h4>MicrosoftEngine (Constructor)</h4> +<b>MicrosoftEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="MicrosoftEngine.__getAccessToken" ID="MicrosoftEngine.__getAccessToken"></a> +<h4>MicrosoftEngine.__getAccessToken</h4> +<b>__getAccessToken</b>(<i>requestObject</i>) +<p> + Private slot to get an access token. +</p><p> + If the stored token is no longer valid, get a new one and store it. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +access token (string) +</dd> +</dl><a NAME="MicrosoftEngine.__getClientDataAzure" ID="MicrosoftEngine.__getClientDataAzure"></a> +<h4>MicrosoftEngine.__getClientDataAzure</h4> +<b>__getClientDataAzure</b>(<i></i>) +<p> + Private method to retrieve the client data. +</p><dl> +<dt>Returns:</dt> +<dd> +tuple giving the API subscription key and a flag indicating + validity +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +tuple of (str, bool) +</dd> +</dl><a NAME="MicrosoftEngine.__mapLanguageCode" ID="MicrosoftEngine.__mapLanguageCode"></a> +<h4>MicrosoftEngine.__mapLanguageCode</h4> +<b>__mapLanguageCode</b>(<i>code</i>) +<p> + Private method to map a language code to the Microsoft code. +</p><dl> +<dt><i>code</i></dt> +<dd> +language code (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +mapped language code (string) +</dd> +</dl><a NAME="MicrosoftEngine.engineName" ID="MicrosoftEngine.engineName"></a> +<h4>MicrosoftEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="MicrosoftEngine.getTextToSpeechData" ID="MicrosoftEngine.getTextToSpeechData"></a> +<h4>MicrosoftEngine.getTextToSpeechData</h4> +<b>getTextToSpeechData</b>(<i>requestObject, text, language</i>) +<p> + Public method to pronounce the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be pronounced (string) +</dd><dt><i>language</i></dt> +<dd> +language code of the text (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) +</dd> +</dl><a NAME="MicrosoftEngine.getTranslation" ID="MicrosoftEngine.getTranslation"></a> +<h4>MicrosoftEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="MicrosoftEngine.hasTTS" ID="MicrosoftEngine.hasTTS"></a> +<h4>MicrosoftEngine.hasTTS</h4> +<b>hasTTS</b>(<i></i>) +<p> + Public method indicating the Text-to-Speech capability. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating the Text-to-Speech capability (boolean) +</dd> +</dl><a NAME="MicrosoftEngine.supportedLanguages" ID="MicrosoftEngine.supportedLanguages"></a> +<h4>MicrosoftEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine</h1> +<p> +Module implementing the MyMemory translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#MyMemoryEngine">MyMemoryEngine</a></td> +<td>Class implementing the translation engine for the MyMemory translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="MyMemoryEngine" ID="MyMemoryEngine"></a> +<h2>MyMemoryEngine</h2> +<p> + Class implementing the translation engine for the MyMemory + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TranslatorLimit</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#MyMemoryEngine.__init__">MyMemoryEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#MyMemoryEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#MyMemoryEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#MyMemoryEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="MyMemoryEngine.__init__" ID="MyMemoryEngine.__init__"></a> +<h4>MyMemoryEngine (Constructor)</h4> +<b>MyMemoryEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="MyMemoryEngine.engineName" ID="MyMemoryEngine.engineName"></a> +<h4>MyMemoryEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="MyMemoryEngine.getTranslation" ID="MyMemoryEngine.getTranslation"></a> +<h4>MyMemoryEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="MyMemoryEngine.supportedLanguages" ID="MyMemoryEngine.supportedLanguages"></a> +<h4>MyMemoryEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine</h1> +<p> +Module implementing the Promt translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#PromtEngine">PromtEngine</a></td> +<td>Class implementing the translation engine for the Promt translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="PromtEngine" ID="PromtEngine"></a> +<h2>PromtEngine</h2> +<p> + Class implementing the translation engine for the Promt + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#PromtEngine.__init__">PromtEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#PromtEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#PromtEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#PromtEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="PromtEngine.__init__" ID="PromtEngine.__init__"></a> +<h4>PromtEngine (Constructor)</h4> +<b>PromtEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="PromtEngine.engineName" ID="PromtEngine.engineName"></a> +<h4>PromtEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="PromtEngine.getTranslation" ID="PromtEngine.getTranslation"></a> +<h4>PromtEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="PromtEngine.supportedLanguages" ID="PromtEngine.supportedLanguages"></a> +<h4>PromtEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,179 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine</h1> +<p> +Module implementing the translation engine base class. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslationEngine">TranslationEngine</a></td> +<td>Class implementing the translation engine base class containing default methods.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="TranslationEngine" ID="TranslationEngine"></a> +<h2>TranslationEngine</h2> +<p> + Class implementing the translation engine base class containing + default methods. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslationEngine.__init__">TranslationEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslationEngine.engineName">engineName</a></td> +<td>Public method to get the name of the engine.</td> +</tr><tr> +<td><a href="#TranslationEngine.getTextToSpeechData">getTextToSpeechData</a></td> +<td>Public method to pronounce the given text.</td> +</tr><tr> +<td><a href="#TranslationEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#TranslationEngine.hasTTS">hasTTS</a></td> +<td>Public method indicating the Text-to-Speech capability.</td> +</tr><tr> +<td><a href="#TranslationEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslationEngine.__init__" ID="TranslationEngine.__init__"></a> +<h4>TranslationEngine (Constructor)</h4> +<b>TranslationEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="TranslationEngine.engineName" ID="TranslationEngine.engineName"></a> +<h4>TranslationEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to get the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="TranslationEngine.getTextToSpeechData" ID="TranslationEngine.getTextToSpeechData"></a> +<h4>TranslationEngine.getTextToSpeechData</h4> +<b>getTextToSpeechData</b>(<i>requestObject, text, language</i>) +<p> + Public method to pronounce the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be pronounced (string) +</dd><dt><i>language</i></dt> +<dd> +language code of the text (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) +</dd> +</dl><a NAME="TranslationEngine.getTranslation" ID="TranslationEngine.getTranslation"></a> +<h4>TranslationEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="TranslationEngine.hasTTS" ID="TranslationEngine.hasTTS"></a> +<h4>TranslationEngine.hasTTS</h4> +<b>hasTTS</b>(<i></i>) +<p> + Public method indicating the Text-to-Speech capability. +</p><dl> +<dt>Returns:</dt> +<dd> +flag indicating the Text-to-Speech capability (boolean) +</dd> +</dl><a NAME="TranslationEngine.supportedLanguages" ID="TranslationEngine.supportedLanguages"></a> +<h4>TranslationEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine</h1> +<p> +Module implementing the Yandex translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#YandexEngine">YandexEngine</a></td> +<td>Class implementing the translation engine for the Yandex translation service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="YandexEngine" ID="YandexEngine"></a> +<h2>YandexEngine</h2> +<p> + Class implementing the translation engine for the Yandex + translation service. +</p> +<h3>Derived from</h3> +TranslationEngine +<h3>Class Attributes</h3> +<table> +<tr><td>TranslatorLimit</td></tr><tr><td>TranslatorUrl</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#YandexEngine.__init__">YandexEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#YandexEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#YandexEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#YandexEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="YandexEngine.__init__" ID="YandexEngine.__init__"></a> +<h4>YandexEngine (Constructor)</h4> +<b>YandexEngine</b>(<i>plugin, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="YandexEngine.engineName" ID="YandexEngine.engineName"></a> +<h4>YandexEngine.engineName</h4> +<b>engineName</b>(<i></i>) +<p> + Public method to return the name of the engine. +</p><dl> +<dt>Returns:</dt> +<dd> +engine name (string) +</dd> +</dl><a NAME="YandexEngine.getTranslation" ID="YandexEngine.getTranslation"></a> +<h4>YandexEngine.getTranslation</h4> +<b>getTranslation</b>(<i>requestObject, text, originalLanguage, translationLanguage</i>) +<p> + Public method to translate the given text. +</p><dl> +<dt><i>requestObject</i></dt> +<dd> +reference to the request object + (TranslatorRequest) +</dd><dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="YandexEngine.supportedLanguages" ID="YandexEngine.supportedLanguages"></a> +<h4>YandexEngine.supportedLanguages</h4> +<b>supportedLanguages</b>(<i></i>) +<p> + Public method to get the supported languages. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,150 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__</h1> +<p> +Package containing the various translation engines. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Functions</h3> +<table> +<tr> +<td><a href="#engineDisplayName">engineDisplayName</a></td> +<td>Module function to get a translated name for an engine.</td> +</tr><tr> +<td><a href="#getEngineIcon">getEngineIcon</a></td> +<td>Module function to get the icon of the named engine.</td> +</tr><tr> +<td><a href="#getKeyUrl">getKeyUrl</a></td> +<td>Module function to get an URL to request a user key.</td> +</tr><tr> +<td><a href="#getTranslationEngine">getTranslationEngine</a></td> +<td>Module function to instantiate an engine object for the named service.</td> +</tr><tr> +<td><a href="#supportedEngineNames">supportedEngineNames</a></td> +<td>Module function to get the list of supported translation engines.</td> +</tr> +</table> +<hr /><hr /> +<a NAME="engineDisplayName" ID="engineDisplayName"></a> +<h2>engineDisplayName</h2> +<b>engineDisplayName</b>(<i>name</i>) +<p> + Module function to get a translated name for an engine. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of a translation engine (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +translated engine name (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getEngineIcon" ID="getEngineIcon"></a> +<h2>getEngineIcon</h2> +<b>getEngineIcon</b>(<i>name</i>) +<p> + Module function to get the icon of the named engine. +</p><dl> +<dt><i>name</i> (str)</dt> +<dd> +name of the translation engine +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +engine icon +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +QIcon +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getKeyUrl" ID="getKeyUrl"></a> +<h2>getKeyUrl</h2> +<b>getKeyUrl</b>(<i>name</i>) +<p> + Module function to get an URL to request a user key. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the online translation service (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +key request URL (string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="getTranslationEngine" ID="getTranslationEngine"></a> +<h2>getTranslationEngine</h2> +<b>getTranslationEngine</b>(<i>name, plugin, parent=None</i>) +<p> + Module function to instantiate an engine object for the named service. +</p><dl> +<dt><i>name</i></dt> +<dd> +name of the online translation service (string) +</dd><dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent object +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +translation engine (TranslatorEngine) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /><hr /> +<a NAME="supportedEngineNames" ID="supportedEngineNames"></a> +<h2>supportedEngineNames</h2> +<b>supportedEngineNames</b>(<i></i>) +<p> + Module function to get the list of supported translation engines. +</p><dl> +<dt>Returns:</dt> +<dd> +names of supported engines (list of string) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,149 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb</h1> +<p> +Module implementing the translation languages database. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslatorLanguagesDb">TranslatorLanguagesDb</a></td> +<td>Class implementing the translation languages database.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="TranslatorLanguagesDb" ID="TranslatorLanguagesDb"></a> +<h2>TranslatorLanguagesDb</h2> +<p> + Class implementing the translation languages database. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslatorLanguagesDb.__init__">TranslatorLanguagesDb</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslatorLanguagesDb.convertTwoToThree">convertTwoToThree</a></td> +<td>Public method to convert a two character language code to a thre character code.</td> +</tr><tr> +<td><a href="#TranslatorLanguagesDb.getAllLanguages">getAllLanguages</a></td> +<td>Public method to get a list of the supported language codes.</td> +</tr><tr> +<td><a href="#TranslatorLanguagesDb.getLanguage">getLanguage</a></td> +<td>Public method to get a translated language.</td> +</tr><tr> +<td><a href="#TranslatorLanguagesDb.getLanguageIcon">getLanguageIcon</a></td> +<td>Public method to get a language icon.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslatorLanguagesDb.__init__" ID="TranslatorLanguagesDb.__init__"></a> +<h4>TranslatorLanguagesDb (Constructor)</h4> +<b>TranslatorLanguagesDb</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="TranslatorLanguagesDb.convertTwoToThree" ID="TranslatorLanguagesDb.convertTwoToThree"></a> +<h4>TranslatorLanguagesDb.convertTwoToThree</h4> +<b>convertTwoToThree</b>(<i>code</i>) +<p> + Public method to convert a two character language code to a + thre character code. +</p><dl> +<dt><i>code</i></dt> +<dd> +two character language code (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +three character language code (string) +</dd> +</dl><a NAME="TranslatorLanguagesDb.getAllLanguages" ID="TranslatorLanguagesDb.getAllLanguages"></a> +<h4>TranslatorLanguagesDb.getAllLanguages</h4> +<b>getAllLanguages</b>(<i></i>) +<p> + Public method to get a list of the supported language codes. +</p><dl> +<dt>Returns:</dt> +<dd> +list of supported language codes (list of string) +</dd> +</dl><a NAME="TranslatorLanguagesDb.getLanguage" ID="TranslatorLanguagesDb.getLanguage"></a> +<h4>TranslatorLanguagesDb.getLanguage</h4> +<b>getLanguage</b>(<i>code</i>) +<p> + Public method to get a translated language. +</p><dl> +<dt><i>code</i></dt> +<dd> +language code (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +translated language (string) +</dd> +</dl><a NAME="TranslatorLanguagesDb.getLanguageIcon" ID="TranslatorLanguagesDb.getLanguageIcon"></a> +<h4>TranslatorLanguagesDb.getLanguageIcon</h4> +<b>getLanguageIcon</b>(<i>code</i>) +<p> + Public method to get a language icon. +</p><dl> +<dt><i>code</i></dt> +<dd> +language code (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +language icon (QIcon) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest</h1> +<p> +Module implementing a synchronous network request handler for translation +requests. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslatorRequest">TranslatorRequest</a></td> +<td>Class implementing a synchronous network request handler for translation requests.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="TranslatorRequest" ID="TranslatorRequest"></a> +<h2>TranslatorRequest</h2> +<p> + Class implementing a synchronous network request handler for translation + requests. +</p> +<h3>Derived from</h3> +QObject +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslatorRequest.__init__">TranslatorRequest</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslatorRequest.get">get</a></td> +<td>Public method to issue a GET request.</td> +</tr><tr> +<td><a href="#TranslatorRequest.post">post</a></td> +<td>Public method to issue a POST request.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslatorRequest.__init__" ID="TranslatorRequest.__init__"></a> +<h4>TranslatorRequest (Constructor)</h4> +<b>TranslatorRequest</b>(<i>parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>parent</i></dt> +<dd> +reference to the parent object (QObject) +</dd> +</dl><a NAME="TranslatorRequest.get" ID="TranslatorRequest.get"></a> +<h4>TranslatorRequest.get</h4> +<b>get</b>(<i>requestUrl, extraHeaders=None</i>) +<p> + Public method to issue a GET request. +</p><dl> +<dt><i>requestUrl</i></dt> +<dd> +URL of the request (QUrl) +</dd><dt><i>extraHeaders=</i></dt> +<dd> +list of tuples of additional headers giving + header name (string) and header value (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +server response (QByteArray) or error message (string) +</dd> +</dl><a NAME="TranslatorRequest.post" ID="TranslatorRequest.post"></a> +<h4>TranslatorRequest.post</h4> +<b>post</b>(<i>requestUrl, requestData, dataType="form", extraHeaders=None</i>) +<p> + Public method to issue a POST request. +</p><dl> +<dt><i>requestUrl</i></dt> +<dd> +URL of the request (QUrl) +</dd><dt><i>requestData</i></dt> +<dd> +data of the request (QByteArray) +</dd><dt><i>dataType=</i></dt> +<dd> +type of the request data (string) +</dd><dt><i>extraHeaders=</i></dt> +<dd> +list of tuples of additional headers giving + header name (string) and header value (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of server response (string) and flag indicating + success (boolean) +</dd> +</dl> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,294 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget</h1> +<p> +Module implementing the translator widget. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#TranslatorWidget">TranslatorWidget</a></td> +<td>Class implementing the translator widget.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="TranslatorWidget" ID="TranslatorWidget"></a> +<h2>TranslatorWidget</h2> +<p> + Class implementing the translator widget. +</p> +<h3>Derived from</h3> +QWidget, Ui_TranslatorWidget +<h3>Class Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Class Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Methods</h3> +<table> +<tr> +<td><a href="#TranslatorWidget.__init__">TranslatorWidget</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#TranslatorWidget.__engineComboBoxCurrentIndexChanged">__engineComboBoxCurrentIndexChanged</a></td> +<td>Private slot to handle the selection of a translation service.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__mediaPlayerStateChanged">__mediaPlayerStateChanged</a></td> +<td>Private slot handling changes of the media player state.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__originalLanguage">__originalLanguage</a></td> +<td>Private method to return the code of the selected original language.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__pronounce">__pronounce</a></td> +<td>Private method to pronounce the given text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__translate">__translate</a></td> +<td>Private method to translate the given text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__translationLanguage">__translationLanguage</a></td> +<td>Private method to return the code of the selected translation language.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__updateClearButton">__updateClearButton</a></td> +<td>Private slot to set the state of the clear button.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__updateEngines">__updateEngines</a></td> +<td>Private slot to update the engines combo box.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__updateLanguages">__updateLanguages</a></td> +<td>Private slot to update the language combo boxes.</td> +</tr><tr> +<td><a href="#TranslatorWidget.__updatePronounceButtons">__updatePronounceButtons</a></td> +<td>Private slot to set the state of the pronounce buttons.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_clearButton_clicked">on_clearButton_clicked</a></td> +<td>Private slot to clear the text fields.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_origEdit_textChanged">on_origEdit_textChanged</a></td> +<td>Private slot to handle changes of the original text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_origLanguageComboBox_currentIndexChanged">on_origLanguageComboBox_currentIndexChanged</a></td> +<td>Private slot to handle the selection of the original language.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_pronounceOrigButton_clicked">on_pronounceOrigButton_clicked</a></td> +<td>Private slot to pronounce the original text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_pronounceTransButton_clicked">on_pronounceTransButton_clicked</a></td> +<td>Private slot to pronounce the translated text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_swapButton_clicked">on_swapButton_clicked</a></td> +<td>Private slot to swap the languages.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_transEdit_textChanged">on_transEdit_textChanged</a></td> +<td>Private slot to handle changes of the translation text.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_transLanguageComboBox_currentIndexChanged">on_transLanguageComboBox_currentIndexChanged</a></td> +<td>Private slot to handle the selection of the translation language.</td> +</tr><tr> +<td><a href="#TranslatorWidget.on_translateButton_clicked">on_translateButton_clicked</a></td> +<td>Private slot to translate the entered text.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="TranslatorWidget.__init__" ID="TranslatorWidget.__init__"></a> +<h4>TranslatorWidget (Constructor)</h4> +<b>TranslatorWidget</b>(<i>plugin, translator, parent=None</i>) +<p> + Constructor +</p><dl> +<dt><i>plugin</i></dt> +<dd> +reference to the plugin object (TranslatorPlugin) +</dd><dt><i>translator</i></dt> +<dd> +reference to the translator object (Translator) +</dd><dt><i>parent</i></dt> +<dd> +reference to the parent widget (QWidget) +</dd> +</dl><a NAME="TranslatorWidget.__engineComboBoxCurrentIndexChanged" ID="TranslatorWidget.__engineComboBoxCurrentIndexChanged"></a> +<h4>TranslatorWidget.__engineComboBoxCurrentIndexChanged</h4> +<b>__engineComboBoxCurrentIndexChanged</b>(<i>index</i>) +<p> + Private slot to handle the selection of a translation service. +</p><dl> +<dt><i>index</i></dt> +<dd> +current index (integer) +</dd> +</dl><a NAME="TranslatorWidget.__mediaPlayerStateChanged" ID="TranslatorWidget.__mediaPlayerStateChanged"></a> +<h4>TranslatorWidget.__mediaPlayerStateChanged</h4> +<b>__mediaPlayerStateChanged</b>(<i>state</i>) +<p> + Private slot handling changes of the media player state. +</p><dl> +<dt><i>state</i></dt> +<dd> +media player state (QAudio.State) +</dd> +</dl><a NAME="TranslatorWidget.__originalLanguage" ID="TranslatorWidget.__originalLanguage"></a> +<h4>TranslatorWidget.__originalLanguage</h4> +<b>__originalLanguage</b>(<i></i>) +<p> + Private method to return the code of the selected original language. +</p><dl> +<dt>Returns:</dt> +<dd> +code of the original language (string) +</dd> +</dl><a NAME="TranslatorWidget.__pronounce" ID="TranslatorWidget.__pronounce"></a> +<h4>TranslatorWidget.__pronounce</h4> +<b>__pronounce</b>(<i>text, language</i>) +<p> + Private method to pronounce the given text. +</p><dl> +<dt><i>text</i></dt> +<dd> +text to be pronounced (string) +</dd><dt><i>language</i></dt> +<dd> +language code of the text (string) +</dd> +</dl><a NAME="TranslatorWidget.__translate" ID="TranslatorWidget.__translate"></a> +<h4>TranslatorWidget.__translate</h4> +<b>__translate</b>(<i>text, originalLanguage, translationLanguage</i>) +<p> + Private method to translate the given text. +</p><dl> +<dt><i>text</i></dt> +<dd> +text to be translated (string) +</dd><dt><i>originalLanguage</i></dt> +<dd> +language code of the original (string) +</dd><dt><i>translationLanguage</i></dt> +<dd> +language code of the translation (string) +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text (string) and flag indicating + success (boolean) +</dd> +</dl><a NAME="TranslatorWidget.__translationLanguage" ID="TranslatorWidget.__translationLanguage"></a> +<h4>TranslatorWidget.__translationLanguage</h4> +<b>__translationLanguage</b>(<i></i>) +<p> + Private method to return the code of the selected translation language. +</p><dl> +<dt>Returns:</dt> +<dd> +code of the translation language (string) +</dd> +</dl><a NAME="TranslatorWidget.__updateClearButton" ID="TranslatorWidget.__updateClearButton"></a> +<h4>TranslatorWidget.__updateClearButton</h4> +<b>__updateClearButton</b>(<i></i>) +<p> + Private slot to set the state of the clear button. +</p><a NAME="TranslatorWidget.__updateEngines" ID="TranslatorWidget.__updateEngines"></a> +<h4>TranslatorWidget.__updateEngines</h4> +<b>__updateEngines</b>(<i></i>) +<p> + Private slot to update the engines combo box. +</p><a NAME="TranslatorWidget.__updateLanguages" ID="TranslatorWidget.__updateLanguages"></a> +<h4>TranslatorWidget.__updateLanguages</h4> +<b>__updateLanguages</b>(<i></i>) +<p> + Private slot to update the language combo boxes. +</p><a NAME="TranslatorWidget.__updatePronounceButtons" ID="TranslatorWidget.__updatePronounceButtons"></a> +<h4>TranslatorWidget.__updatePronounceButtons</h4> +<b>__updatePronounceButtons</b>(<i></i>) +<p> + Private slot to set the state of the pronounce buttons. +</p><a NAME="TranslatorWidget.on_clearButton_clicked" ID="TranslatorWidget.on_clearButton_clicked"></a> +<h4>TranslatorWidget.on_clearButton_clicked</h4> +<b>on_clearButton_clicked</b>(<i></i>) +<p> + Private slot to clear the text fields. +</p><a NAME="TranslatorWidget.on_origEdit_textChanged" ID="TranslatorWidget.on_origEdit_textChanged"></a> +<h4>TranslatorWidget.on_origEdit_textChanged</h4> +<b>on_origEdit_textChanged</b>(<i></i>) +<p> + Private slot to handle changes of the original text. +</p><a NAME="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged" ID="TranslatorWidget.on_origLanguageComboBox_currentIndexChanged"></a> +<h4>TranslatorWidget.on_origLanguageComboBox_currentIndexChanged</h4> +<b>on_origLanguageComboBox_currentIndexChanged</b>(<i>index</i>) +<p> + Private slot to handle the selection of the original language. +</p><dl> +<dt><i>index</i></dt> +<dd> +current index (integer) +</dd> +</dl><a NAME="TranslatorWidget.on_pronounceOrigButton_clicked" ID="TranslatorWidget.on_pronounceOrigButton_clicked"></a> +<h4>TranslatorWidget.on_pronounceOrigButton_clicked</h4> +<b>on_pronounceOrigButton_clicked</b>(<i></i>) +<p> + Private slot to pronounce the original text. +</p><a NAME="TranslatorWidget.on_pronounceTransButton_clicked" ID="TranslatorWidget.on_pronounceTransButton_clicked"></a> +<h4>TranslatorWidget.on_pronounceTransButton_clicked</h4> +<b>on_pronounceTransButton_clicked</b>(<i></i>) +<p> + Private slot to pronounce the translated text. +</p><a NAME="TranslatorWidget.on_swapButton_clicked" ID="TranslatorWidget.on_swapButton_clicked"></a> +<h4>TranslatorWidget.on_swapButton_clicked</h4> +<b>on_swapButton_clicked</b>(<i></i>) +<p> + Private slot to swap the languages. +</p><a NAME="TranslatorWidget.on_transEdit_textChanged" ID="TranslatorWidget.on_transEdit_textChanged"></a> +<h4>TranslatorWidget.on_transEdit_textChanged</h4> +<b>on_transEdit_textChanged</b>(<i></i>) +<p> + Private slot to handle changes of the translation text. +</p><a NAME="TranslatorWidget.on_transLanguageComboBox_currentIndexChanged" ID="TranslatorWidget.on_transLanguageComboBox_currentIndexChanged"></a> +<h4>TranslatorWidget.on_transLanguageComboBox_currentIndexChanged</h4> +<b>on_transLanguageComboBox_currentIndexChanged</b>(<i>index</i>) +<p> + Private slot to handle the selection of the translation language. +</p><dl> +<dt><i>index</i></dt> +<dd> +current index (integer) +</dd> +</dl><a NAME="TranslatorWidget.on_translateButton_clicked" ID="TranslatorWidget.on_translateButton_clicked"></a> +<h4>TranslatorWidget.on_translateButton_clicked</h4> +<b>on_translateButton_clicked</b>(<i></i>) +<p> + Private slot to translate the entered text. +</p> +<div align="right"><a href="#top">Up</a></div> +<hr /> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage</h1> +<p> +Package implementing the Translator page of the configuration dialog. +</p> + + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage.html">TranslatorPage</a></td> +<td>Module implementing the Time Tracker configuration page.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,62 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines</h1> +<p> +Package containing the various translation engines. +</p> + + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.DeepLEngine.html">DeepLEngine</a></td> +<td>Module implementing the DeepL translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GlosbeEngine.html">GlosbeEngine</a></td> +<td>Module implementing the Glosbe translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV1Engine.html">GoogleV1Engine</a></td> +<td>Module implementing the Google V1 translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.GoogleV2Engine.html">GoogleV2Engine</a></td> +<td>Module implementing the Google V2 translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MicrosoftEngine.html">MicrosoftEngine</a></td> +<td>Module implementing the Microsoft translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.MyMemoryEngine.html">MyMemoryEngine</a></td> +<td>Module implementing the MyMemory translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.PromtEngine.html">PromtEngine</a></td> +<td>Module implementing the Promt translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html">TranslationEngine</a></td> +<td>Module implementing the translation engine base class.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.YandexEngine.html">YandexEngine</a></td> +<td>Module implementing the Yandex translation engine.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.__init__.html">TranslatorEngines</a></td> +<td>Package containing the various translation engines.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.html Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body> +<h1>eric6.Plugins.UiExtensionPlugins.Translator</h1> +<p> +Package implementing the translator. +</p> + +<h3>Packages</h3> +<table> +<tr> +<td><a href="index-eric6.Plugins.UiExtensionPlugins.Translator.ConfigurationPage.html">ConfigurationPage</a></td> +<td>Package implementing the Translator page of the configuration dialog.</td> +</tr><tr> +<td><a href="index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html">TranslatorEngines</a></td> +<td>Package containing the various translation engines.</td> +</tr> +</table> + +<h3>Modules</h3> +<table> +<tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.Translator.html">Translator</a></td> +<td>Module implementing the translator object.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorLanguagesDb.html">TranslatorLanguagesDb</a></td> +<td>Module implementing the translation languages database.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorRequest.html">TranslatorRequest</a></td> +<td>Module implementing a synchronous network request handler for translation requests.</td> +</tr><tr> +<td><a href="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html">TranslatorWidget</a></td> +<td>Module implementing the translator widget.</td> +</tr> +</table> +</body></html> \ No newline at end of file
--- a/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.html Sun Dec 10 14:51:54 2017 +0100 +++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.html Sun Dec 10 16:23:29 2017 +0100 @@ -30,6 +30,9 @@ <td><a href="index-eric6.Plugins.UiExtensionPlugins.PipInterface.html">PipInterface</a></td> <td>Package implementing the various pip dialogs and data.</td> </tr><tr> +<td><a href="index-eric6.Plugins.UiExtensionPlugins.Translator.html">Translator</a></td> +<td>Package implementing the translator.</td> +</tr><tr> <td><a href="index-eric6.Plugins.UiExtensionPlugins.VirtualenvInterface.html">VirtualenvInterface</a></td> <td>Package implementing the virtualenv wizard dialogs and data.</td> </tr>
--- a/Documentation/Source/index-eric6.Plugins.html Sun Dec 10 14:51:54 2017 +0100 +++ b/Documentation/Source/index-eric6.Plugins.html Sun Dec 10 16:23:29 2017 +0100 @@ -74,6 +74,9 @@ <td><a href="eric6.Plugins.PluginTabnanny.html">PluginTabnanny</a></td> <td>Module implementing the Tabnanny plugin.</td> </tr><tr> +<td><a href="eric6.Plugins.PluginTranslator.html">PluginTranslator</a></td> +<td>Module implementing the Translator plugin.</td> +</tr><tr> <td><a href="eric6.Plugins.PluginVcsMercurial.html">PluginVcsMercurial</a></td> <td>Module implementing the Mercurial version control plugin.</td> </tr><tr>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/PluginTranslator.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,210 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Translator plugin. +""" + +from __future__ import unicode_literals + +import os + +from PyQt5.QtCore import pyqtSignal, QObject, QCoreApplication, QDateTime, Qt + +from E5Gui.E5Application import e5App + +import Preferences + +from UiExtensionPlugins.Translator.Translator import Translator + +import UI.Info + +# Start-Of-Header +name = "Translator Plugin" +author = "Detlev Offenbach <detlev@die-offenbachs.de>" +autoactivate = True +deactivateable = True +version = UI.Info.VersionOnly +className = "TranslatorPlugin" +packageName = "__core__" +shortDescription = "Translation utility using various translators." +longDescription = \ + """This plug-in implements a utility to translate text using""" \ + """ various online translation services.""" +needsRestart = False +pyqtApi = 2 +python2Compatible = True +# End-Of-Header + +error = "" + +translatorPluginObject = None + + +def createTranslatorPage(configDlg): + """ + Module function to create the Translator configuration page. + + @param configDlg reference to the configuration dialog + @return reference to the configuration page + """ + from UiExtensionPlugins.Translator.ConfigurationPage.TranslatorPage \ + import TranslatorPage + page = TranslatorPage(translatorPluginObject) + return page + + +def getConfigData(): + """ + Module function returning data as required by the configuration dialog. + + @return dictionary containing the relevant data + """ + return { + "translatorPage": [ + QCoreApplication.translate("TranslatorPlugin", + "Translator"), + os.path.join("UiExtensionPlugins", "Translator", "icons", + "flag.png"), + createTranslatorPage, None, None], + } + + +def prepareUninstall(): + """ + Module function to prepare for an uninstallation. + """ + Preferences.Prefs.settings.remove(TranslatorPlugin.PreferencesKey) + + +class TranslatorPlugin(QObject): + """ + Class implementing the Translator plugin. + """ + PreferencesKey = "Translator" + + updateLanguages = pyqtSignal() + + def __init__(self, ui): + """ + Constructor + + @param ui reference to the user interface object (UI.UserInterface) + """ + super(TranslatorPlugin, self).__init__(ui) + self.__ui = ui + self.__initialize() + + self.__defaults = { + "OriginalLanguage": "en", + "TranslationLanguage": "de", + "SelectedEngine": "deepl", + "EnabledLanguages": ["en", "de", "fr", "cs", "es", "pt", + "ru", "tr", "zh-CN", "zh-TW"], + # service specific settings below + # Google + "GoogleEnableDictionary": False, + "GoogleV2Key": "", + # Microsoft + "MsTranslatorKey": "", + "MsAuthToken": "", + "MsAuthTokenExpire": QDateTime(), + # MyMemory + "MyMemoryKey": "", + "MyMemoryEmail": "", + # Yandex + "YandexKey": "", + } + + def __initialize(self): + """ + Private slot to (re)initialize the plugin. + """ + self.__object = None + + def activate(self): + """ + Public method to activate this plugin. + + @return tuple of None and activation status (boolean) + """ + global error + error = "" # clear previous error + + global translatorPluginObject + translatorPluginObject = self + + self.__object = Translator(self, self.__ui) + self.__object.activate() + e5App().registerPluginObject("Translator", self.__object) + + return None, True + + def deactivate(self): + """ + Public method to deactivate this plugin. + """ + e5App().unregisterPluginObject("Translator") + self.__object.deactivate() + + self.__initialize() + + def getPreferencesDefault(self, key): + """ + Public method to retrieve the various default settings. + + @param key the key of the value to get + @return the requested setting + """ + return self.__defaults[key] + + def getPreferences(self, key): + """ + Public method to retrieve the various settings. + + @param key the key of the value to get + @return the requested setting + """ + if key in ["EnabledLanguages"]: + return Preferences.toList( + Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key])) + elif key in ["GoogleEnableDictionary"]: + return Preferences.toBool( + Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key])) + elif key in ["MsAuthTokenExpire"]: + value = Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key]) + if isinstance(value, str): + if value.startswith("@QDateTime"): + # old value, replace with default + value = self.__defaults[key] + else: + value = QDateTime.fromString(value, Qt.ISODate) + return value + else: + return Preferences.Prefs.settings.value( + self.PreferencesKey + "/" + key, self.__defaults[key]) + + def setPreferences(self, key, value): + """ + Public method to store the various settings. + + @param key the key of the setting to be set (string) + @param value the value to be set + """ + if key in ["MsAuthTokenExpire"]: + Preferences.Prefs.settings.setValue( + self.PreferencesKey + "/" + key, value.toString(Qt.ISODate)) + else: + Preferences.Prefs.settings.setValue( + self.PreferencesKey + "/" + key, value) + + if key in ["EnabledLanguages"]: + self.updateLanguages.emit() + +# +# eflag: noqa = M801
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,179 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Time Tracker configuration page. +""" + +from __future__ import unicode_literals + +from PyQt5.QtCore import pyqtSlot, Qt +from PyQt5.QtWidgets import QListWidgetItem + +from E5Gui import E5MessageBox + +from Preferences.ConfigurationPages.ConfigurationPageBase import \ + ConfigurationPageBase +from .Ui_TranslatorPage import Ui_TranslatorPage + +from ..TranslatorLanguagesDb import TranslatorLanguagesDb +from .. import TranslatorEngines + + +class TranslatorPage(ConfigurationPageBase, Ui_TranslatorPage): + """ + Class implementing the Time Tracker configuration page. + """ + def __init__(self, plugin): + """ + Constructor + + @param plugin reference to the plugin object + """ + super(TranslatorPage, self).__init__() + self.setupUi(self) + self.setObjectName("TranslatorPage") + + self.__plugin = plugin + self.__enableLanguageWarning = True + + self.googlev2Label.setText(self.tr( + """<p>A key is <b>required</b> to use this service.""" + """ <a href="{0}">Get a commercial API key.</a></p>""").format( + TranslatorEngines.getKeyUrl("googlev2"))) + self.msLabel.setText(self.tr( + """<p>A registration of the text translation service is""" + """ <b>required</b>. <a href="{0}">Register with Microsoft""" + """ Azure.</a></p>""").format( + TranslatorEngines.getKeyUrl("microsoft"))) + self.mymemoryLabel.setText(self.tr( + """<p>A key is <b>optional</b> to use this service.""" + """ <a href="{0}">Get a free API key.</a></p>""").format( + TranslatorEngines.getKeyUrl("mymemory"))) + self.yandexLabel.setText(self.tr( + """<p>A key is <b>required</b> to use this service.""" + """ <a href="{0}">Get a free API key.</a></p>""").format( + TranslatorEngines.getKeyUrl("yandex"))) + + # set initial values + enabledLanguages = self.__plugin.getPreferences("EnabledLanguages") + languages = TranslatorLanguagesDb() + for languageCode in languages.getAllLanguages(): + itm = QListWidgetItem() + itm.setText(languages.getLanguage(languageCode)) + itm.setIcon(languages.getLanguageIcon(languageCode)) + itm.setData(Qt.UserRole, languageCode) + if languageCode in enabledLanguages or not enabledLanguages: + itm.setCheckState(Qt.Checked) + else: + itm.setCheckState(Qt.Unchecked) + self.languagesList.addItem(itm) + self.languagesList.sortItems() + + # Google settings + self.dictionaryCheckBox.setChecked( + self.__plugin.getPreferences("GoogleEnableDictionary")) + self.googlev2KeyEdit.setText( + self.__plugin.getPreferences("GoogleV2Key")) + # Microsoft settings + self.msSubscriptionKeyEdit.setText( + self.__plugin.getPreferences("MsTranslatorKey")) + # MyMemory settings + self.mymemoryKeyEdit.setText( + self.__plugin.getPreferences("MyMemoryKey")) + self.mymemoryEmailEdit.setText( + self.__plugin.getPreferences("MyMemoryEmail")) + # Yandex settings + self.yandexKeyEdit.setText( + self.__plugin.getPreferences("YandexKey")) + + def save(self): + """ + Public slot to save the Pyramid configuration. + """ + enabledLanguages = [ + itm.data(Qt.UserRole) + for itm in self.__checkedLanguageItems() + ] + self.__plugin.setPreferences( + "EnabledLanguages", enabledLanguages) + + # Google settings + self.__plugin.setPreferences( + "GoogleEnableDictionary", self.dictionaryCheckBox.isChecked()) + self.__plugin.setPreferences( + "GoogleV2Key", self.googlev2KeyEdit.text()) + # Microsoft settings + self.__plugin.setPreferences( + "MsTranslatorKey", self.msSubscriptionKeyEdit.text()) + # MyMemory settings + self.__plugin.setPreferences( + "MyMemoryKey", self.mymemoryKeyEdit.text()) + # Yandex settings + self.__plugin.setPreferences( + "YandexKey", self.yandexKeyEdit.text()) + + def __checkedLanguageItems(self): + """ + Private method to get a list of checked language items. + + @return list of checked language items (list of QListWidgetItem) + """ + items = [] + for index in range(self.languagesList.count()): + itm = self.languagesList.item(index) + if itm.checkState() == Qt.Checked: + items.append(itm) + + return items + + @pyqtSlot() + def on_setButton_clicked(self): + """ + Private slot to set or unset all items. + """ + self.__enableLanguageWarning = False + + unset = len(self.__checkedLanguageItems()) > 0 + for index in range(self.languagesList.count()): + itm = self.languagesList.item(index) + if unset: + itm.setCheckState(Qt.Unchecked) + else: + itm.setCheckState(Qt.Checked) + + self.__enableLanguageWarning = True + + @pyqtSlot() + def on_defaultButton_clicked(self): + """ + Private slot to set the default languages. + """ + self.__enableLanguageWarning = False + + defaults = self.__plugin.getPreferencesDefault("EnabledLanguages") + for index in range(self.languagesList.count()): + itm = self.languagesList.item(index) + if itm.data(Qt.UserRole) in defaults: + itm.setCheckState(Qt.Checked) + else: + itm.setCheckState(Qt.Unchecked) + + self.__enableLanguageWarning = True + + @pyqtSlot(QListWidgetItem) + def on_languagesList_itemChanged(self, item): + """ + Private slot to handle the selection of an item. + + @param item reference to the changed item (QListWidgetItem) + """ + if self.__enableLanguageWarning and \ + len(self.__checkedLanguageItems()) < 2: + E5MessageBox.warning( + self, + self.tr("Enabled Languages"), + self.tr("""At least two languages should be selected to""" + """ work correctly."""))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,314 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>TranslatorPage</class> + <widget class="QWidget" name="TranslatorPage"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>494</width> + <height>937</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QLabel" name="headerLabel"> + <property name="text"> + <string><b>Configure Translator</b></string> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line15"> + <property name="frameShape"> + <enum>QFrame::HLine</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Enabled Languages</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QListWidget" name="languagesList"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>250</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="isWrapping" stdset="0"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="setButton"> + <property name="toolTip"> + <string>Press to set or unset all entries</string> + </property> + <property name="text"> + <string>Set/Unset All</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="defaultButton"> + <property name="toolTip"> + <string>Press to set the default list of enabled languages</string> + </property> + <property name="text"> + <string>Set Default</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Google V.1</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QCheckBox" name="dictionaryCheckBox"> + <property name="toolTip"> + <string>Select to show the results of the translation dictionary</string> + </property> + <property name="text"> + <string>Show dictionary results</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_5"> + <property name="title"> + <string>Google V.2</string> + </property> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Key:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="googlev2KeyEdit"> + <property name="toolTip"> + <string>Enter your Google Translate key</string> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QLabel" name="googlev2Label"> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="openExternalLinks"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_6"> + <property name="title"> + <string>Microsoft Azure</string> + </property> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>Subscription Key:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="msSubscriptionKeyEdit"> + <property name="toolTip"> + <string>Enter the subscription key of the text translator service</string> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QLabel" name="msLabel"> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="openExternalLinks"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_4"> + <property name="title"> + <string>MyMemory</string> + </property> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Email:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="mymemoryEmailEdit"> + <property name="toolTip"> + <string>Enter email address to be sent with each request (optional)</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Key:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="mymemoryKeyEdit"> + <property name="toolTip"> + <string>Enter your MyMemory key</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="mymemoryLabel"> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="openExternalLinks"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Yandex</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Key:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="yandexKeyEdit"> + <property name="toolTip"> + <string>Enter your Yandex key</string> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QLabel" name="yandexLabel"> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + <property name="openExternalLinks"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <tabstops> + <tabstop>languagesList</tabstop> + <tabstop>setButton</tabstop> + <tabstop>defaultButton</tabstop> + <tabstop>dictionaryCheckBox</tabstop> + <tabstop>googlev2KeyEdit</tabstop> + <tabstop>msSubscriptionKeyEdit</tabstop> + <tabstop>mymemoryEmailEdit</tabstop> + <tabstop>mymemoryKeyEdit</tabstop> + <tabstop>yandexKeyEdit</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/__init__.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package implementing the Translator page of the configuration dialog. +"""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/Translator.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the translator object. +""" + +from __future__ import unicode_literals + +import os + +from PyQt5.QtCore import Qt, QObject +from PyQt5.QtGui import QKeySequence + +from E5Gui.E5Action import E5Action + +import UI.PixmapCache + + +class Translator(QObject): + """ + Class implementing the translator object. + """ + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent parent (QObject) + """ + QObject.__init__(self, parent) + + self.__plugin = plugin + self.__ui = parent + + self.__widget = None + + def activate(self): + """ + Public method to activate the translator. + """ + from .TranslatorWidget import TranslatorWidget + + self.__widget = TranslatorWidget(self.__plugin, self) + self.__ui.addSideWidget( + self.__ui.BottomSide, self.__widget, + UI.PixmapCache.getIcon( + os.path.join(os.path.dirname(__file__), "icons", "flag.png")), + self.tr("Translator")) + + self.__activateAct = E5Action( + self.tr('Translator'), + self.tr('T&ranslator'), + QKeySequence(self.tr("Alt+Shift+R")), + 0, self, + 'translator_activate') + self.__activateAct.setStatusTip(self.tr( + "Switch the input focus to the Translator window.")) + self.__activateAct.setWhatsThis(self.tr( + """<b>Activate Translator</b>""" + """<p>This switches the input focus to the Translator""" + """ window.</p>""" + )) + self.__activateAct.triggered.connect(self.__activateWidget) + + self.__ui.addE5Actions([self.__activateAct], 'ui') + menu = self.__ui.getMenu("subwindow") + menu.addAction(self.__activateAct) + + def deactivate(self): + """ + Public method to deactivate the time tracker. + """ + menu = self.__ui.getMenu("subwindow") + menu.removeAction(self.__activateAct) + self.__ui.removeE5Actions([self.__activateAct], 'ui') + self.__ui.removeSideWidget(self.__widget) + + def getAppIcon(self, name): + """ + Public method to get an icon. + + @param name name of the icon file (string) + @return icon (QIcon) + """ + return UI.PixmapCache.getIcon(os.path.join( + os.path.dirname(__file__), "icons", name)) + + def __activateWidget(self): + """ + Private slot to handle the activation of the project browser. + """ + if self.__ui.layout == "Toolboxes": + self.__ui.hToolboxDock.show() + self.__ui.hToolboxDock.setCurrentWidget(self.__widget) + elif self.__ui.layout == "Sidebars": + self.__ui.bottomSidebar.show() + self.__ui.bottomSidebar.setCurrentWidget(self.__widget) + else: + self.__widget.show() + self.__widget.setFocus(Qt.ActiveWindowFocusReason)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,147 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the DeepL translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json +import re + +from PyQt5.QtCore import QUrl, QByteArray + +from .TranslationEngine import TranslationEngine + + +class DeepLEngine(TranslationEngine): + """ + Class implementing the translation engine for the DeepL + translation service. + """ + TranslatorUrl = "https://deepl.com/jsonrpc" + MaxTranslationTextLen = 5000 + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object + @type TranslatorPlugin + @param parent reference to the parent object + @type QObject + """ + super(DeepLEngine, self).__init__(plugin, parent) + + self.__splitPattern = re.compile(r"([^\.!\?;]+[\.!\?;]*)") + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name + @rtype str + """ + return "deepl" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes + @rtype list of str + """ + return ["de", "en", "es", "fr", "it", "nl", "pl",] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + if len(text) > self.MaxTranslationTextLen: + return self.tr( + "Text to be translated exceeds the translation limit of {0}" + " characters.").format(self.MaxTranslationTextLen), False + + sentences = [s for s in self.__splitPattern.split(text) if len(s) > 0] + if originalLanguage in self.supportedLanguages(): + originalLanguageU = originalLanguage.upper() + else: + originalLanguageU = "auto" + payload = { + "jsonrpc": "2.0", + "method": "LMT_handle_jobs", + "id": 1, + "params": { + "jobs": [{"kind": "default", "raw_en_sentence": s} + for s in sentences + ], + "lang": { + "user_preferred_langs": [ + originalLanguage.upper(), + translationLanguage.upper(), + ], + "source_lang_user_selected": originalLanguageU, + "target_lang": translationLanguage.upper() + }, + "priority": 1, + } + } + request = QByteArray(json.dumps(payload).encode("utf-8")) + response, ok = requestObject.post(QUrl(self.TranslatorUrl), request, + "json") + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received from DeepL"), False + + if "error" in responseDict: + return self.tr("DeepL reported an error.\nMessage: {0}")\ + .format(responseDict["error"]["message"]), False + + if "result" not in responseDict: + return self.tr("DeepL call returned an unknown result"), False + + if not responseDict["result"]["source_lang"] or \ + not responseDict["result"]["target_lang"]: + return self.tr( + "Unsupported language code given (source: {0}," + " target: {1}).").format( + originalLanguage, translationLanguage), False + + translations = responseDict["result"]["translations"] + if len(translations) == 0: + return self.tr("<p>No translation found</p>"), True + + # show sentence by sentence separated by a line + translationStrings = [] + for translation in translations: + translationStrings.append( + "<br/>".join( + [s["postprocessed_sentence"] for s in sorted( + translation["beams"], + key=lambda b: -1 * b["score"]) + ] + ) + ) + result = "<p>" + "<hr/>".join(translationStrings) + "</p>" + + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,106 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Glosbe translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json + +from PyQt5.QtCore import QUrl + +from .TranslationEngine import TranslationEngine + + +class GlosbeEngine(TranslationEngine): + """ + Class implementing the translation engine for the Glosbe + translation service. + """ + TranslatorUrl = "https://glosbe.com/gapi/translate" + TranslatorLimit = 500 + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(GlosbeEngine, self).__init__(plugin, parent) + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "glosbe" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "be", "bg", "bs", "ca", "cs", "da", "de", "el", "en", + "es", "et", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "id", + "is", "it", "iw", "ja", "ka", "ko", "lt", "lv", "mk", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", + "sv", "th", "tl", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + from ..TranslatorLanguagesDb import TranslatorLanguagesDb + languages = TranslatorLanguagesDb(self) + + params = "?from={0}&dest={1}&format=json&phrase={2}".format( + languages.convertTwoToThree(originalLanguage), + languages.convertTwoToThree(translationLanguage), + text) + url = QUrl(self.TranslatorUrl + params) + response, ok = requestObject.get(url) + response = str(response, "utf-8", "replace") + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + result = "" + for translation in responseDict["tuc"]: + if "phrase" in translation: + result += "<b>{0}</b>".format( + translation["phrase"]["text"]) + if "meanings" in translation: + for meaning in translation["meanings"]: + result += "<br/><i>({0})</i>".format( + meaning["text"]) + if translation != responseDict["tuc"][-1]: + result += "<hr/>" + if not result: + result = self.tr("No translation found.") + ok = False + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,163 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Google V1 translation engine. +""" + +from __future__ import unicode_literals + +import json +import re + +from PyQt5.QtCore import QByteArray, QUrl + +import Utilities + +from .TranslationEngine import TranslationEngine + + +class GoogleV1Engine(TranslationEngine): + """ + Class implementing the translation engine for the old Google + translation service. + """ + TranslatorUrl = "https://translate.googleapis.com/translate_a/single" + TextToSpeechUrl = "https://translate.google.com/translate_tts" + TextToSpeechLimit = 100 + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(GoogleV1Engine, self).__init__(plugin, parent) + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "googlev1" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "be", "bg", "bs", "ca", "cs", "da", "de", "el", "en", + "es", "et", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "id", + "is", "it", "iw", "ja", "ka", "ko", "lt", "lv", "mk", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", + "sv", "th", "tl", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def hasTTS(self): + """ + Public method indicating the Text-to-Speech capability. + + @return flag indicating the Text-to-Speech capability (boolean) + """ + return False # doesn't work reliably + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + params = QByteArray( + "client=gtx&sl={0}&tl={1}&dt=t&dt=bd&ie=utf-8&oe=utf-8&q=".format( + originalLanguage, translationLanguage).encode("utf-8")) + encodedText = QByteArray(Utilities.html_encode(text).encode("utf-8"))\ + .toPercentEncoding() + request = params + encodedText + response, ok = requestObject.post(QUrl(self.TranslatorUrl), request) + if ok: + try: + # clean up the response + response = re.sub(r',{2,}', ',', response) + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + if isinstance(responseDict, dict): + sentences = responseDict["sentences"] + result = "" + for sentence in sentences: + result += sentence["trans"].replace("\n", "<br/>") + + if self.plugin.getPreferences("GoogleEnableDictionary") and \ + "dict" in responseDict: + dictionary = responseDict["dict"] + for value in dictionary: + result += "<hr/><u><b>{0}</b> - {1}</u><br/>".format( + text, value["pos"]) + for entry in value["entry"]: + if "previous_word" in entry: + previous = entry["previous_word"] + " " + else: + previous = "" + word = entry["word"] + reverse = entry["reverse_translation"] + result += "<br/>{0}<b>{1}</b> - {2}".format( + previous, word, ", ".join(reverse)) + if value != dictionary[-1]: + result += "<br/>" + elif isinstance(responseDict, list): + sentences = responseDict[0] + result = "".join([s[0] for s in sentences])\ + .replace("\n", "<br/>") + if self.plugin.getPreferences("GoogleEnableDictionary") and \ + len(responseDict) > 2: + if not responseDict[1]: + result = self.tr("No translation found.") + ok = False + else: + for wordTypeList in responseDict[1]: + result += "<hr/><u><b>{0}</b> - {1}</u>".format( + wordTypeList[0], wordTypeList[-2]) + for wordsList in wordTypeList[2]: + reverse = wordsList[0] + words = wordsList[1] + result += "<br/><b>{0}</b> - {1}".format( + reverse, ", ".join(words)) + else: + result = responseDict + else: + result = response + return result, ok + + def getTextToSpeechData(self, requestObject, text, language): + """ + Public method to pronounce the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be pronounced (string) + @param language language code of the text (string) + @return tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) + """ + text = text.split("\n\n", 1)[0] + if len(text) > self.TextToSpeechLimit: + return (self.tr("Only texts up to {0} characters are allowed.") + .format(self.TextToSpeechLimit), False) + + url = QUrl(self.TextToSpeechUrl + + "?client=tw-ob&ie=utf-8&tl={0}&q={1}".format( + language, text)) + return requestObject.get(url)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,96 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Google V2 translation engine. +""" + +from __future__ import unicode_literals + +import json + +from PyQt5.QtCore import QUrl + +from .TranslationEngine import TranslationEngine + + +class GoogleV2Engine(TranslationEngine): + """ + Class implementing the translation engine for the new Google + translation service. + """ + TranslatorUrl = "https://www.googleapis.com/language/translate/v2" + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(GoogleV2Engine, self).__init__(plugin, parent) + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "googlev2" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "be", "bg", "bs", "ca", "cs", "da", "de", "el", "en", + "es", "et", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "id", + "is", "it", "iw", "ja", "ka", "ko", "lt", "lv", "mk", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", + "sv", "th", "tl", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + apiKey = self.plugin.getPreferences("GoogleV2Key") + if not apiKey: + return self.tr("A valid Google Translate key is required."), False + + params = "?key={3}&source={0}&target={1}&q={2}".format( + originalLanguage, translationLanguage, text, apiKey) + url = QUrl(self.TranslatorUrl + params) + response, ok = requestObject.get(url) + response = str(response, "utf-8", "replace") + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + if "data" not in responseDict or \ + "translations" not in responseDict["data"]: + return self.tr("No translation available."), False + + result = "" + translations = responseDict["data"]["translations"] + for translation in translations: + result += translation["translatedText"] + if translation != translations[-1]: + result += "<br/>" + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,204 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Microsoft translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +from PyQt5.QtCore import QUrl, QDateTime, QByteArray + +from .TranslationEngine import TranslationEngine + + +class MicrosoftEngine(TranslationEngine): + """ + Class implementing the translation engine for the Microsoft + translation service. + """ + AccessTokenUrl = \ + "https://api.cognitive.microsoft.com/sts/v1.0/issueToken" + TranslatorUrl = "https://api.microsofttranslator.com/V2/Http.svc/Translate" + TextToSpeechUrl = "https://api.microsofttranslator.com/V2/Http.svc/Speak" + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(MicrosoftEngine, self).__init__(plugin, parent) + + self.__mappings = { + "zh-CN": "zh-CHS", + "zh-TW": "zh-CHT", + } + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "microsoft" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "bg", "ca", "cs", "da", "de", "en", + "es", "et", "fi", "fr", "hi", "hu", "id", + "it", "ja", "ko", "lt", "lv", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", + "sv", "th", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def hasTTS(self): + """ + Public method indicating the Text-to-Speech capability. + + @return flag indicating the Text-to-Speech capability (boolean) + """ + return True + + def __mapLanguageCode(self, code): + """ + Private method to map a language code to the Microsoft code. + + @param code language code (string) + @return mapped language code (string) + """ + if code in self.__mappings: + return self.__mapping[code] + else: + return code + + def __getClientDataAzure(self): + """ + Private method to retrieve the client data. + + @return tuple giving the API subscription key and a flag indicating + validity + @rtype tuple of (str, bool) + """ + subscriptionKey = self.plugin.getPreferences("MsTranslatorKey") + valid = bool(subscriptionKey) + return subscriptionKey, valid + + def __getAccessToken(self, requestObject): + """ + Private slot to get an access token. + + If the stored token is no longer valid, get a new one and store it. + + @param requestObject reference to the request object + (TranslatorRequest) + @return access token (string) + """ + if self.plugin.getPreferences("MsAuthTokenExpire") > \ + QDateTime.currentDateTime(): + return self.plugin.getPreferences("MsAuthToken") + + # Token expired, get a new one + subscriptionKey, valid = self.__getClientDataAzure() + if not valid: + return "" + + subscriptionHeader = (b"Ocp-Apim-Subscription-Key", + subscriptionKey.encode("utf-8")) + response, ok = requestObject.post( + QUrl(self.AccessTokenUrl), QByteArray(b""), + extraHeaders=[subscriptionHeader]) + if ok: + self.plugin.setPreferences("MsAuthToken", response) + self.plugin.setPreferences( + "MsAuthTokenExpire", + QDateTime.currentDateTime().addSecs(8 * 60)) + return response + else: + return "" + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + subscriptionKey, valid = self.__getClientDataAzure() + if not valid: + return (self.tr("""You have not registered for the Microsoft""" + """ Translation service."""), + False) + + accessToken = self.__getAccessToken(requestObject) + if not accessToken: + return (self.tr("No valid access token available."), False) + + authHeader = (b"Authorization", + "Bearer {0}".format(accessToken).encode("utf-8")) + params = "?appid=&from={0}&to={1}&text={2}".format( + self.__mapLanguageCode(originalLanguage), + self.__mapLanguageCode(translationLanguage), + text) + url = QUrl(self.TranslatorUrl + params) + response, ok = requestObject.get(url, extraHeaders=[authHeader]) + response = str(response, "utf-8", "replace") + if ok and response.startswith("<string") and \ + response.endswith("</string>"): + result = response.split(">", 1)[1].rsplit("<", 1)[0] + else: + result = self.tr("No translation available.") + ok = False + return result, ok + + def getTextToSpeechData(self, requestObject, text, language): + """ + Public method to pronounce the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be pronounced (string) + @param language language code of the text (string) + @return tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) + """ + subscriptionKey, valid = self.__getClientDataAzure() + if not valid: + return (self.tr("""You have not registered for the Microsoft""" + """ Translation service."""), + False) + + accessToken = self.__getAccessToken(requestObject) + if not accessToken: + return (self.tr("No valid access token available."), False) + + params = "?language={0}&format={1}&options={2}&text={3}".format( + self.__mapLanguageCode(language), + "audio/wav", + "MaxQuality", + text) + authHeader = (b"Authorization", + "Bearer {0}".format(accessToken).encode("utf-8")) + url = QUrl(self.TextToSpeechUrl + params) + data, ok = requestObject.get(url, extraHeaders=[authHeader]) + if not ok: + data = self.tr("No Text-to-Speech for the selected language" + " available.") + return data, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the MyMemory translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json + +from PyQt5.QtCore import QUrl + +from .TranslationEngine import TranslationEngine + + +class MyMemoryEngine(TranslationEngine): + """ + Class implementing the translation engine for the MyMemory + translation service. + """ + TranslatorUrl = "http://api.mymemory.translated.net/get" + TranslatorLimit = 500 + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(MyMemoryEngine, self).__init__(plugin, parent) + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "mymemory" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "be", "bg", "bs", "ca", "cs", "da", "de", "el", "en", + "es", "et", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "id", + "is", "it", "iw", "ja", "ka", "ko", "lt", "lv", "mk", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", + "sv", "th", "tl", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + if len(text) > self.TranslatorLimit: + return (self.tr("Only texts up to {0} characters are allowed.") + .format(self.TranslatorLimit), False) + + myMemoryKey = self.plugin.getPreferences("MyMemoryKey") + if myMemoryKey: + keyParam = "&key={0}".format(myMemoryKey) + else: + keyParam = "" + myMemoryEmail = self.plugin.getPreferences("MyMemoryEmail") + if myMemoryEmail: + emailParam = "&de={0}".format(myMemoryEmail) + else: + emailParam = "" + params = "?of=json{3}{4}&langpair={0}|{1}&q={2}".format( + originalLanguage, translationLanguage, text, + keyParam, emailParam) + url = QUrl(self.TranslatorUrl + params) + response, ok = requestObject.get(url) + response = str(response, "utf-8", "replace") + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + result = responseDict["responseData"]["translatedText"] + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,116 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Promt translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json + +from PyQt5.QtCore import QUrl, QByteArray + +import Utilities + +from .TranslationEngine import TranslationEngine + + +class PromtEngine(TranslationEngine): + """ + Class implementing the translation engine for the Promt + translation service. + """ + TranslatorUrl = \ + "http://www.online-translator.com/services/"\ + "TranslationService.asmx/GetTranslation" + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(PromtEngine, self).__init__(plugin, parent) + + self.__mapping = { + "de": "g", + "en": "e", + "es": "s", + "fr": "f", + "it": "i", + "ja": "j", + "pt": "p", + "ru": "r", + } + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "promt" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["de", "en", "es", "fr", "it", "ja", "pt", "ru", ] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + encodedText = str( + QUrl.toPercentEncoding(Utilities.html_encode(text + ".")), + "utf-8") + request = QByteArray( + "{{dirCode:'{0}{1}', template:'General', text:'{2}', lang:'de'," + " limit:3000, useAutoDetect:true, key:'', ts:'MainSite', tid:''}}" + .format(self.__mapping[originalLanguage], + self.__mapping[translationLanguage], + encodedText).encode("utf-8") + ) + response, ok = requestObject.post(QUrl(self.TranslatorUrl), request, + "json") + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + if "d" in responseDict: + responseDict = responseDict["d"] + + result = responseDict["result"][:-1] # get rid of stub + + if responseDict["errCode"] == 0: + if responseDict["ptsDirCode"] == "": + result = self.tr( + "This direction of translation is not available.") + ok = False + else: + result = responseDict["errMessage"] + ok = False + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,81 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the translation engine base class. +""" + +from __future__ import unicode_literals + +from PyQt5.QtCore import QObject + + +class TranslationEngine(QObject): + """ + Class implementing the translation engine base class containing + default methods. + """ + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(TranslationEngine, self).__init__(parent) + + self.plugin = plugin + + def engineName(self): + """ + Public method to get the name of the engine. + + @return engine name (string) + """ + return "" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return [] + + def hasTTS(self): + """ + Public method indicating the Text-to-Speech capability. + + @return flag indicating the Text-to-Speech capability (boolean) + """ + return False + + def getTextToSpeechData(self, requestObject, text, language): + """ + Public method to pronounce the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be pronounced (string) + @param language language code of the text (string) + @return tuple with pronounce data (QByteArray) or error string (string) + and success flag (boolean) + """ + return self.tr("No pronounce data available"), False + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + return self.tr("No translation available"), False
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the Yandex translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json + +from PyQt5.QtCore import QUrl, QByteArray + +import Utilities + +from .TranslationEngine import TranslationEngine + + +class YandexEngine(TranslationEngine): + """ + Class implementing the translation engine for the Yandex + translation service. + """ + TranslatorUrl = "https://translate.yandex.net/api/v1.5/tr.json/translate" + TranslatorLimit = 10000 + + def __init__(self, plugin, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object (QObject) + """ + super(YandexEngine, self).__init__(plugin, parent) + + self.__errors = { + 401: self.tr("Invalid API key."), + 402: self.tr("API key has been blocked."), + 403: self.tr("Daily limit for requests has been reached."), + 404: self.tr("Daily limit for the volume of translated text" + " reached."), + 413: self.tr("Text size exceeds the maximum."), + 422: self.tr("Text could not be translated."), + 501: self.tr("The specified translation direction is not" + " supported."), + } + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name (string) + """ + return "yandex" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes (list of string) + """ + return ["ar", "be", "bg", "bs", "ca", "cs", "da", "de", "el", "en", + "es", "et", "fi", "fr", "ga", "gl", "hi", "hr", "hu", "id", + "is", "it", "iw", "ja", "ka", "ko", "lt", "lv", "mk", "mt", + "nl", "no", "pl", "pt", "ro", "ru", "sk", "sl", "sq", "sr", + "sv", "th", "tl", "tr", "uk", "vi", "zh-CN", "zh-TW", + ] + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + (TranslatorRequest) + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + if len(text) > self.TranslatorLimit: + return (self.tr("Only texts up to {0} characters are allowed.") + .format(self.TranslatorLimit), False) + + apiKey = self.plugin.getPreferences("YandexKey") + if not apiKey: + return self.tr("A valid Yandex key is required."), False + + params = QByteArray( + "key={0}&lang={1}-{2}&text=".format( + apiKey, originalLanguage, translationLanguage).encode("utf-8")) + encodedText = QByteArray(Utilities.html_encode(text).encode("utf-8"))\ + .toPercentEncoding() + request = params + encodedText + response, ok = requestObject.post(QUrl(self.TranslatorUrl), request) + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + if responseDict["code"] != 200: + try: + error = self.__errors[responseDict["code"]] + except KeyError: + error = self.tr("Unknown error code ({0}) received.")\ + .format(responseDict["code"]) + return error, False + + sentences = responseDict["text"] + result = "" + for sentence in sentences: + result += sentence.replace("\n", "<br/>") + else: + result = response + return result, ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,130 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package containing the various translation engines. +""" + +from __future__ import unicode_literals + +import os + +from PyQt5.QtCore import QCoreApplication +from PyQt5.QtGui import QIcon + +import UI.PixmapCache + + +def supportedEngineNames(): + """ + Module function to get the list of supported translation engines. + + @return names of supported engines (list of string) + """ + return ["googlev1", "mymemory", "glosbe", "promt", "yandex", "googlev2", + "microsoft", "deepl"] + + +def engineDisplayName(name): + """ + Module function to get a translated name for an engine. + + @param name name of a translation engine (string) + @return translated engine name (string) + """ + if name == "googlev1": + return QCoreApplication.translate("TranslatorEngines", "Google V.1") + elif name == "mymemory": + return QCoreApplication.translate("TranslatorEngines", "MyMemory") + elif name == "glosbe": + return QCoreApplication.translate("TranslatorEngines", "Glosbe") + elif name == "promt": + return QCoreApplication.translate("TranslatorEngines", "PROMT") + elif name == "yandex": + return QCoreApplication.translate("TranslatorEngines", "Yandex") + elif name == "googlev2": + return QCoreApplication.translate("TranslatorEngines", "Google V.2") + elif name == "microsoft": + return QCoreApplication.translate("TranslatorEngines", "Microsoft") + elif name == "deepl": + return QCoreApplication.translate("TranslatorEngines", "DeepL") + else: + return QCoreApplication.translate( + "TranslatorEngines", "Unknow translation service name ({0})")\ + .format(name) + + +def getTranslationEngine(name, plugin, parent=None): + """ + Module function to instantiate an engine object for the named service. + + @param name name of the online translation service (string) + @param plugin reference to the plugin object (TranslatorPlugin) + @param parent reference to the parent object + @return translation engine (TranslatorEngine) + """ + if name == "googlev1": + from .GoogleV1Engine import GoogleV1Engine + engine = GoogleV1Engine(plugin, parent) + elif name == "mymemory": + from .MyMemoryEngine import MyMemoryEngine + engine = MyMemoryEngine(plugin, parent) + elif name == "glosbe": + from .GlosbeEngine import GlosbeEngine + engine = GlosbeEngine(plugin, parent) + elif name == "promt": + from .PromtEngine import PromtEngine + engine = PromtEngine(plugin, parent) + elif name == "yandex": + from .YandexEngine import YandexEngine + engine = YandexEngine(plugin, parent) + elif name == "googlev2": + from .GoogleV2Engine import GoogleV2Engine + engine = GoogleV2Engine(plugin, parent) + elif name == "microsoft": + from .MicrosoftEngine import MicrosoftEngine + engine = MicrosoftEngine(plugin, parent) + elif name == "deepl": + from .DeepLEngine import DeepLEngine + engine = DeepLEngine(plugin, parent) + else: + engine = None + return engine + + +def getEngineIcon(name): + """ + Module function to get the icon of the named engine. + + @param name name of the translation engine + @type str + @return engine icon + @rtype QIcon + """ + if name in supportedEngineNames(): + return UI.PixmapCache.getIcon(os.path.join( + os.path.dirname(__file__), "..", "icons", "engines", + "{0}.png".format(name))) + else: + return QIcon() + + +def getKeyUrl(name): + """ + Module function to get an URL to request a user key. + + @param name name of the online translation service (string) + @return key request URL (string) + """ + if name == "mymemory": + return "http://mymemory.translated.net/doc/keygen.php" + elif name == "yandex": + return "http://api.yandex.com/key/form.xml?service=trnsl" + elif name == "googlev2": + return "https://console.developers.google.com/" + elif name == "microsoft": + return "https://portal.azure.com" + else: + return ""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,179 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the translation languages database. +""" + +from __future__ import unicode_literals + +import os + +from PyQt5.QtCore import QObject + +import UI.PixmapCache + + +class TranslatorLanguagesDb(QObject): + """ + Class implementing the translation languages database. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent object (QObject) + """ + super(TranslatorLanguagesDb, self).__init__(parent) + + self.__languages = { + "af": self.tr("Afrikaans"), + "ar": self.tr("Arabic"), + "be": self.tr("Belarusian"), + "bg": self.tr("Bulgarian"), + "bs": self.tr("Bosnian"), + "ca": self.tr("Catalan"), + "cs": self.tr("Czech"), + "da": self.tr("Danish"), + "de": self.tr("German"), + "el": self.tr("Greek"), + "en": self.tr("English"), + "es": self.tr("Spanish"), + "et": self.tr("Estonian"), + "fi": self.tr("Finnish"), + "fr": self.tr("French"), + "ga": self.tr("Irish"), + "gl": self.tr("Galician"), + "he": self.tr("Hebrew (he)"), + "hi": self.tr("Hindi"), + "hr": self.tr("Croatian"), + "hu": self.tr("Hungarian"), + "id": self.tr("Indonesian"), + "is": self.tr("Icelandic"), + "it": self.tr("Italian"), + "iw": self.tr("Hebrew (iw)"), + "ja": self.tr("Japanese"), + "ka": self.tr("Georgian"), + "ko": self.tr("Korean"), + "lt": self.tr("Lithuanian"), + "lv": self.tr("Latvian"), + "mk": self.tr("Macedonian"), + "mt": self.tr("Maltese"), + "nl": self.tr("Dutch"), + "no": self.tr("Norwegian"), + "pl": self.tr("Polish"), + "pt": self.tr("Portuguese"), + "ro": self.tr("Romanian"), + "ru": self.tr("Russian"), + "sk": self.tr("Slovak"), + "sl": self.tr("Slovenian"), + "sq": self.tr("Albanian"), + "sr": self.tr("Serbian"), + "sv": self.tr("Swedish"), + "th": self.tr("Thai"), + "tl": self.tr("Filipino"), + "tr": self.tr("Turkish"), + "uk": self.tr("Ukrainian"), + "vi": self.tr("Vietnamese"), + "zh-CN": self.tr("Chinese S"), + "zh-TW": self.tr("Chinese T"), + } + + self.__toThreeCharacterCode = { + "af": "afr", + "ar": "ara", + "be": "bel", + "bg": "bul", + "bs": "bos", + "ca": "cat", + "cs": "ces", + "da": "dan", + "de": "deu", + "el": "ell", + "en": "eng", + "es": "spa", + "et": "est", + "fi": "fin", + "fr": "fra", + "ga": "gle", + "gl": "glg", + "he": "heb", + "hi": "hin", + "hr": "hrv", + "hu": "hun", + "id": "ind", + "is": "isl", + "it": "ita", + "iw": "heb", + "ja": "jpn", + "ka": "kat", + "ko": "kor", + "lt": "lit", + "lv": "lav", + "mk": "mkd", + "mt": "mlt", + "nl": "nld", + "no": "nor", + "pl": "pol", + "pt": "por", + "ro": "ron", + "ru": "rus", + "sk": "slk", + "sl": "slv", + "sq": "sqi", + "sr": "srp", + "sv": "swe", + "th": "tha", + "tl": "tgl", + "tr": "tur", + "uk": "ukr", + "vi": "vie", + "zh-CN": "zho", + "zh-TW": "zho", + } + + def getLanguageIcon(self, code): + """ + Public method to get a language icon. + + @param code language code (string) + @return language icon (QIcon) + """ + return UI.PixmapCache.getIcon(os.path.join( + os.path.dirname(__file__), "icons", "flags", + "{0}.png".format(code))) + + def getLanguage(self, code): + """ + Public method to get a translated language. + + @param code language code (string) + @return translated language (string) + """ + try: + return self.__languages[code] + except KeyError: + return "" + + def getAllLanguages(self): + """ + Public method to get a list of the supported language codes. + + @return list of supported language codes (list of string) + """ + return list(self.__languages.keys()) + + def convertTwoToThree(self, code): + """ + Public method to convert a two character language code to a + thre character code. + + @param code two character language code (string) + @return three character language code (string) + """ + try: + return self.__toThreeCharacterCode[code] + except KeyError: + return ""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing a synchronous network request handler for translation +requests. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +from PyQt5.QtCore import qVersion, QObject, QEventLoop, QByteArray +from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, \ + QNetworkReply + +from E5Network.E5NetworkProxyFactory import proxyAuthenticationRequired + + +class TranslatorRequest(QObject): + """ + Class implementing a synchronous network request handler for translation + requests. + """ + def __init__(self, parent=None): + """ + Constructor + + @param parent reference to the parent object (QObject) + """ + super(TranslatorRequest, self).__init__(parent) + + self.__contentTypes = { + "form": b"application/x-www-form-urlencoded", + "json": b"application/json", + } + + self.__networkManager = QNetworkAccessManager(self) + self.__networkManager.proxyAuthenticationRequired.connect( + proxyAuthenticationRequired) + + self.__loop = QEventLoop() + self.__networkManager.finished.connect(self.__loop.quit) + + def get(self, requestUrl, extraHeaders=None): + """ + Public method to issue a GET request. + + @param requestUrl URL of the request (QUrl) + @keyparam extraHeaders list of tuples of additional headers giving + header name (string) and header value (string) + @return server response (QByteArray) or error message (string) + """ + request = QNetworkRequest(requestUrl) + request.setAttribute(QNetworkRequest.FollowRedirectsAttribute, True) + if extraHeaders: + for name, value in extraHeaders: + request.setRawHeader(name, value) + reply = self.__networkManager.get(request) + if not self.__loop.isRunning(): + self.__loop.exec_() + if reply.error() != QNetworkReply.NoError: + return reply.errorString(), False + else: + return reply.readAll(), True + + def post(self, requestUrl, requestData, dataType="form", + extraHeaders=None): + """ + Public method to issue a POST request. + + @param requestUrl URL of the request (QUrl) + @param requestData data of the request (QByteArray) + @keyparam dataType type of the request data (string) + @keyparam extraHeaders list of tuples of additional headers giving + header name (string) and header value (string) + @return tuple of server response (string) and flag indicating + success (boolean) + """ + request = QNetworkRequest(requestUrl) + request.setRawHeader(b"User-Agent", + b"Mozilla/5.0") + request.setRawHeader(b"Content-Type", + self.__contentTypes[dataType]) + request.setRawHeader(b"Content-Length", + QByteArray.number(requestData.size())) + if qVersion() >= "5.6.0": + request.setAttribute(QNetworkRequest.FollowRedirectsAttribute, + True) + if extraHeaders: + for name, value in extraHeaders: + request.setRawHeader(name, value) + reply = self.__networkManager.post(request, requestData) + if not self.__loop.isRunning(): + self.__loop.exec_() + if reply.error() != QNetworkReply.NoError: + return reply.errorString(), False + else: + return str(reply.readAll(), "utf-8", "replace"), True
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,386 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the translator widget. +""" + +from __future__ import unicode_literals + +from PyQt5.QtCore import pyqtSlot, QTemporaryFile +from PyQt5.QtWidgets import QWidget +try: + from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent + MULTIMEDIA_AVAILABLE = True +except ImportError: + MULTIMEDIA_AVAILABLE = False + +from E5Gui import E5MessageBox + +from .Ui_TranslatorWidget import Ui_TranslatorWidget + +from .TranslatorLanguagesDb import TranslatorLanguagesDb +from . import TranslatorEngines + +import UI.PixmapCache + + +class TranslatorWidget(QWidget, Ui_TranslatorWidget): + """ + Class implementing the translator widget. + """ + def __init__(self, plugin, translator, parent=None): + """ + Constructor + + @param plugin reference to the plugin object (TranslatorPlugin) + @param translator reference to the translator object (Translator) + @param parent reference to the parent widget (QWidget) + """ + super(TranslatorWidget, self).__init__(parent) + self.setupUi(self) + + self.__plugin = plugin + self.__translator = translator + + self.__languages = TranslatorLanguagesDb(self) + + self.__translatorRequest = None + self.__translationEngine = None + + self.__mediaPlayer = None + self.__mediaFile = None + + audioAvailable = (MULTIMEDIA_AVAILABLE and + bool(QMediaPlayer.hasSupport("audio/mpeg"))) + self.pronounceOrigButton.setVisible(audioAvailable) + self.pronounceTransButton.setVisible(audioAvailable) + + self.pronounceOrigButton.setIcon( + self.__translator.getAppIcon("pronounce.png")) + self.pronounceTransButton.setIcon( + self.__translator.getAppIcon("pronounce.png")) + self.swapButton.setIcon( + self.__translator.getAppIcon("swap.png")) + self.translateButton.setIcon( + self.__translator.getAppIcon("translate.png")) + self.clearButton.setIcon(UI.PixmapCache.getIcon("editDelete.png")) + + self.translateButton.setEnabled(False) + self.clearButton.setEnabled(False) + self.pronounceOrigButton.setEnabled(False) + self.pronounceTransButton.setEnabled(False) + + selectedEngine = self.__plugin.getPreferences("SelectedEngine") + origLanguage = self.__plugin.getPreferences("OriginalLanguage") + transLanguage = self.__plugin.getPreferences("TranslationLanguage") + + self.__updateEngines() + engineIndex = self.engineComboBox.findData(selectedEngine) + self.engineComboBox.setCurrentIndex(engineIndex) + self.__engineComboBoxCurrentIndexChanged(engineIndex) + # this calls self.__updateLanguages() implicitly + self.origLanguageComboBox.setCurrentIndex( + self.origLanguageComboBox.findData(origLanguage)) + self.transLanguageComboBox.setCurrentIndex( + self.transLanguageComboBox.findData(transLanguage)) + + self.engineComboBox.currentIndexChanged.connect( + self.__engineComboBoxCurrentIndexChanged) + self.__plugin.updateLanguages.connect(self.__updateLanguages) + + def __updateLanguages(self): + """ + Private slot to update the language combo boxes. + """ + supportedCodes = self.__translationEngine.supportedLanguages() + origLanguage = self.origLanguageComboBox.itemData( + self.origLanguageComboBox.currentIndex()) + transLanguage = self.transLanguageComboBox.itemData( + self.transLanguageComboBox.currentIndex()) + self.origLanguageComboBox.clear() + self.transLanguageComboBox.clear() + for code in self.__plugin.getPreferences("EnabledLanguages"): + if code in supportedCodes: + language = self.__languages.getLanguage(code) + if language: + icon = self.__languages.getLanguageIcon(code) + self.origLanguageComboBox.addItem(icon, language, code) + self.transLanguageComboBox.addItem(icon, language, code) + self.origLanguageComboBox.model().sort(0) + self.transLanguageComboBox.model().sort(0) + self.origLanguageComboBox.setCurrentIndex( + self.origLanguageComboBox.findData(origLanguage)) + self.transLanguageComboBox.setCurrentIndex( + self.transLanguageComboBox.findData(transLanguage)) + + def __updateEngines(self): + """ + Private slot to update the engines combo box. + """ + currentEngine = self.engineComboBox.itemData( + self.engineComboBox.currentIndex()) + self.engineComboBox.clear() + for engineName in TranslatorEngines.supportedEngineNames(): + icon = TranslatorEngines.getEngineIcon(engineName) + self.engineComboBox.addItem( + icon, + TranslatorEngines.engineDisplayName(engineName), + engineName) + self.engineComboBox.model().sort(0) + self.engineComboBox.setCurrentIndex( + self.engineComboBox.findData(currentEngine)) + + def __originalLanguage(self): + """ + Private method to return the code of the selected original language. + + @return code of the original language (string) + """ + return self.origLanguageComboBox.itemData( + self.origLanguageComboBox.currentIndex()) + + def __translationLanguage(self): + """ + Private method to return the code of the selected translation language. + + @return code of the translation language (string) + """ + return self.transLanguageComboBox.itemData( + self.transLanguageComboBox.currentIndex()) + + @pyqtSlot() + def on_translateButton_clicked(self): + """ + Private slot to translate the entered text. + """ + self.transEdit.clear() + result, ok = self.__translate( + self.origEdit.toPlainText(), + self.__originalLanguage(), + self.__translationLanguage()) + if ok: + self.transEdit.setHtml(result) + else: + E5MessageBox.critical( + self, + self.tr("Translation Error"), + result) + + @pyqtSlot() + def on_pronounceOrigButton_clicked(self): + """ + Private slot to pronounce the original text. + """ + self.__pronounce( + self.origEdit.toPlainText(), self.__originalLanguage()) + + @pyqtSlot() + def on_pronounceTransButton_clicked(self): + """ + Private slot to pronounce the translated text. + """ + self.__pronounce( + self.transEdit.toPlainText(), self.__translationLanguage()) + + @pyqtSlot() + def on_swapButton_clicked(self): + """ + Private slot to swap the languages. + """ + oIdx = self.origLanguageComboBox.currentIndex() + self.origLanguageComboBox.setCurrentIndex( + self.transLanguageComboBox.currentIndex()) + self.transLanguageComboBox.setCurrentIndex(oIdx) + + origText = self.origEdit.toPlainText() + self.origEdit.setPlainText(self.transEdit.toPlainText()) + self.transEdit.setPlainText(origText) + + @pyqtSlot() + def on_clearButton_clicked(self): + """ + Private slot to clear the text fields. + """ + self.origEdit.clear() + self.transEdit.clear() + + @pyqtSlot() + def on_origEdit_textChanged(self): + """ + Private slot to handle changes of the original text. + """ + enable = bool(self.origEdit.toPlainText()) + self.translateButton.setEnabled(enable) + self.__updatePronounceButtons() + self.__updateClearButton() + + @pyqtSlot() + def on_transEdit_textChanged(self): + """ + Private slot to handle changes of the translation text. + """ + self.__updatePronounceButtons() + self.__updateClearButton() + + @pyqtSlot(int) + def on_origLanguageComboBox_currentIndexChanged(self, index): + """ + Private slot to handle the selection of the original language. + + @param index current index (integer) + """ + self.__plugin.setPreferences( + "OriginalLanguage", self.origLanguageComboBox.itemData(index)) + + @pyqtSlot(int) + def on_transLanguageComboBox_currentIndexChanged(self, index): + """ + Private slot to handle the selection of the translation language. + + @param index current index (integer) + """ + self.__plugin.setPreferences( + "TranslationLanguage", self.transLanguageComboBox.itemData(index)) + + @pyqtSlot(int) + def __engineComboBoxCurrentIndexChanged(self, index): + """ + Private slot to handle the selection of a translation service. + + @param index current index (integer) + """ + engineName = self.engineComboBox.itemData(index) + if self.__translationEngine and \ + self.__translationEngine.engineName() != engineName: + self.__translationEngine.deleteLater() + self.__translationEngine = None + + if self.__translationEngine is None: + self.__translationEngine = TranslatorEngines.getTranslationEngine( + engineName, self.__plugin, self) + + self.__updatePronounceButtons() + self.__updateLanguages() + + self.__plugin.setPreferences( + "SelectedEngine", self.engineComboBox.itemData(index)) + + def __updatePronounceButtons(self): + """ + Private slot to set the state of the pronounce buttons. + """ + hasTTS = self.__translationEngine.hasTTS() + self.pronounceOrigButton.setEnabled( + hasTTS and bool(self.origEdit.toPlainText())) + self.pronounceTransButton.setEnabled( + hasTTS and bool(self.transEdit.toPlainText())) + + def __updateClearButton(self): + """ + Private slot to set the state of the clear button. + """ + enable = bool(self.origEdit.toPlainText()) or \ + bool(self.transEdit.toPlainText()) + self.clearButton.setEnabled(enable) + + def __translate(self, text, originalLanguage, translationLanguage): + """ + Private method to translate the given text. + + @param text text to be translated (string) + @param originalLanguage language code of the original (string) + @param translationLanguage language code of the translation (string) + @return tuple of translated text (string) and flag indicating + success (boolean) + """ + if self.__translatorRequest is None: + from .TranslatorRequest import TranslatorRequest + self.__translatorRequest = TranslatorRequest(self) + + engineName = self.engineComboBox.itemData( + self.engineComboBox.currentIndex()) + if self.__translationEngine and \ + self.__translationEngine.engineName() != engineName: + self.__translationEngine.deleteLater() + self.__translationEngine = None + + if self.__translationEngine is None: + self.__translationEngine = TranslatorEngines.getTranslationEngine( + engineName, self.__plugin, self) + + result, ok = self.__translationEngine.getTranslation( + self.__translatorRequest, text, originalLanguage, + translationLanguage) + + return result, ok + + def __pronounce(self, text, language): + """ + Private method to pronounce the given text. + + @param text text to be pronounced (string) + @param language language code of the text (string) + """ + if not text or not language: + return + + if self.__translatorRequest is None: + from .TranslatorRequest import TranslatorRequest + self.__translatorRequest = TranslatorRequest(self) + + if self.__mediaPlayer is None: + self.__mediaPlayer = QMediaPlayer(self) + self.__mediaPlayer.stateChanged.connect( + self.__mediaPlayerStateChanged) + + if self.__mediaPlayer.state() == QMediaPlayer.PlayingState: + return + + engineName = self.engineComboBox.itemData( + self.engineComboBox.currentIndex()) + if self.__translationEngine and \ + self.__translationEngine.engineName() != engineName: + self.__translationEngine.deleteLater() + self.__translationEngine = None + + if self.__translationEngine is None: + self.__translationEngine = TranslatorEngines.getTranslationEngine( + engineName, self.__plugin, self) + + if not self.__translationEngine.hasTTS(): + E5MessageBox.critical( + self, + self.tr("Translation Error"), + self.tr("The selected translation service does not support" + " the Text-to-Speech function.")) + return + + data, ok = self.__translationEngine.getTextToSpeechData( + self.__translatorRequest, text, language) + if ok: + self.__mediaFile = QTemporaryFile(self) + self.__mediaFile.open() + self.__mediaFile.setAutoRemove(False) + self.__mediaFile.write(data) + + self.__mediaPlayer.setMedia(QMediaContent(), self.__mediaFile) + self.__mediaPlayer.play() + else: + E5MessageBox.critical( + self, + self.tr("Translation Error"), + data) + + def __mediaPlayerStateChanged(self, state): + """ + Private slot handling changes of the media player state. + + @param state media player state (QAudio.State) + """ + if state == QMediaPlayer.StoppedState: + self.__mediaFile.close() + self.__mediaFile.remove() + self.__mediaFile = None
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>TranslatorWidget</class> + <widget class="QWidget" name="TranslatorWidget"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>817</width> + <height>144</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QComboBox" name="engineComboBox"> + <property name="toolTip"> + <string>Select the translation service</string> + </property> + <property name="sizeAdjustPolicy"> + <enum>QComboBox::AdjustToContents</enum> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QToolButton" name="pronounceOrigButton"> + <property name="toolTip"> + <string>Press to pronounce the entered text</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QComboBox" name="origLanguageComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Select the language of the original text</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QToolButton" name="swapButton"> + <property name="toolTip"> + <string>Press to swap the translation direction</string> + </property> + </widget> + </item> + <item row="0" column="3"> + <widget class="QComboBox" name="transLanguageComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Select the language for the translated text</string> + </property> + </widget> + </item> + <item row="0" column="4"> + <widget class="QToolButton" name="pronounceTransButton"> + <property name="toolTip"> + <string>Press to pronounce the translated text</string> + </property> + </widget> + </item> + <item row="1" column="0" rowspan="4" colspan="2"> + <widget class="QPlainTextEdit" name="origEdit"> + <property name="toolTip"> + <string>Enter the text to be translated</string> + </property> + <property name="tabChangesFocus"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="1" column="2"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>23</width> + <height>68</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="3" rowspan="4" colspan="2"> + <widget class="QTextEdit" name="transEdit"> + <property name="toolTip"> + <string>Shows the translated text</string> + </property> + <property name="tabChangesFocus"> + <bool>true</bool> + </property> + <property name="readOnly"> + <bool>true</bool> + </property> + <property name="textInteractionFlags"> + <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QToolButton" name="translateButton"> + <property name="toolTip"> + <string>Press to translate the entered text</string> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QToolButton" name="clearButton"> + <property name="toolTip"> + <string>Press to clear the text fields</string> + </property> + </widget> + </item> + <item row="4" column="2"> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>23</width> + <height>28</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <tabstops> + <tabstop>engineComboBox</tabstop> + <tabstop>pronounceOrigButton</tabstop> + <tabstop>origLanguageComboBox</tabstop> + <tabstop>swapButton</tabstop> + <tabstop>transLanguageComboBox</tabstop> + <tabstop>pronounceTransButton</tabstop> + <tabstop>origEdit</tabstop> + <tabstop>translateButton</tabstop> + <tabstop>transEdit</tabstop> + <tabstop>clearButton</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/__init__.py Sun Dec 10 16:23:29 2017 +0100 @@ -0,0 +1,8 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2014 - 2017 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Package implementing the translator. +"""
--- a/changelog Sun Dec 10 14:51:54 2017 +0100 +++ b/changelog Sun Dec 10 16:23:29 2017 +0100 @@ -11,6 +11,7 @@ -- added the setup.py wizard plug-in to the core plug-ins -- added the eric plug-in wizard plug-in to the core plug-ins -- added the .desktop wizard plug-in to the core plug-ins + -- added the translator plug-in to the core plug-ins **Note**: These plug-ins should be deinstalled via the plug-in uninstallation dialog of eric before upgrading eric. A reconfiguration of these plug-ins may
--- a/eric6.e4p Sun Dec 10 14:51:54 2017 +0100 +++ b/eric6.e4p Sun Dec 10 16:23:29 2017 +0100 @@ -511,6 +511,7 @@ <Source>Plugins/PluginPipInterface.py</Source> <Source>Plugins/PluginSyntaxChecker.py</Source> <Source>Plugins/PluginTabnanny.py</Source> + <Source>Plugins/PluginTranslator.py</Source> <Source>Plugins/PluginVcsMercurial.py</Source> <Source>Plugins/PluginVcsPySvn.py</Source> <Source>Plugins/PluginVcsSubversion.py</Source> @@ -540,6 +541,23 @@ <Source>Plugins/UiExtensionPlugins/PipInterface/PipRequirementsSelectionDialog.py</Source> <Source>Plugins/UiExtensionPlugins/PipInterface/PipSearchDialog.py</Source> <Source>Plugins/UiExtensionPlugins/PipInterface/__init__.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/ConfigurationPage/__init__.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/Translator.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py</Source> + <Source>Plugins/UiExtensionPlugins/Translator/__init__.py</Source> <Source>Plugins/UiExtensionPlugins/VirtualenvInterface/VirtualenvConfigurationDialog.py</Source> <Source>Plugins/UiExtensionPlugins/VirtualenvInterface/VirtualenvExecDialog.py</Source> <Source>Plugins/UiExtensionPlugins/VirtualenvInterface/__init__.py</Source> @@ -1714,6 +1732,8 @@ <Form>Plugins/UiExtensionPlugins/PipInterface/PipPackagesInputDialog.ui</Form> <Form>Plugins/UiExtensionPlugins/PipInterface/PipRequirementsSelectionDialog.ui</Form> <Form>Plugins/UiExtensionPlugins/PipInterface/PipSearchDialog.ui</Form> + <Form>Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui</Form> + <Form>Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui</Form> <Form>Plugins/UiExtensionPlugins/VirtualenvInterface/VirtualenvConfigurationDialog.ui</Form> <Form>Plugins/UiExtensionPlugins/VirtualenvInterface/VirtualenvExecDialog.ui</Form> <Form>Plugins/VcsPlugins/vcsMercurial/ConfigurationPage/MercurialPage.ui</Form> @@ -2135,6 +2155,68 @@ <Other>IconEditor/cursors/fill-cursor.xpm</Other> <Other>IconEditor/cursors/paintbrush-cursor.xpm</Other> <Other>LICENSE.GPL3</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/deepl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/glosbe.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/googlev1.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/googlev2.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/microsoft.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/mymemory.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/promt.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/engines/yandex.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flag.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/af.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ar.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/be.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/bg.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/bs.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ca.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/cs.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/da.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/de.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/el.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/en.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/es.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/et.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/fi.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/fr.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ga.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/gl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/he.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/hi.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/hr.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/hu.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/id.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/is.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/it.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/iw.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ja.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ka.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ko.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/lt.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/lv.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/mk.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/mt.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/nl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/no.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/pl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/pt.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ro.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/ru.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/sk.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/sl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/sq.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/sr.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/sv.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/th.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/tl.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/tr.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/uk.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/vi.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/zh-CN.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/flags/zh-TW.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/pronounce.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/swap.png</Other> + <Other>Plugins/UiExtensionPlugins/Translator/icons/translate.png</Other> <Other>Plugins/VcsPlugins/vcsMercurial/icons/mercurial.png</Other> <Other>Plugins/VcsPlugins/vcsMercurial/icons/preferences-mercurial.png</Other> <Other>Plugins/VcsPlugins/vcsMercurial/icons/startServer.png</Other>
--- a/i18n/eric6_cs.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_cs.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7451,6 +7451,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7964,32 +7998,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17813,6 +17847,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -38156,6 +38239,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -39367,6 +39473,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -46883,6 +47002,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -65873,6 +66005,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -66053,6 +66198,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished">Česky</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TransplantProjectHelper</name> <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/TransplantExtension/ProjectHelper.py" line="135"/> @@ -78452,6 +79130,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_de.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_de.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7138,6 +7138,41 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation>Der zu übersetzende Text überschreitet das Längenlimit von {0} Zeichen.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation>Ungültige Antwort von DeepL erhalten</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation>DeepL berichtete einen Fehler. +Meldung: {0}</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation>DeepL Aufruf lieferte ein unbekanntes Resultat</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation>Nicht unterstützer Sprachkode wurde übergeben (Quelle: {0}, Ziel: {0}).</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation><p>Keine Übersetzung gefunden</p></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7644,32 +7679,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation>.desktop Assistent</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation>.&desktop Assistent...</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation><b>.desktop Assistent</b><p>Dieser Assistent öffnet einen Dialog für die Eingabe aller Daten, die zur Erzeugung einer .desktop Datei benötigt werden. Der erzeugte Quelltext ersetzt den Text des aktuellen Editors. Alternativ wird ein neuer Editor geöffnet.</p></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation>Kein aktueller Editor</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation>Bitte öffnen oder erzeugen Sie zuerst eine Datei.</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation>Der aktuelle Editor enthält bereits Text. Soll dieser ersetzt werden?</translation> </message> @@ -17316,6 +17351,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation>Keine Übersetzung gefunden.</translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Es sind nur Texte bis zu {0} Zeichen erlaubt.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation>Keine Übersetzung gefunden.</translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation>Ein gülter Google Übersetzer Schlüssel ist erforderlich.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation>Keine Übersetzungen verfügbar.</translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37207,6 +37291,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation>Sie haben sich nicht für den Microsoft Übersetzungsdienst registriert.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation>Kein gültiges Zugriffstoken verfügbar.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation>Keine Übersetzungen verfügbar.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation>Keine Vorlesedaten für die ausgewählte Sprache verfügbar.</translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38418,6 +38525,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Es sind nur Texte bis zu {0} Zeichen erlaubt.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45867,6 +45987,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation>Diese Übersetzungsrichtung ist nicht verfügbar.</translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.py" line="105"/> @@ -64624,6 +64757,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation>Es sind keine Aussprachedaten verfügbar</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation>Keine Übersetzungen verfügbar</translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="57"/> @@ -64776,6 +64922,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation>Übersetzer</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation>Übe&rsetzer</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation>Alt+Shift+R</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation>Schalte den Eingabefokus auf das Übersetzerfenster um.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation><b>Übersetzer aktivieren</b><p>Dies schaltet den Eingabefokus auf das Übersetzerfenster um.</p></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation>Glosbe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation>PROMT</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation>Unbekanter Übersetzungsdienst ({0})</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation>Microsoft</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation>DeepL</translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation>Arabisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation>Bulgarisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation>Bosnisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation>Katalanisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation>Tschechisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation>Dänisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation>Deutsch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation>Griechisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation>Englisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation>Spanisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation>Estnisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation>Finnisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation>Französisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation>Irisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation>Galizisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation>Hindi</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation>Kroatisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation>Ungarisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation>Indonesisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation>Isländisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation>Italienisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation>Japanisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation>Georgisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation>Koreanisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation>Litauisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation>Lettisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation>Mazedonisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation>Maltesisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation>Holländisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation>Norwegisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation>Polnisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation>Portugiesisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation>Rumänisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation>Russisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation>Slowakisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation>Slowenisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation>Albanisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation>Serbisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation>Schwedisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation>Thailändisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation>Tagalog</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation>Türkisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation>Ukrainisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation>Vietnamesisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation>Chinesisch (vereinfacht)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation>Chinesisch (traditionell)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation>Afrikaans</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation>Weißrussisch</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation>Hebräisch (he)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation>Hebräisch (iw)</translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation><b>Übersetzet konfigurieren</b></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation>Wörterbuchergebnisse anzeigen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation>Aktivierte Sprachen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation>Drücken um alle Einträge ein- bzw. auszuschalten</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation>Alle Ein-/Ausschalten</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation>Drücken, um die Standardliste aktivierter Sprachen zu setzen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation>Standard Setzen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation>Es sollten mindestens zwei Sprachen aktiviert sein, um korrekt zu arbeiten.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation>Auswählen, um Ergebnisse des Übersetzungswörterbuches anzuzeigen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation>Email:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation>Gib eine Emailadresse ein, die mit jeder Anfrage gesendet werden soll (optional)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation>Schlüssel:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation>Gib den Yandey Schlüssel ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>Ein Schlüssel ist für die Nutzung dieses Dienstes <b>optional</b>. <a href="{0}">Hole einen kostenfreien API Schlüssel.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>Ein Schlüssel ist für die Nutzung dieses Dienstes <b>erforderlich</b>. <a href="{0}">Hole einen kostenfreien API Schlüssel.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation>Gib den MyMemory Schlüssel ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation>Gib den Google Übersetzer Schlüssel ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation><p>Ein Schlüssel ist für die Nutzung dieses Dienstes <b>erforderlich</b>. <a href="{0}">Hole einen kostenpflichtigen API Schlüssel.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation>Microsoft Azure</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation><p>Eine Registrierung des Textübersetzungsdienstes ist <b>erforderlich</b>. <a href="{0}">Bei Microsoft Azure registrieren.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation>Abonnementschlüssel:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation>Gib den Abonnementschlüssel des Textübersetzungsdienstes ein</translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation>Übersetzer</translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation>Drücken, um den eingegebenen Text zu sprechen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation>Wähle die Sprache des Originaltextes</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation>Drücken, um die Übersetzungsrichtung zu ändern</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation>Wähle die Sprache des Übersetzungstextes</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation>Drücken, um den übersetzten Text zu sprechen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation>Gib den zu übersetzenden Text ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation>Zeigt den übersetzten Text</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation>Drücken, um den eingegebenen Text zu übersetzen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation>Übersetzungsfehler</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation>Wähle den Übersetzungsdienst</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation>Der ausgewählte Übersetzungsdienst unterstützt die Vorlesefunktion nicht.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation>Drücken, um die Textfelder zu löschen</translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -77142,6 +77821,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation>Ungültiger API Schlüssel.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation>API Schlüssel wurde blockiert.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation>Das Tageslimit für Abfragen wurde erreicht.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation>Das Tageslimit für das Volumen an übersetztem Text wurde erreicht.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation>Die Textgröße überschreitet das Maximum.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation>Der Text konnte nicht übersetzt werden.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation>Die angegebene Übersetzungsrichtung wird nicht unterstützt.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Es sind nur Texte bis zu {0} Zeichen erlaubt.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation>Ein gülter Yandex Schlüssel ist erforderlich.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation>Unbekannte Fehlerkennung ({0}) empfangen.</translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_empty.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_empty.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7061,6 +7061,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7564,32 +7598,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17189,6 +17223,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37005,6 +37088,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38216,6 +38322,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45654,6 +45773,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../MultiProject/PropertiesDialog.ui" line="13"/> @@ -64051,6 +64183,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -64200,6 +64345,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="89"/> @@ -76505,6 +77183,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_en.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_en.ts Sun Dec 10 16:23:29 2017 +0100 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="en" sourcelanguage=""> +<!DOCTYPE TS> +<TS version="2.1" language="en"> <context> <name>AboutDialog</name> <message> @@ -1940,7 +1941,7 @@ </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksMenu.py" line="145"/> - <source>Open in New &Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open in New &Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -1960,7 +1961,7 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="166"/> - <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open in New Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -2029,7 +2030,7 @@ </message> <message> <location filename="../Helpviewer/Bookmarks/BookmarksToolBar.py" line="93"/> - <source>Open in New &Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open in New &Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -2059,7 +2060,7 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/> - <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open in New Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -7068,6 +7069,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7571,32 +7606,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17205,6 +17240,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -17644,7 +17728,7 @@ </message> <message> <location filename="../Helpviewer/HelpBrowserWV.py" line="1219"/> - <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open Link in New Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -37044,6 +37128,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38255,6 +38362,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45696,6 +45816,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -64095,6 +64228,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -64244,6 +64390,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -73990,7 +74669,7 @@ </message> <message> <location filename="../WebBrowser/WebBrowserView.py" line="618"/> - <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source> + <source>Open Link in New Tab Ctrl+LMB</source> <translation type="unfinished"></translation> </message> <message> @@ -76552,6 +77231,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_es.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_es.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7133,6 +7133,41 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation>El texto a traducir excede el límite de traducción de {0} caracteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation>Respuesta no válida recibida de DeepL</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation>DeepL ha informado de un error. +Mensaje: {0}</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation>La llamada a DeepL ha retornado un resultado desconocido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation>Se ha proporcionado un código de lenguaje no soportado (fuente: {0}, objetivo: {1}).</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation><p>No se ha encontrado una traducción</p></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7639,32 +7674,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished">Asistente .desktop</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished">Asistente .&desktop...</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"><b>Asistente .desktop</b><p>Este asistente abre un diálogo para introducir todos los parámetros necesarios para crear el contenido de un archivo .desktop. El código generado reemplaza el texto del editor actual. Alternativamente se puede abrir un nuevo editor.</p></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished">El editor actual contiene texto. ¿Desea reemplazarlo?</translation> </message> @@ -17317,6 +17352,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation>No se ha encontrado una traducción.</translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Solamente se permiten textos hasta {0} carácteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation>No se ha encontrado una traducción.</translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation>Se necesita una clave válida de Google Translate.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation>No hay traducción disponible.</translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37209,6 +37293,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation>No está registrado para el servicio de Microsoft Translation.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation>No hay disponible un token de acceso válido.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation>No hay traducción disponible.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation>No hay Text-to-Speech disponible para el lenguaje seleccionado.</translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38420,6 +38527,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Solamente se permiten textos hasta {0} carácteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45868,6 +45988,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation>Esta dirección de traducción no está disponible.</translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -64594,6 +64727,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation>No hay datos de pronunciación disponibles</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation>No hay traducción disponible</translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -64746,6 +64892,544 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation>Traductor</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation>T&raductor</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation>Alt+Shift+R</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation>Cambiar el foco de input a la ventana del Traductor.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation><b>Activar Traductor</b><p>Cambia el foco de input a la ventana del Traductor.</p></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation>Glosbe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation>PROMT</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation>Nombre de servicio de traducción desconocido ({0})</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation>Microsoft</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation>DeepL</translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation>Árabe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation>Búlgaro</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation>Bosnio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation>Catalán</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation>Checo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation>Danés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation>Alemán</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation>Griego</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation>Inglés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation>Español</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation>Estonio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation>Finlandés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation>Francés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation>Irlandés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation>Gallego</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation>Hindi</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation>Croata</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation>Húngaro</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation>Indonesio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation>Islandés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation>Italiano</translation> + </message> + <message> + <location filename="../TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew</source> + <translation type="obsolete">Hebreo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation>Japonés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation>Georgiano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation>Koreano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation>Lituano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation>Letón</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation>Macedonio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation>Maltés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation>Holandés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation>Noruego</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation>Polaco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation>Portugués</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation>Rumano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation>Ruso</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation>Eslovaco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation>Esloveno</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation>Albano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation>Servio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation>Sueco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation>Tailandés</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation>Filipino</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation>Turco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation>Ucranio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation>Vietnamita</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation>Chino S</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation>Chino T</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation>Afrikaans</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation>Bielorruso</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation>Hebreo (he)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation>Hebreo (iw)</translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation><b>Configurar Traductor</b></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation>Mostrar resultados del diccionario</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation>Idiomas Habilitados</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation>Pulsar para marcar o desmarcar todas las entradas</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation>Marcar/desmarcar todas</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation>Pulsar para establecer la lista por defecto de idiomas habilitados</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation>Establecer por defecto</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation>Se deben seleccionar al menos dos idiomas para que esta herramienta funcione correctamente.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation>Establecer para mostrar los resultados del diccionario de traducciones</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation>Email:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation>Introducir dirección de correo electrónica a enviar con cada solicitud (opcional)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation>Clave:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation>Introducir clave Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>Una clave es <b>opcional</b> para utilizar este servicio. <a href="{0}">Obtener una API key gratuita.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>Una clave es <b>necesaria</b> para utilizar este servicio. <a href="{0}">Obtener una API key gratuita.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation>Introducir clave MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation>Introducir clave Google Translate</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation><p>Una clave es <b>necesaria</b> para utilizar este servicio. <a href="{0}">Obtener una API key comercial.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation>Microsoft Azure</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation><p>Es <b>necesario</b> registrarse para el servicio de traducción necesaria. <a href="{0}">Registrar con Microsoft Azure.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation>Clave de Subscripción:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation>Introducir la clave de subscripción del servicio de traducción de texto</translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation>Traductor</translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation>Pulsar para pronunciación del texto introducido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation>Seleccionar el idioma del texto original</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation>Pulsar para intercambiar el sentido de traducción</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation>Seleccionar el idioma para el texto traducido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation>Pulsar para pronunciación del texto traducido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation>Introducir el texto a traducir</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation>Muestra el texto traducido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation>Pulsar para traducir el texto introducido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation>Error de Traducción</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation>Seleccionar el servicio de traducción</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation>El servicio de traducción seleccionado no soporta la función de Text-to-Speech.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation>Pulsar para borrar los campos de texto</translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -77230,6 +77914,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation>API key no válida.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation>la API key ha sido bloqueada.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation>Se ha alcanzado el límite diario de solicitudes.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation>Se ha alcanzado el límite diario de volumen de texto traducido.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation>El tamaño del texto supera el máximo.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation>El texto no se ha podido traducir.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation>La dirección de traducción especificada no está soportada.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Solamente se permiten textos hasta {0} carácteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation>Se necesita una clave válida de Yandex.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation>Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation>Se ha recibido un código de error ({0}) desconocido.</translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_fr.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_fr.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7400,6 +7400,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7913,32 +7947,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17773,6 +17807,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37903,6 +37986,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -39114,6 +39220,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -46611,6 +46730,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.py" line="184"/> @@ -65635,6 +65767,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -65814,6 +65959,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished">Français</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -78220,6 +78898,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_it.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_it.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7113,6 +7113,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7619,32 +7653,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished">Nessun editor corrente</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished">Per favore prima apri o crea un file.</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17298,6 +17332,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37158,6 +37241,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38369,6 +38475,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45827,6 +45946,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.py" line="111"/> @@ -64465,6 +64597,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -64616,6 +64761,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished">Arabo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished">Italiano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished">Georgiano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished">Thai</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -76955,6 +77633,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_pt.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_pt.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7545,6 +7545,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -8061,32 +8095,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished">Por favor, primeiro abra ou crie um ficheiro.</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17989,6 +18023,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation>Não se encontrou tradução.</translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Só estão permitidos textos até {0} caracteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation>Não se encontrou tradução.</translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation>É necessário uma chave válida de Google Translate.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation>Sem tradução disponível.</translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -38603,6 +38686,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation>Não se registou para o serviço Microsoft Translation.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation>Não há nenhum passe válido disponível.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation>Sem tradução disponível.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation>Não está disponível Text-to-Speech para o idioma selecionado.</translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -39819,6 +39925,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Só estão permitidos textos até {0} caracteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -47284,6 +47403,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation>Esta direção de tradução não está disponivel.</translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -49858,7 +49990,7 @@ <message> <location filename="../Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardCharactersDialog.py" line="214"/> <source>Thai</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tailandês</translation> </message> <message> <location filename="../Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardCharactersDialog.py" line="214"/> @@ -49878,7 +50010,7 @@ <message> <location filename="../Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardCharactersDialog.py" line="214"/> <source>Georgian</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Georgiano</translation> </message> <message> <location filename="../Plugins/WizardPlugins/QRegExpWizard/QRegExpWizardCharactersDialog.py" line="214"/> @@ -51208,7 +51340,7 @@ <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.py" line="193"/> <source>Georgian</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Georgiano</translation> </message> <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.py" line="193"/> @@ -51543,7 +51675,7 @@ <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.py" line="193"/> <source>Thai</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tailandês</translation> </message> <message> <location filename="../Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardCharactersDialog.py" line="193"/> @@ -62374,7 +62506,7 @@ <message> <location filename="../UI/SymbolsWidget.py" line="90"/> <source>Thai</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Tailandês</translation> </message> <message> <location filename="../UI/SymbolsWidget.py" line="91"/> @@ -62394,7 +62526,7 @@ <message> <location filename="../UI/SymbolsWidget.py" line="94"/> <source>Georgian</source> - <translation type="unfinished"></translation> + <translation type="unfinished">Georgiano</translation> </message> <message> <location filename="../UI/SymbolsWidget.py" line="95"/> @@ -66004,6 +66136,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation>Sem dados de pronúncia disponíveis</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation>Sem tradução disponível</translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -66158,6 +66303,544 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation>Tradutor</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation>T&radutor</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation>Alt+Shift+R</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation>Mudar o foco de entrada à janela do Tradutor.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation><b>Ativar Tradutor</b><p>Muda o foco de entrada à janela do Tradutor.</p></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation>Glosbe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation>PROMT</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation>Nome de serviço de tradução desconhecido ({0})</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation>Microsoft</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation>DeepL</translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation>Árabe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation>Búlgaro</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation>Bósnio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation>Catalão</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation>Checo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation>Dinamarquês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation>Alemão</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation>Grego</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation>Inglês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation>Espanhol</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation>Estoniano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation>Finlandês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation>Francês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation>Irlandês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation>Galego</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation>Hindi</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation>Croata</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation>Húngaro</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation>Indonésio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation>Islandês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation>Italiano</translation> + </message> + <message> + <location filename="../TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew</source> + <translation type="obsolete">Hebreu</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation>Japonês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation>Georgiano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation>Coreano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation>Lituano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation>Letão</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation>Macedónio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation>Maltês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation>Holandês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation>Norueguês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation>Polaco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation>Português</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation>Romeno</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation>Russo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation>Eslovaco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation>Esloveno</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation>Albanês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation>Sérvio</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation>Sueco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation>Tailandês</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation>Filipino</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation>Turco</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation>Ucraniano</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation>Vietnamita</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation>Chinês S</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation>Chinês T</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation>Africâner</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation>Bielorrusso</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation>Hebreu (he)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation>Hebreu (iw)</translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation><b>Configurar Tradutor</b></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation>Mostrar resultados do dicionário</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation>Idiomas Habilitados</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation>Pressionar para marcar ou desmarcar as entradas todas</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation>Marcar/Desmarcar Tudo</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation>Pressionar para tornar predefinida a lista de idiomas habilitados</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation>Predefinir</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation>Pelo menos dois idiomas têm que estar selecionados para funcionar correctamente.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation>Selecionar para mostrar os resultados do dicionário de traduções</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation>Correio eletrónico:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation>Introduzir a direção do correio eletrónico a enviar com cada solicitude (opcional)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation>Chave:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation>Introduza a sua chave Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>É <b>opcional</b> uma chave para usar este serviço. <a href="{0}">Obtenha uma chave API grátis.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>É <b>necessária</b> uma chave para usar este serviço. <a href="{0}">Obtenha uma chave API grátis.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation>Introduza a sua chave MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation>Introduza a sua chave Google Translate</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation><p>É <b>necessária</b> uma chave para usar este serviço. <a href="{0}">Obtenha uma chave API comercial.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation>Microsoft Azure</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation><p>É <b>necessário</b> o registo da aplicação. <a href="{0}">Registe com Microsoft Azure.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation>Tradutor</translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation>Pressione para pronunciar o texto introduzido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation>Selecione o idioma do texto original</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation>Pressione para mudar a direção da tradução</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation>Selecionar o idioma do texto traduzido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation>Pressione para pronunciar o texto traduzido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation>Introduza o texto a traduzir</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation>Mostra o texto traduzido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation>Pressione para traduzir o texto introduzido</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation>Erro de Tradução</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation>Selecione o serviço de tradução</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation>O serviço de tradução selecionado não suporta a função Text-to-Speech.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>Transplant</name> <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/TransplantExtension/transplant.py" line="73"/> @@ -78705,6 +79388,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation>Chave API inválida.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation>Chave API foi bloqueada.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation>Alcançado o limite de solicitudes diśrias.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation>Alcançado o limite diário do volume de texto traduzido.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation>Tamanho do texto excede o máximo.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation>Não se pôde traduzir o texto.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation>A direção da tradução especificada não é suportada.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Só estão permitidos textos até {0} caracteres.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation>É requerida uma chave Yandex válida.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation>Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation>Código de erro desconhecido ({0}) recebido.</translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_ru.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_ru.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7163,6 +7163,41 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation>Текст, подлежащий переводу, превышает лимит перевода в {0} символов.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation>От DeepL получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation>Сообщение DeepL об ошибке. +Сообщение: {0}</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation>Вызов DeepL вернул неизвестный результат</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation>Неподдерживаемый язык (исходный: {0}, целевой: {1}).</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation><p>Перевод не найден</p></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7669,32 +7704,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished">Мастер .&desktop...</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"><b>Мастер .desktop</b><p>Этот мастер открывает диалог для ввода всех параметров, необходимых для создания контента .desktop файла. Созданный код заменит текст в текущем окне редактора. Либо, в качестве альтернативы, откроет новое окно редактора.</p></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished">Пожалуйста, сначала откройте или создайте файл.</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished">В текущем окне редактора содержится текст. Должен ли он быть заменен?</translation> </message> @@ -17361,6 +17396,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation>Перевод не найден.</translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Разрешены фрагменты текста не длинее {0} символов.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation>Перевод не найден.</translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation>Требуется действительный ключ Google Translate.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation>Перевод отсутствует.</translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37281,6 +37365,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation>Вы не зарегистрированы в службе переводов Microsoft Translation.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation>Нет достоверного маркера доступа.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation>Перевод отсутствует.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation>Функция Text-to-Speech для выбранного языка недоступна (преобразование текста в речь).</translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -38503,6 +38610,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Разрешены фрагменты текста не длинее {0} символов.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -45975,6 +46095,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation>Данное направление перевода недоступно.</translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -64773,6 +64906,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation>Нет данных для произношения</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation>Перевод недоступен</translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -64925,6 +65071,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation>Переводчик</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation>Пе&реводчик</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation>Alt+Shift+R</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation>Переключение фокуса ввода в окно перевода.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation><b>Активация перевода</b><p>Переключение фокуса ввода в окно перевода.</p></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation>Glosbe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation>PROMT</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation>Имя неизвестного сервиса перевода ({0})</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation>Microsoft</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation>DeepL</translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation><b>Настройка переводчика</b></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation>Показывать словарь результатов</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation>Используемые языки</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation>Установить или отменить весь выбор</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation>Выбрать/Отменить все</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation>Установить разрешенные по умолчанию языки</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation>Стандартный набор</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation>Для корректной работы должны быть выбраны по крайней мере два языка.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation>Разрешить показ словаря результатов перевода</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation>MyMemory</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation>Email:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation>Введите адрес электронной почты для отправки с каждым запросом (по желанию)</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation>Ключ:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation>Введите ваш Yandex ключ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation>Yandex</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>При использовании данного сервиса ключ является <b>опциональным</b>. <a href="{0}">Получить свободный API ключ.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation><p>Для использования данного сервиса <b>требуется</b> ключ. <a href="{0}">Получить свободный API ключ.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation>Введите ваш MyMemory ключ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation>Google V.1</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation>Google V.2</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation>Введите ваш Google Translate ключ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation><p>Для использования данного сервиса <b>требуется</b> ключ. <a href="{0}">Получить коммерческий API ключ.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation>Microsoft Azure</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation><p><b>Необходима</b> регистрация приложения. <a href="{0}">Регистрация посредством Microsoft Azure.</a></p></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation>Ключ подписки:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation>Введите ключ подписки службы перевода текста</translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation>Перевод</translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation>Произношение введенного текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation>Выберите язык оригинального текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation>Поменять направление перевода</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation>Выберите язык переводимого текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation>Произношение переведенного текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation>Введите текст для перевода</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation>Просмотр переведенного текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation>Перевести введенный текст</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation>Ошибка перевода</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation>Выбор сервиса перевода</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation>Выбранный сервис перевода не поддерживает функцию Text-to-Speech.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation>Очистить текстовые поля</translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -77479,6 +78158,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation>Недействительный API ключ.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation>API ключ заблокирован.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation>Достигнут суточный лимит запросов.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation>Достигнут суточный лимит объема переведенного текста.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation>Размер текстового блока превышает максимальный.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation>Текст не может быть переведен.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation>Заданное направление перевода не поддерживается.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation>Разрешены фрагменты текста не длинее {0} символов.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation>Требуется действительный ключ Yandex.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation>Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation>Получен код ({0}) неизвестной ошибки.</translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_tr.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_tr.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7432,6 +7432,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7945,32 +7979,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished">Geçerli düzenleyici yok</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished">Lütfen ilkönce bir dosya açın yada oluşturun.</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17781,6 +17815,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37988,6 +38071,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -39199,6 +39305,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -46681,6 +46800,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -65508,6 +65640,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -65680,6 +65825,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished">Arapça</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished">Türkçe</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TransplantProjectHelper</name> <message> <location filename="../Plugins/VcsPlugins/vcsMercurial/TransplantExtension/ProjectHelper.py" line="135"/> @@ -78073,6 +78751,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>
--- a/i18n/eric6_zh_CN.ts Sun Dec 10 14:51:54 2017 +0100 +++ b/i18n/eric6_zh_CN.ts Sun Dec 10 16:23:29 2017 +0100 @@ -7440,6 +7440,40 @@ </message> </context> <context> + <name>DeepLEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="77"/> + <source>Text to be translated exceeds the translation limit of {0} characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="112"/> + <source>Invalid response received from DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="115"/> + <source>DeepL reported an error. +Message: {0}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="119"/> + <source>DeepL call returned an unknown result</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="123"/> + <source>Unsupported language code given (source: {0}, target: {1}).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/DeepLEngine.py" line="130"/> + <source><p>No translation found</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>DeleteFilesConfirmationDialog</name> <message> <location filename="../UI/DeleteFilesConfirmationDialog.ui" line="22"/> @@ -7955,32 +7989,32 @@ <context> <name>DotDesktopWizard</name> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>.desktop Wizard</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="111"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="86"/> <source>.&desktop Wizard...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="117"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="92"/> <source><b>.desktop Wizard</b><p>This wizard opens a dialog for entering all the parameters needed to create the contents of a .desktop file. The generated code replaces the text of the current editor. Alternatively a new editor is opened.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>No current editor</source> <translation type="unfinished">没有当前编辑器</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="143"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="118"/> <source>Please open or create a file first.</source> <translation type="unfinished">请您先打开或创建一个文件。</translation> </message> <message> - <location filename="../Plugins/PluginWizardDotDesktop.py" line="149"/> + <location filename="../Plugins/PluginWizardDotDesktop.py" line="124"/> <source>The current editor contains text. Shall this be replaced?</source> <translation type="unfinished"></translation> </message> @@ -17801,6 +17835,55 @@ </message> </context> <context> + <name>GlosbeEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="88"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GlosbeEngine.py" line="103"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV1Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="95"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="129"/> + <source>No translation found.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV1Engine.py" line="159"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>GoogleV2Engine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="71"/> + <source>A valid Google Translate key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="82"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/GoogleV2Engine.py" line="86"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>GotoDialog</name> <message> <location filename="../QScintilla/GotoDialog.ui" line="13"/> @@ -37978,6 +38061,29 @@ </message> </context> <context> + <name>MicrosoftEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="186"/> + <source>You have not registered for the Microsoft Translation service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="192"/> + <source>No valid access token available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="169"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MicrosoftEngine.py" line="204"/> + <source>No Text-to-Speech for the selected language available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>MimeTypesPage</name> <message> <location filename="../Preferences/ConfigurationPages/MimeTypesPage.ui" line="17"/> @@ -39189,6 +39295,19 @@ </message> </context> <context> + <name>MyMemoryEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="75"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/MyMemoryEngine.py" line="100"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>NamingStyleChecker</name> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/translations.py" line="396"/> @@ -46690,6 +46809,19 @@ </message> </context> <context> + <name>PromtEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="99"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/PromtEngine.py" line="108"/> + <source>This direction of translation is not available.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>PropertiesDialog</name> <message> <location filename="../Project/PropertiesDialog.ui" line="20"/> @@ -65735,6 +65867,19 @@ </message> </context> <context> + <name>TranslationEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <source>No pronounce data available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <source>No translation available</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TranslationPropertiesDialog</name> <message> <location filename="../Project/TranslationPropertiesDialog.ui" line="14"/> @@ -65916,6 +66061,539 @@ </message> </context> <context> + <name>Translator</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>T&ranslator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="53"/> + <source>Alt+Shift+R</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="59"/> + <source>Switch the input focus to the Translator window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/Translator.py" line="61"/> + <source><b>Activate Translator</b><p>This switches the input focus to the Translator window.</p></source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorEngines</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="38"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="40"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="42"/> + <source>Glosbe</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="44"/> + <source>PROMT</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="46"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="48"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="50"/> + <source>Microsoft</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="52"/> + <source>DeepL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorLanguagesDb</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="32"/> + <source>Afrikaans</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="33"/> + <source>Arabic</source> + <translation type="unfinished">阿拉伯文</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="34"/> + <source>Belarusian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="35"/> + <source>Bulgarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="36"/> + <source>Bosnian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="37"/> + <source>Catalan</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="38"/> + <source>Czech</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="39"/> + <source>Danish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="40"/> + <source>German</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="41"/> + <source>Greek</source> + <translation type="unfinished">希腊字母</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="42"/> + <source>English</source> + <translation type="unfinished">中文</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="43"/> + <source>Spanish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="44"/> + <source>Estonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="45"/> + <source>Finnish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="46"/> + <source>French</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="47"/> + <source>Irish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="48"/> + <source>Galician</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="49"/> + <source>Hebrew (he)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="50"/> + <source>Hindi</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="51"/> + <source>Croatian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="52"/> + <source>Hungarian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="53"/> + <source>Indonesian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="54"/> + <source>Icelandic</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="55"/> + <source>Italian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="56"/> + <source>Hebrew (iw)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="57"/> + <source>Japanese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="58"/> + <source>Georgian</source> + <translation type="unfinished">格鲁吉亚字母</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="59"/> + <source>Korean</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="60"/> + <source>Lithuanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="61"/> + <source>Latvian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="62"/> + <source>Macedonian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="63"/> + <source>Maltese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="64"/> + <source>Dutch</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="65"/> + <source>Norwegian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="66"/> + <source>Polish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="67"/> + <source>Portuguese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="68"/> + <source>Romanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="69"/> + <source>Russian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="70"/> + <source>Slovak</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="71"/> + <source>Slovenian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="72"/> + <source>Albanian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="73"/> + <source>Serbian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="74"/> + <source>Swedish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="75"/> + <source>Thai</source> + <translation type="unfinished">泰文</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="76"/> + <source>Filipino</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="77"/> + <source>Turkish</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="78"/> + <source>Ukrainian</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="79"/> + <source>Vietnamese</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="80"/> + <source>Chinese S</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorLanguagesDb.py" line="81"/> + <source>Chinese T</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPage</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="17"/> + <source><b>Configure Translator</b></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>Enabled Languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="77"/> + <source>Press to set or unset all entries</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="80"/> + <source>Set/Unset All</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="100"/> + <source>Press to set the default list of enabled languages</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="103"/> + <source>Set Default</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="128"/> + <source>Google V.1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="134"/> + <source>Select to show the results of the translation dictionary</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="137"/> + <source>Show dictionary results</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="147"/> + <source>Google V.2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Key:</source> + <translation type="unfinished">密码:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="160"/> + <source>Enter your Google Translate key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter the subscription key of the text translator service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="222"/> + <source>Email:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="229"/> + <source>Enter email address to be sent with each request (optional)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="243"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <source>Enter your Yandex key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="42"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a commercial API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A registration of the text translation service is <b>required</b>. <a href="{0}">Register with Microsoft Azure.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="51"/> + <source><p>A key is <b>optional</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="55"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Get a free API key.</a></p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <source>At least two languages should be selected to work correctly.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorPlugin</name> + <message> + <location filename="../Plugins/PluginTranslator.py" line="68"/> + <source>Translator</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>TranslatorWidget</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="31"/> + <source>Select the translation service</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="58"/> + <source>Press to pronounce the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="71"/> + <source>Select the language of the original text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="78"/> + <source>Press to swap the translation direction</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="91"/> + <source>Select the language for the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="98"/> + <source>Press to pronounce the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="105"/> + <source>Enter the text to be translated</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="128"/> + <source>Shows the translated text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="144"/> + <source>Press to translate the entered text</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.ui" line="151"/> + <source>Press to clear the text fields</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <source>Translation Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <source>The selected translation service does not support the Text-to-Speech function.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>TrayStarter</name> <message> <location filename="../Tools/TrayStarter.py" line="73"/> @@ -78321,6 +78999,64 @@ </message> </context> <context> + <name>YandexEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="43"/> + <source>Invalid API key.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="44"/> + <source>API key has been blocked.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="45"/> + <source>Daily limit for requests has been reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="46"/> + <source>Daily limit for the volume of translated text reached.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="48"/> + <source>Text size exceeds the maximum.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="49"/> + <source>Text could not be translated.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="50"/> + <source>The specified translation direction is not supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="89"/> + <source>Only texts up to {0} characters are allowed.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="94"/> + <source>A valid Yandex key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="107"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/YandexEngine.py" line="113"/> + <source>Unknown error code ({0}) received.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>ZoomDialog</name> <message> <location filename="../QScintilla/ZoomDialog.ui" line="13"/>