<div dir="ltr">Hi,<div><br></div><div>I have implemented what I call "translation in context" in this application:</div><div> - <a href="http://v.btranslator.org/">http://v.btranslator.org/</a></div><div> - <a href="http://v.btranslator.org?proj=ICT_de&lng=de">http://v.btranslator.org?proj=ICT_de&lng=de</a></div><div> - <a href="http://v.btranslator.org?proj=ICT_fr&lng=fr">http://v.btranslator.org?proj=ICT_fr&lng=fr</a><br></div><div> - <a href="http://v.btranslator.org?proj=ICT_it&lng=it">http://v.btranslator.org?proj=ICT_it&lng=it</a></div><div><br></div><div><div>It works like this: when the user makes a Ctrl+Click on a string/translation</div><div>anywhere on the UI, a browser tab/window is opened automatically</div><div>with the correct url in the translation server (web application), where he can</div><div>give a translation or a new suggestion for the selected string.</div><div>Of course, for a normal Click  the UI works as normally it should.</div></div><div><br></div><div>The funny thing is that this is a mobile application and in a mobile application</div><div>you cannot make a Ctrl+Click. But for translation purposes it can be opened</div><div>in a desktop browser. Anyway, it serves to illustrate/demonstrate the idea</div><div>of "translation in context" (or whatever it can be called).</div><div><br></div><div>The implementation details are not so complicated. This app uses a</div><div>gettext-like localization system, where there is a JavaScript function `_()`</div><div>that is used to mark the strings that need to be translated, like this: _("string")</div><div>it returns the corresponding "translation", which is then used in the application.</div><div><br></div><div>I have overridden the function `_()` so that it does not return just the plain</div><div>"translation", but it returns instead a decorated translation like this:</div><div><br></div><div>    <span class="gettext" sguid="id-of-the-string">translation</span></div><div><br></div><div>See: <a href="https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L43-L54">https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L43-L54</a></div><div><br></div><div>Then I assign with jQuery an event-handler for the event Ctrl+Click</div><div>to all the elements of the class "gettext". This event handler gets the</div><div>id of the string and opens in a tab the proper URL for translating that string</div><div>in the translation server.</div><div>See: <a href="https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L82-L98">https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L82-L98</a></div><div><br></div><div>My question is:</div><div>Is it possible to implement something like this for LibreOffice?</div><div>I think that it would be a great feature for improving the quality</div><div>of translations and for helping users to give feedback and suggestions</div><div>to the translators.</div><div><br></div><div>I believe that it should be possible, but I don't know the details of the</div><div>translation system in LibreOffice. The most difficult part in my opinion</div><div>is how to mark (or decorate) the translated string, so that it can respond</div><div>to a Ctrl+Click event. Then you can construct the correct url and open it</div><div>in browser. It can be designed to work with B-Translator, or Pootle, or</div><div>some other online translation system. But maybe it can also work with</div><div>local desktop applications like Virtaal, Lokalize, etc.</div><div><br></div><div>It seems to me like an interesting and important project, which may also</div><div>turn out to be not so difficult to implement.</div><div><br></div><div>Regards,</div><div>Dashamir</div><div><br></div></div>