Implementing "translation in context"

Dashamir Hoxha dashohoxha at
Thu Sep 10 02:14:27 PDT 2015


I have implemented what I call "translation in context" in this application:

It works like this: when the user makes a Ctrl+Click on a string/translation
anywhere on the UI, a browser tab/window is opened automatically
with the correct url in the translation server (web application), where he
give a translation or a new suggestion for the selected string.
Of course, for a normal Click  the UI works as normally it should.

The funny thing is that this is a mobile application and in a mobile
you cannot make a Ctrl+Click. But for translation purposes it can be opened
in a desktop browser. Anyway, it serves to illustrate/demonstrate the idea
of "translation in context" (or whatever it can be called).

The implementation details are not so complicated. This app uses a
gettext-like localization system, where there is a JavaScript function `_()`
that is used to mark the strings that need to be translated, like this:
it returns the corresponding "translation", which is then used in the

I have overridden the function `_()` so that it does not return just the
"translation", but it returns instead a decorated translation like this:

    <span class="gettext" sguid="id-of-the-string">translation</span>


Then I assign with jQuery an event-handler for the event Ctrl+Click
to all the elements of the class "gettext". This event handler gets the
id of the string and opens in a tab the proper URL for translating that
in the translation server.

My question is:
Is it possible to implement something like this for LibreOffice?
I think that it would be a great feature for improving the quality
of translations and for helping users to give feedback and suggestions
to the translators.

I believe that it should be possible, but I don't know the details of the
translation system in LibreOffice. The most difficult part in my opinion
is how to mark (or decorate) the translated string, so that it can respond
to a Ctrl+Click event. Then you can construct the correct url and open it
in browser. It can be designed to work with B-Translator, or Pootle, or
some other online translation system. But maybe it can also work with
local desktop applications like Virtaal, Lokalize, etc.

It seems to me like an interesting and important project, which may also
turn out to be not so difficult to implement.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the LibreOffice mailing list