Sat, 07 Jul 2018 14:38:13 +0200
Translator: added a translation engine for the IBM Watson Language Translator.
--- a/APIs/Python3/eric6.api Sat Jul 07 12:58:50 2018 +0200 +++ b/APIs/Python3/eric6.api Sat Jul 07 14:38:13 2018 +0200 @@ -4963,6 +4963,12 @@ 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.IbmWatsonEngine.IbmWatsonEngine.engineName?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.getTranslation?4(requestObject, text, originalLanguage, translationLanguage) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.hasTTS?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.supportedLanguages?4() +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine.supportedTargetLanguages?4(original) +eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.IbmWatsonEngine?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 @@ -4988,6 +4994,7 @@ 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.supportedTargetLanguages?4(original) 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
--- a/APIs/Python3/eric6.bas Sat Jul 07 12:58:50 2018 +0200 +++ b/APIs/Python3/eric6.bas Sat Jul 07 14:38:13 2018 +0200 @@ -496,6 +496,7 @@ HtmlProvider MarkupBase HyperlinkMarkupDialog QDialog Ui_HyperlinkMarkupDialog IExplorerImporter BookmarksImporter +IbmWatsonEngine TranslationEngine IconEditCommand QUndoCommand IconEditorGrid QWidget IconEditorPalette QWidget
--- a/Documentation/Help/source.qhp Sat Jul 07 12:58:50 2018 +0200 +++ b/Documentation/Help/source.qhp Sat Jul 07 14:38:13 2018 +0200 @@ -537,6 +537,7 @@ <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.IbmWatsonEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.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" /> @@ -9787,6 +9788,16 @@ <keyword name="IExplorerImporter.setPath" id="IExplorerImporter.setPath" ref="eric6.Helpviewer.Bookmarks.BookmarksImporters.IExplorerImporter.html#IExplorerImporter.setPath" /> <keyword name="IExplorerImporter.setPath" id="IExplorerImporter.setPath" ref="eric6.WebBrowser.Bookmarks.BookmarksImporters.IExplorerImporter.html#IExplorerImporter.setPath" /> <keyword name="IRC (Package)" id="IRC (Package)" ref="index-eric6.Network.IRC.html" /> + <keyword name="IbmWatsonEngine" id="IbmWatsonEngine" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine" /> + <keyword name="IbmWatsonEngine (Constructor)" id="IbmWatsonEngine (Constructor)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__init__" /> + <keyword name="IbmWatsonEngine (Module)" id="IbmWatsonEngine (Module)" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html" /> + <keyword name="IbmWatsonEngine.__adjustLanguageCode" id="IbmWatsonEngine.__adjustLanguageCode" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__adjustLanguageCode" /> + <keyword name="IbmWatsonEngine.__getTranslationModels" id="IbmWatsonEngine.__getTranslationModels" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.__getTranslationModels" /> + <keyword name="IbmWatsonEngine.engineName" id="IbmWatsonEngine.engineName" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.engineName" /> + <keyword name="IbmWatsonEngine.getTranslation" id="IbmWatsonEngine.getTranslation" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.getTranslation" /> + <keyword name="IbmWatsonEngine.hasTTS" id="IbmWatsonEngine.hasTTS" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.hasTTS" /> + <keyword name="IbmWatsonEngine.supportedLanguages" id="IbmWatsonEngine.supportedLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.supportedLanguages" /> + <keyword name="IbmWatsonEngine.supportedTargetLanguages" id="IbmWatsonEngine.supportedTargetLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html#IbmWatsonEngine.supportedTargetLanguages" /> <keyword name="IconEditCommand" id="IconEditCommand" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand" /> <keyword name="IconEditCommand (Constructor)" id="IconEditCommand (Constructor)" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand.__init__" /> <keyword name="IconEditCommand.redo" id="IconEditCommand.redo" ref="eric6.IconEditor.IconEditorGrid.html#IconEditCommand.redo" /> @@ -16245,6 +16256,7 @@ <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="TranslationEngine.supportedTargetLanguages" id="TranslationEngine.supportedTargetLanguages" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html#TranslationEngine.supportedTargetLanguages" /> <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" /> @@ -16323,6 +16335,7 @@ <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.__updateTranslateButton" id="TranslatorWidget.__updateTranslateButton" ref="eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html#TranslatorWidget.__updateTranslateButton" /> <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" /> @@ -19721,6 +19734,7 @@ <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.IbmWatsonEngine.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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine.html Sat Jul 07 14:38:13 2018 +0200 @@ -0,0 +1,227 @@ +<!DOCTYPE html> +<html><head> +<title>eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.IbmWatsonEngine</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.IbmWatsonEngine</h1> +<p> +Module implementing the IBM Watson translation engine. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr> +<td><a href="#IbmWatsonEngine">IbmWatsonEngine</a></td> +<td>Class implementing the translation engine for the IBM Watson Language Translator service.</td> +</tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /><hr /> +<a NAME="IbmWatsonEngine" ID="IbmWatsonEngine"></a> +<h2>IbmWatsonEngine</h2> +<p> + Class implementing the translation engine for the IBM Watson Language + Translator service. +</p> +<h3>Derived from</h3> +TranslationEngine +<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="#IbmWatsonEngine.__init__">IbmWatsonEngine</a></td> +<td>Constructor</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.__adjustLanguageCode">__adjustLanguageCode</a></td> +<td>Private method to adjust a given language code.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.__getTranslationModels">__getTranslationModels</a></td> +<td>Private method to get the translation models supported by IBM Watson Language Translator.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.engineName">engineName</a></td> +<td>Public method to return the name of the engine.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.getTranslation">getTranslation</a></td> +<td>Public method to translate the given text.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.hasTTS">hasTTS</a></td> +<td>Public method indicating the Text-to-Speech capability.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.supportedLanguages">supportedLanguages</a></td> +<td>Public method to get the supported languages.</td> +</tr><tr> +<td><a href="#IbmWatsonEngine.supportedTargetLanguages">supportedTargetLanguages</a></td> +<td>Public method to get a list of supported target languages for an original language.</td> +</tr> +</table> +<h3>Static Methods</h3> +<table> +<tr><td>None</td></tr> +</table> +<a NAME="IbmWatsonEngine.__init__" ID="IbmWatsonEngine.__init__"></a> +<h4>IbmWatsonEngine (Constructor)</h4> +<b>IbmWatsonEngine</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="IbmWatsonEngine.__adjustLanguageCode" ID="IbmWatsonEngine.__adjustLanguageCode"></a> +<h4>IbmWatsonEngine.__adjustLanguageCode</h4> +<b>__adjustLanguageCode</b>(<i>code</i>) +<p> + Private method to adjust a given language code. +</p><dl> +<dt><i>code</i> (str)</dt> +<dd> +code to be adjusted +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +adjusted language code +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl><a NAME="IbmWatsonEngine.__getTranslationModels" ID="IbmWatsonEngine.__getTranslationModels"></a> +<h4>IbmWatsonEngine.__getTranslationModels</h4> +<b>__getTranslationModels</b>(<i></i>) +<p> + Private method to get the translation models supported by IBM Watson + Language Translator. +</p><a NAME="IbmWatsonEngine.engineName" ID="IbmWatsonEngine.engineName"></a> +<h4>IbmWatsonEngine.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="IbmWatsonEngine.getTranslation" ID="IbmWatsonEngine.getTranslation"></a> +<h4>IbmWatsonEngine.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> (TranslatorRequest)</dt> +<dd> +reference to the request object +</dd><dt><i>text</i> (str)</dt> +<dd> +text to be translated +</dd><dt><i>originalLanguage</i> (str)</dt> +<dd> +language code of the original +</dd><dt><i>translationLanguage</i> (str)</dt> +<dd> +language code of the translation +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +tuple of translated text and flag indicating success +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +tuple of (str, bool) +</dd> +</dl><a NAME="IbmWatsonEngine.hasTTS" ID="IbmWatsonEngine.hasTTS"></a> +<h4>IbmWatsonEngine.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 +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl><a NAME="IbmWatsonEngine.supportedLanguages" ID="IbmWatsonEngine.supportedLanguages"></a> +<h4>IbmWatsonEngine.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><a NAME="IbmWatsonEngine.supportedTargetLanguages" ID="IbmWatsonEngine.supportedTargetLanguages"></a> +<h4>IbmWatsonEngine.supportedTargetLanguages</h4> +<b>supportedTargetLanguages</b>(<i>original</i>) +<p> + Public method to get a list of supported target languages for an + original language. +</p><dl> +<dt><i>original</i> (str)</dt> +<dd> +original language +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +list of supported target languages for the given original +</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
--- a/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html Sat Jul 07 12:58:50 2018 +0200 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.TranslationEngine.html Sat Jul 07 14:38:13 2018 +0200 @@ -75,6 +75,9 @@ </tr><tr> <td><a href="#TranslationEngine.supportedLanguages">supportedLanguages</a></td> <td>Public method to get the supported languages.</td> +</tr><tr> +<td><a href="#TranslationEngine.supportedTargetLanguages">supportedTargetLanguages</a></td> +<td>Public method to get a list of supported target languages for an original language.</td> </tr> </table> <h3>Static Methods</h3> @@ -173,6 +176,27 @@ <dd> list of supported language codes (list of string) </dd> +</dl><a NAME="TranslationEngine.supportedTargetLanguages" ID="TranslationEngine.supportedTargetLanguages"></a> +<h4>TranslationEngine.supportedTargetLanguages</h4> +<b>supportedTargetLanguages</b>(<i>original</i>) +<p> + Public method to get a list of supported target languages for an + original language. +</p><dl> +<dt><i>original</i> (str)</dt> +<dd> +original language +</dd> +</dl><dl> +<dt>Returns:</dt> +<dd> +list of supported target languages for the given original +</dd> +</dl><dl> +<dt>Return Type:</dt> +<dd> +None, if function is not supported; list of str otherwise +</dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr />
--- a/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html Sat Jul 07 12:58:50 2018 +0200 +++ b/Documentation/Source/eric6.Plugins.UiExtensionPlugins.Translator.TranslatorWidget.html Sat Jul 07 14:38:13 2018 +0200 @@ -90,6 +90,9 @@ <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.__updateTranslateButton">__updateTranslateButton</a></td> +<td>Private slot to set the state of the translate button.</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> @@ -233,6 +236,11 @@ <b>__updatePronounceButtons</b>(<i></i>) <p> Private slot to set the state of the pronounce buttons. +</p><a NAME="TranslatorWidget.__updateTranslateButton" ID="TranslatorWidget.__updateTranslateButton"></a> +<h4>TranslatorWidget.__updateTranslateButton</h4> +<b>__updateTranslateButton</b>(<i></i>) +<p> + Private slot to set the state of the translate button. </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>)
--- a/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html Sat Jul 07 12:58:50 2018 +0200 +++ b/Documentation/Source/index-eric6.Plugins.UiExtensionPlugins.Translator.TranslatorEngines.html Sat Jul 07 14:38:13 2018 +0200 @@ -40,6 +40,9 @@ <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.IbmWatsonEngine.html">IbmWatsonEngine</a></td> +<td>Module implementing the IBM Watson 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>
--- a/Plugins/PluginTranslator.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/PluginTranslator.py Sat Jul 07 14:38:13 2018 +0200 @@ -79,9 +79,6 @@ Preferences.Prefs.settings.remove(TranslatorPlugin.PreferencesKey) -# TODO: add support for IBM Watson translator -# https://www.ibm.com/watson/developercloud/language-translator -# https://www.ibm.com/watson/services/language-translator/ class TranslatorPlugin(QObject): """ Class implementing the Translator plug-in. @@ -112,6 +109,9 @@ # Google "GoogleEnableDictionary": False, "GoogleV2Key": "", + # IBM Watson Language Translator + "IbmUrl": "", + "IbmKey": "", # Microsoft "MsTranslatorKey": "", "MsAuthToken": "",
--- a/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py Sat Jul 07 14:38:13 2018 +0200 @@ -43,6 +43,10 @@ """<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.ibmLabel.setText(self.tr( + """<p>A key is <b>required</b> to use this service.""" + """ <a href="{0}">Register with IBM Cloud.</a></p>""").format( + TranslatorEngines.getKeyUrl("ibm_watson"))) self.msLabel.setText(self.tr( """<p>A registration of the text translation service is""" """ <b>required</b>. <a href="{0}">Register with Microsoft""" @@ -77,6 +81,11 @@ self.__plugin.getPreferences("GoogleEnableDictionary")) self.googlev2KeyEdit.setText( self.__plugin.getPreferences("GoogleV2Key")) + # IBM Watson settings + self.ibmUrlEdit.setText( + self.__plugin.getPreferences("IbmUrl")) + self.ibmKeyEdit.setText( + self.__plugin.getPreferences("IbmKey")) # Microsoft settings self.msSubscriptionKeyEdit.setText( self.__plugin.getPreferences("MsTranslatorKey")) @@ -105,6 +114,11 @@ "GoogleEnableDictionary", self.dictionaryCheckBox.isChecked()) self.__plugin.setPreferences( "GoogleV2Key", self.googlev2KeyEdit.text()) + # IBM Watson settings + self.__plugin.setPreferences( + "IbmUrl", self.ibmUrlEdit.text()) + self.__plugin.setPreferences( + "IbmKey", self.ibmKeyEdit.text()) # Microsoft settings self.__plugin.setPreferences( "MsTranslatorKey", self.msSubscriptionKeyEdit.text())
--- a/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui Sat Jul 07 14:38:13 2018 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>494</width> - <height>937</height> + <height>1068</height> </rect> </property> <layout class="QVBoxLayout" name="verticalLayout_3"> @@ -178,6 +178,56 @@ </widget> </item> <item> + <widget class="QGroupBox" name="groupBox_7"> + <property name="title"> + <string>IBM Watson</string> + </property> + <layout class="QGridLayout" name="gridLayout_5"> + <item row="0" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>URL:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="ibmUrlEdit"> + <property name="toolTip"> + <string>Enter your IBM Watson Translator URL</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>API Key:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="ibmKeyEdit"> + <property name="toolTip"> + <string>Enter your IBM Watson Translator API key</string> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="ibmLabel"> + <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> @@ -304,6 +354,8 @@ <tabstop>defaultButton</tabstop> <tabstop>dictionaryCheckBox</tabstop> <tabstop>googlev2KeyEdit</tabstop> + <tabstop>ibmUrlEdit</tabstop> + <tabstop>ibmKeyEdit</tabstop> <tabstop>msSubscriptionKeyEdit</tabstop> <tabstop>mymemoryEmailEdit</tabstop> <tabstop>mymemoryKeyEdit</tabstop>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py Sat Jul 07 14:38:13 2018 +0200 @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2018 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the IBM Watson translation engine. +""" + +from __future__ import unicode_literals +try: + str = unicode +except NameError: + pass + +import json + +from PyQt5.QtCore import QUrl, QByteArray + +from E5Gui import E5MessageBox + +from .TranslationEngine import TranslationEngine + + +class IbmWatsonEngine(TranslationEngine): + """ + Class implementing the translation engine for the IBM Watson Language + Translator service. + """ + # Documentation: + # https://www.ibm.com/watson/developercloud/language-translator + # + # Start page: + # https://www.ibm.com/watson/services/language-translator/ + + 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(IbmWatsonEngine, self).__init__(plugin, parent) + + self.__ui = parent + + self.__availableTranslations = {} + # dictionary of sets of available translations + + self.__getTranslationModels() + + def engineName(self): + """ + Public method to return the name of the engine. + + @return engine name + @rtype str + """ + return "ibm_watson" + + def supportedLanguages(self): + """ + Public method to get the supported languages. + + @return list of supported language codes + @rtype list of str + """ + return list(self.__availableTranslations.keys()) + + def supportedTargetLanguages(self, original): + """ + Public method to get a list of supported target languages for an + original language. + + @param original original language + @type str + @return list of supported target languages for the given original + @rtype list of str + """ + targets = self.__availableTranslations.get(original, set()) + return list(targets) + + def hasTTS(self): + """ + Public method indicating the Text-to-Speech capability. + + @return flag indicating the Text-to-Speech capability + @rtype bool + """ + return False + + def getTranslation(self, requestObject, text, originalLanguage, + translationLanguage): + """ + Public method to translate the given text. + + @param requestObject reference to the request object + @type TranslatorRequest + @param text text to be translated + @type str + @param originalLanguage language code of the original + @type str + @param translationLanguage language code of the translation + @type str + @return tuple of translated text and flag indicating success + @rtype tuple of (str, bool) + """ + apiKey = self.plugin.getPreferences("IbmKey") + if not apiKey: + return self.tr("A valid IBM Watson Language Translator key is" + " required."), False + translatorUrl = self.plugin.getPreferences("IbmUrl") + if not translatorUrl: + return self.tr("A valid IBM Watson Language Translator URL is" + " required."), False + + params = "?version=2018-05-01" + url = QUrl(translatorUrl + "/v3/translate" + params) + + requestDict = { + "text": [text], + "source": originalLanguage, + "target": translationLanguage, + } + request = QByteArray(json.dumps(requestDict).encode("utf-8")) + + extraHeaders = [ + (b"Authorization", + b"Basic " + QByteArray( + b"apikey:" + apiKey.encode("utf-8")).toBase64()) + ] + + response, ok = requestObject.post(url, request, dataType="json", + extraHeaders=extraHeaders) + if ok: + try: + responseDict = json.loads(response) + except ValueError: + return self.tr("Invalid response received"), False + + if "translations" not in responseDict: + return self.tr("No translation available."), False + + result = "" + translations = responseDict["translations"] + for translation in translations: + result += translation["translation"] + if translation != translations[-1]: + result += "<br/>" + else: + result = response + return result, ok + + def __adjustLanguageCode(self, code): + """ + Private method to adjust a given language code. + + @param code code to be adjusted + @type str + @return adjusted language code + @rtype str + """ + if code == "zh": + return "zh-CN" + else: + return code + + def __getTranslationModels(self): + """ + Private method to get the translation models supported by IBM Watson + Language Translator. + """ + apiKey = self.plugin.getPreferences("IbmKey") + if not apiKey: + E5MessageBox.critical( + self.__ui, + self.tr("Error Getting Available Translations"), + self.tr("A valid IBM Watson Language Translator key is" + " required.") + ) + return + translatorUrl = self.plugin.getPreferences("IbmUrl") + if not translatorUrl: + E5MessageBox.critical( + self.__ui, + self.tr("Error Getting Available Translations"), + self.tr("A valid IBM Watson Language Translator URL is" + " required.") + ) + return + + params = "?version=2018-05-01" + url = QUrl(translatorUrl + "/v3/models" + params) + + extraHeaders = [ + (b"Authorization", + b"Basic " + QByteArray( + b"apikey:" + apiKey.encode("utf-8")).toBase64()) + ] + + from ..TranslatorRequest import TranslatorRequest + requestObject = TranslatorRequest(self) + response, ok = requestObject.get(url, extraHeaders=extraHeaders) + if ok: + response = str(response, "utf-8", "replace") + try: + responseDict = json.loads(response) + except ValueError: + E5MessageBox.critical( + self.__ui, + self.tr("Error Getting Available Translations"), + self.tr("Invalid response received") + ) + return + + if "models" not in responseDict: + E5MessageBox.critical( + self.__ui, + self.tr("Error Getting Available Translations"), + self.tr("No translation available.") + ) + return + + for model in responseDict["models"]: + if model["status"] == "available": + source = self.__adjustLanguageCode(model["source"]) + target = self.__adjustLanguageCode(model["target"]) + if source not in self.__availableTranslations: + self.__availableTranslations[source] = set() + self.__availableTranslations[source].add(target)
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py Sat Jul 07 14:38:13 2018 +0200 @@ -44,6 +44,18 @@ """ return [] + def supportedTargetLanguages(self, original): + """ + Public method to get a list of supported target languages for an + original language. + + @param original original language + @type str + @return list of supported target languages for the given original + @rtype None, if function is not supported; list of str otherwise + """ + return None + def hasTTS(self): """ Public method indicating the Text-to-Speech capability.
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py Sat Jul 07 14:38:13 2018 +0200 @@ -24,7 +24,7 @@ @return names of supported engines (list of string) """ return ["googlev1", "mymemory", "glosbe", "promt", "yandex", "googlev2", - "microsoft", "deepl"] + "microsoft", "deepl", "ibm_watson"] def engineDisplayName(name): @@ -50,6 +50,8 @@ return QCoreApplication.translate("TranslatorEngines", "Microsoft") elif name == "deepl": return QCoreApplication.translate("TranslatorEngines", "DeepL") + elif name == "ibm_watson": + return QCoreApplication.translate("TranslatorEngines", "IBM Watson") else: return QCoreApplication.translate( "TranslatorEngines", "Unknow translation service name ({0})")\ @@ -89,6 +91,9 @@ elif name == "deepl": from .DeepLEngine import DeepLEngine engine = DeepLEngine(plugin, parent) + elif name == "ibm_watson": + from .IbmWatsonEngine import IbmWatsonEngine + engine = IbmWatsonEngine(plugin, parent) else: engine = None return engine @@ -126,5 +131,7 @@ return "https://console.developers.google.com/" elif name == "microsoft": return "https://portal.azure.com" + elif name == "ibm_watson": + return "https://www.ibm.com/watson/services/language-translator/" else: return ""
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorRequest.py Sat Jul 07 14:38:13 2018 +0200 @@ -14,12 +14,14 @@ except NameError: pass -from PyQt5.QtCore import qVersion, QObject, QEventLoop, QByteArray +from PyQt5.QtCore import QObject, QEventLoop, QByteArray from PyQt5.QtNetwork import QNetworkAccessManager, QNetworkRequest, \ QNetworkReply from E5Network.E5NetworkProxyFactory import proxyAuthenticationRequired +from Globals import qVersionTuple + class TranslatorRequest(QObject): """ @@ -88,12 +90,13 @@ self.__contentTypes[dataType]) request.setRawHeader(b"Content-Length", QByteArray.number(requestData.size())) - if qVersion() >= "5.6.0": + if qVersionTuple() >= (5, 6, 0): request.setAttribute(QNetworkRequest.FollowRedirectsAttribute, True) if extraHeaders: for name, value in extraHeaders: request.setRawHeader(name, value) + request.setUrl(requestUrl) reply = self.__networkManager.post(request, requestData) if not self.__loop.isRunning(): self.__loop.exec_()
--- a/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py Sat Jul 07 12:58:50 2018 +0200 +++ b/Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py Sat Jul 07 14:38:13 2018 +0200 @@ -96,25 +96,55 @@ Private slot to update the language combo boxes. """ supportedCodes = self.__translationEngine.supportedLanguages() + enabledCodes = self.__plugin.getPreferences("EnabledLanguages") + + # 1. save current selections origLanguage = self.origLanguageComboBox.itemData( self.origLanguageComboBox.currentIndex()) transLanguage = self.transLanguageComboBox.itemData( self.transLanguageComboBox.currentIndex()) + + # 2. reload the original language combo box + self.origLanguageComboBox.blockSignals(True) self.origLanguageComboBox.clear() - self.transLanguageComboBox.clear() - for code in self.__plugin.getPreferences("EnabledLanguages"): + for code in enabledCodes: 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)) + origIndex = self.origLanguageComboBox.findData(origLanguage) + if origIndex == -1: + origIndex = 0 + self.origLanguageComboBox.blockSignals(False) + self.origLanguageComboBox.setCurrentIndex(origIndex) + + # 3. reload the target language combo box, if the target is not + # dependent upon the source language + supportedTargetCodes = \ + self.__translationEngine.supportedTargetLanguages( + self.origLanguageComboBox.itemData( + self.origLanguageComboBox.currentIndex() + ) + ) + if supportedTargetCodes is None: + # supported target codes are independent + self.transLanguageComboBox.clear() + for code in enabledCodes: + if code in supportedCodes: + language = self.__languages.getLanguage(code) + if language: + icon = self.__languages.getLanguageIcon(code) + self.transLanguageComboBox.addItem(icon, language, + code) + self.transLanguageComboBox.model().sort(0) + index = self.transLanguageComboBox.findData(transLanguage) + if index == -1: + index = 0 + self.transLanguageComboBox.setCurrentIndex(index) + else: + self.on_origLanguageComboBox_currentIndexChanged(origIndex) def __updateEngines(self): """ @@ -190,10 +220,22 @@ """ Private slot to swap the languages. """ - oIdx = self.origLanguageComboBox.currentIndex() - self.origLanguageComboBox.setCurrentIndex( + # save selected language codes + oLanguage = self.origLanguageComboBox.itemData( + self.origLanguageComboBox.currentIndex()) + + tLanguage = self.transLanguageComboBox.itemData( self.transLanguageComboBox.currentIndex()) - self.transLanguageComboBox.setCurrentIndex(oIdx) + + oIdx = self.origLanguageComboBox.findData(tLanguage) + if oIdx < 0: + oIdx = 0 + self.origLanguageComboBox.setCurrentIndex(oIdx) + + tIdx = self.transLanguageComboBox.findData(oLanguage) + if tIdx < 0: + tIdx = 0 + self.transLanguageComboBox.setCurrentIndex(tIdx) origText = self.origEdit.toPlainText() self.origEdit.setPlainText(self.transEdit.toPlainText()) @@ -212,10 +254,9 @@ """ Private slot to handle changes of the original text. """ - enable = bool(self.origEdit.toPlainText()) - self.translateButton.setEnabled(enable) self.__updatePronounceButtons() self.__updateClearButton() + self.__updateTranslateButton() @pyqtSlot() def on_transEdit_textChanged(self): @@ -234,6 +275,31 @@ """ self.__plugin.setPreferences( "OriginalLanguage", self.origLanguageComboBox.itemData(index)) + + supportedTargetCodes = \ + self.__translationEngine.supportedTargetLanguages( + self.origLanguageComboBox.itemData(index) + ) + if supportedTargetCodes is not None: + enabledCodes = self.__plugin.getPreferences("EnabledLanguages") + transLanguage = self.transLanguageComboBox.itemData( + self.transLanguageComboBox.currentIndex()) + self.transLanguageComboBox.clear() + if len(supportedTargetCodes) > 0: + for code in enabledCodes: + if code in supportedTargetCodes: + language = self.__languages.getLanguage(code) + if language: + icon = self.__languages.getLanguageIcon(code) + self.transLanguageComboBox.addItem( + icon, language, code) + self.transLanguageComboBox.model().sort(0) + index = self.transLanguageComboBox.findData(transLanguage) + if index == -1: + index = 0 + self.transLanguageComboBox.setCurrentIndex(index) + + self.__updateTranslateButton() @pyqtSlot(int) def on_transLanguageComboBox_currentIndexChanged(self, index): @@ -272,7 +338,10 @@ """ Private slot to set the state of the pronounce buttons. """ - hasTTS = self.__translationEngine.hasTTS() + if self.__translationEngine is not None: + hasTTS = self.__translationEngine.hasTTS() + else: + hasTTS = False self.pronounceOrigButton.setEnabled( hasTTS and bool(self.origEdit.toPlainText())) self.pronounceTransButton.setEnabled( @@ -286,6 +355,14 @@ bool(self.transEdit.toPlainText()) self.clearButton.setEnabled(enable) + def __updateTranslateButton(self): + """ + Private slot to set the state of the translate button. + """ + enable = bool(self.origEdit.toPlainText()) + enable &= bool(self.__translationLanguage()) + self.translateButton.setEnabled(enable) + def __translate(self, text, originalLanguage, translationLanguage): """ Private method to translate the given text.
--- a/changelog Sat Jul 07 12:58:50 2018 +0200 +++ b/changelog Sat Jul 07 14:38:13 2018 +0200 @@ -1,5 +1,10 @@ Change Log ---------- +Version 18.08: +- bug fixes +- Translator + -- added a translation engine for the IBM Watson Language Translator + Version 18.07: - bug fixes - Checkers
--- a/eric6.e4p Sat Jul 07 12:58:50 2018 +0200 +++ b/eric6.e4p Sat Jul 07 14:38:13 2018 +0200 @@ -548,6 +548,7 @@ <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/IbmWatsonEngine.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>
--- a/i18n/eric6_cs.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_cs.ts Sat Jul 07 14:38:13 2018 +0200 @@ -39191,6 +39191,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -73667,12 +73695,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -73928,8 +73956,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -74194,7 +74227,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -74239,7 +74272,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished"></translation> </message> @@ -74249,47 +74282,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -74299,25 +74332,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -74380,12 +74443,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_de.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_de.ts Sat Jul 07 14:38:13 2018 +0200 @@ -38180,6 +38180,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation>Ein gülter 'IBM Watson Language Translator' Schlüssel ist erforderlich.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation>Eine gülte 'IBM Watson Language Translator' URL ist erforderlich.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation>Ungültige Antwort empfangen</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation>Keine Übersetzungen verfügbar.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation>Fehler bei Ermittlung verfügbarer Übersetzungen</translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -72244,12 +72272,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation>Keine Übersetzungen verfügbar</translation> </message> @@ -72462,7 +72490,7 @@ <translation>Yandex</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> <source>Unknow translation service name ({0})</source> <translation>Unbekanter Übersetzungsdienst ({0})</translation> </message> @@ -72481,6 +72509,11 @@ <source>DeepL</source> <translation>DeepL</translation> </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>IBM Watson</source> + <translation>IBM Watson</translation> + </message> </context> <context> <name>TranslatorLanguagesDb</name> @@ -72748,7 +72781,7 @@ <translation>Wörterbuchergebnisse anzeigen</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation>Aktivierte Sprachen</translation> </message> @@ -72773,7 +72806,7 @@ <translation>Standard Setzen</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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> @@ -72783,47 +72816,47 @@ <translation>Auswählen, um Ergebnisse des Übersetzungswörterbuches anzuzeigen</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> <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> + <source>Email:</source> + <translation>Email:</translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="322"/> + <source>Key:</source> + <translation>Schlüssel:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/> <source>Enter your MyMemory key</source> <translation>Gib den MyMemory Schlüssel ein</translation> </message> @@ -72848,24 +72881,54 @@ <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation>Microsoft Azure</translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> + <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="239"/> + <source>Subscription Key:</source> + <translation>Abonnementschlüssel:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> + <source>Enter the subscription key of the text translator service</source> + <translation>Gib den Abonnementschlüssel des Textübersetzungsdienstes ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>IBM Watson</source> + <translation>IBM Watson</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation>URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation>API Schlüssel:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation>Gib den 'IBM Watson Translator' API-Schlüssel ein</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation>Gib die 'IBM Watson Translator' URL ein</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> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation><p>Ein Schlüssel ist für die Nutzung dieses Dienstes <b>erforderlich</b>. <a href="{0}">Bei der IBM Cloud registrieren.</a></p></translation> </message> </context> <context> @@ -72919,7 +72982,7 @@ <translation>Drücken, um den eingegebenen Text zu übersetzen</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation>Übersetzungsfehler</translation> </message> @@ -72929,7 +72992,7 @@ <translation>Wähle den Übersetzungsdienst</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <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>
--- a/i18n/eric6_empty.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_empty.ts Sat Jul 07 14:38:13 2018 +0200 @@ -37949,6 +37949,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -71631,12 +71659,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -71861,8 +71889,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -72127,7 +72160,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -72172,7 +72205,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished"></translation> </message> @@ -72182,47 +72215,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -72232,25 +72265,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -72313,12 +72376,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_en.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_en.ts Sat Jul 07 14:38:13 2018 +0200 @@ -37987,6 +37987,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -71681,12 +71709,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -71896,7 +71924,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> <source>Unknow translation service name ({0})</source> <translation type="unfinished"></translation> </message> @@ -71915,6 +71943,11 @@ <source>DeepL</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorLanguagesDb</name> @@ -72182,7 +72215,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -72207,7 +72240,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>At least two languages should be selected to work correctly.</source> <translation type="unfinished"></translation> </message> @@ -72217,47 +72250,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> <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> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="322"/> + <source>Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/> <source>Enter your MyMemory key</source> <translation type="unfinished"></translation> </message> @@ -72282,23 +72315,53 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> + <source>Microsoft Azure</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> + <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="239"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> + <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="183"/> - <source>Microsoft Azure</source> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</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> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> <translation type="unfinished"></translation> </message> </context> @@ -72353,7 +72416,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> @@ -72363,7 +72426,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_es.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_es.ts Sat Jul 07 14:38:13 2018 +0200 @@ -38182,6 +38182,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished">Recibida respuesta no válida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished">No hay traducción disponible.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -72197,12 +72225,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation>No hay traducción disponible</translation> </message> @@ -72415,7 +72443,7 @@ <translation>Yandex</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> <source>Unknow translation service name ({0})</source> <translation>Nombre de servicio de traducción desconocido ({0})</translation> </message> @@ -72434,6 +72462,11 @@ <source>DeepL</source> <translation>DeepL</translation> </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorLanguagesDb</name> @@ -72701,7 +72734,7 @@ <translation>Mostrar resultados del diccionario</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation>Idiomas Habilitados</translation> </message> @@ -72726,7 +72759,7 @@ <translation>Establecer por defecto</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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> @@ -72736,47 +72769,47 @@ <translation>Establecer para mostrar los resultados del diccionario de traducciones</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> <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> + <source>Email:</source> + <translation>Email:</translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="322"/> + <source>Key:</source> + <translation>Clave:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation>Introducir clave Yandex</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/> <source>Enter your MyMemory key</source> <translation>Introducir clave MyMemory</translation> </message> @@ -72801,24 +72834,54 @@ <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation>Microsoft Azure</translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> + <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="239"/> + <source>Subscription Key:</source> + <translation>Clave de Subscripción:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> + <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> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished">API Key:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</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><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> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -72872,7 +72935,7 @@ <translation>Pulsar para traducir el texto introducido</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation>Error de Traducción</translation> </message> @@ -72882,7 +72945,7 @@ <translation>Seleccionar el servicio de traducción</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <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>
--- a/i18n/eric6_fr.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_fr.ts Sat Jul 07 14:38:13 2018 +0200 @@ -38932,6 +38932,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -73393,12 +73421,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -73653,8 +73681,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -73919,7 +73952,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -73964,7 +73997,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished"></translation> </message> @@ -73974,47 +74007,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -74024,25 +74057,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -74105,12 +74168,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_it.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_it.ts Sat Jul 07 14:38:13 2018 +0200 @@ -38289,6 +38289,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -72299,12 +72327,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -72531,8 +72559,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -72797,7 +72830,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -72842,7 +72875,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished"></translation> </message> @@ -72852,47 +72885,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -72902,25 +72935,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -72983,12 +73046,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_pt.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_pt.ts Sat Jul 07 14:38:13 2018 +0200 @@ -39679,6 +39679,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished">Recibida resposta inválida</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished">Sem tradução disponível.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -73820,12 +73848,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation>Sem tradução disponível</translation> </message> @@ -74040,7 +74068,7 @@ <translation>Yandex</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> <source>Unknow translation service name ({0})</source> <translation>Nome de serviço de tradução desconhecido ({0})</translation> </message> @@ -74059,6 +74087,11 @@ <source>DeepL</source> <translation>DeepL</translation> </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorLanguagesDb</name> @@ -74331,7 +74364,7 @@ <translation>Mostrar resultados do dicionário</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation>Idiomas Habilitados</translation> </message> @@ -74356,7 +74389,7 @@ <translation>Predefinir</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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> @@ -74366,47 +74399,47 @@ <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> <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> + <source>Email:</source> + <translation>Correio eletrónico:</translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="322"/> + <source>Key:</source> + <translation>Chave:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/> <source>Enter your MyMemory key</source> <translation>Introduza a sua chave MyMemory</translation> </message> @@ -74431,23 +74464,53 @@ <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation>Microsoft Azure</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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="239"/> + <source>Subscription Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> + <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> - <source>Subscription Key:</source> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API 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> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> <translation type="unfinished"></translation> </message> </context> @@ -74502,7 +74565,7 @@ <translation>Pressione para traduzir o texto introduzido</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation>Erro de Tradução</translation> </message> @@ -74512,7 +74575,7 @@ <translation>Selecione o serviço de tradução</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <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>
--- a/i18n/eric6_ru.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_ru.ts Sat Jul 07 14:38:13 2018 +0200 @@ -38248,6 +38248,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished">Получен недопустимый ответ</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished">Перевод отсутствует.</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -72394,12 +72422,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation>Нет данных для произношения</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation>Перевод недоступен</translation> </message> @@ -72612,7 +72640,7 @@ <translation>Yandex</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> <source>Unknow translation service name ({0})</source> <translation>Имя неизвестного сервиса перевода ({0})</translation> </message> @@ -72631,6 +72659,11 @@ <source>DeepL</source> <translation>DeepL</translation> </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorLanguagesDb</name> @@ -72898,7 +72931,7 @@ <translation>Показывать словарь результатов</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation>Используемые языки</translation> </message> @@ -72923,7 +72956,7 @@ <translation>Стандартный набор</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>At least two languages should be selected to work correctly.</source> <translation>Для корректной работы должны быть выбраны по крайней мере два языка.</translation> </message> @@ -72933,47 +72966,47 @@ <translation>Разрешить показ словаря результатов перевода</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="216"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> <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> + <source>Email:</source> + <translation>Email:</translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="322"/> + <source>Key:</source> + <translation>Ключ:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation>Введите ваш Yandex ключ</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="266"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="293"/> <source>Enter your MyMemory key</source> <translation>Введите ваш MyMemory ключ</translation> </message> @@ -72998,24 +73031,54 @@ <translation><p>Для использования данного сервиса <b>требуется</b> ключ. <a href="{0}">Получить коммерческий API ключ.</a></p></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation>Microsoft Azure</translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> + <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="239"/> + <source>Subscription Key:</source> + <translation>Ключ подписки:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> + <source>Enter the subscription key of the text translator service</source> + <translation>Введите ключ подписки службы перевода текста</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished">API ключ:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</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><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> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -73069,7 +73132,7 @@ <translation>Перевести введенный текст</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation>Ошибка перевода</translation> </message> @@ -73079,7 +73142,7 @@ <translation>Выбор сервиса перевода</translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation>Выбранный сервис перевода не поддерживает функцию Text-to-Speech.</translation> </message>
--- a/i18n/eric6_tr.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_tr.ts Sat Jul 07 14:38:13 2018 +0200 @@ -39033,6 +39033,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -73296,12 +73324,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -73549,8 +73577,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -73815,7 +73848,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -73860,7 +73893,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished"></translation> </message> @@ -73870,47 +73903,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -73920,25 +73953,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -74001,12 +74064,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>
--- a/i18n/eric6_zh_CN.ts Sat Jul 07 12:58:50 2018 +0200 +++ b/i18n/eric6_zh_CN.ts Sat Jul 07 14:38:13 2018 +0200 @@ -39026,6 +39026,34 @@ </message> </context> <context> + <name>IbmWatsonEngine</name> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="178"/> + <source>A valid IBM Watson Language Translator key is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="187"/> + <source>A valid IBM Watson Language Translator URL is required.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="212"/> + <source>Invalid response received</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>No translation available.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/IbmWatsonEngine.py" line="220"/> + <source>Error Getting Available Translations</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> <name>IconEditorGrid</name> <message> <location filename="../IconEditor/IconEditorGrid.py" line="206"/> @@ -73523,12 +73551,12 @@ <context> <name>TranslationEngine</name> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="67"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="79"/> <source>No pronounce data available</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="82"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/TranslationEngine.py" line="94"/> <source>No translation available</source> <translation type="unfinished"></translation> </message> @@ -73785,8 +73813,13 @@ <translation type="unfinished"></translation> </message> <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="56"/> + <source>Unknow translation service name ({0})</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorEngines/__init__.py" line="54"/> - <source>Unknow translation service name ({0})</source> + <source>IBM Watson</source> <translation type="unfinished"></translation> </message> </context> @@ -74051,7 +74084,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="175"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <source>Enabled Languages</source> <translation type="unfinished"></translation> </message> @@ -74096,7 +74129,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="322"/> <source>Key:</source> <translation type="unfinished">密码:</translation> </message> @@ -74106,47 +74139,47 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="183"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="233"/> <source>Microsoft Azure</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="239"/> <source>Subscription Key:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="246"/> <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> + <source>MyMemory</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="272"/> + <source>Email:</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="279"/> + <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="293"/> + <source>Enter your MyMemory key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="316"/> + <source>Yandex</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="329"/> <source>Enter your Yandex key</source> <translation type="unfinished"></translation> </message> @@ -74156,25 +74189,55 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="50"/> <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>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="59"/> <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"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="189"/> <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="183"/> + <source>IBM Watson</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="189"/> + <source>URL:</source> + <translation type="unfinished">URL:</translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="203"/> + <source>API Key:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="210"/> + <source>Enter your IBM Watson Translator API key</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.ui" line="196"/> + <source>Enter your IBM Watson Translator URL</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Plugins/UiExtensionPlugins/Translator/ConfigurationPage/TranslatorPage.py" line="46"/> + <source><p>A key is <b>required</b> to use this service. <a href="{0}">Register with IBM Cloud.</a></p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>TranslatorPlugin</name> @@ -74237,12 +74300,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="372"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="449"/> <source>Translation Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="354"/> + <location filename="../Plugins/UiExtensionPlugins/Translator/TranslatorWidget.py" line="431"/> <source>The selected translation service does not support the Text-to-Speech function.</source> <translation type="unfinished"></translation> </message>