Implementing "translation in context"
Dashamir Hoxha
dashohoxha at gmail.com
Thu Sep 10 02:14:27 PDT 2015
Hi,
I have implemented what I call "translation in context" in this application:
- http://v.btranslator.org/
- http://v.btranslator.org?proj=ICT_de&lng=de
- http://v.btranslator.org?proj=ICT_fr&lng=fr
- http://v.btranslator.org?proj=ICT_it&lng=it
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
can
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
application
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:
_("string")
it returns the corresponding "translation", which is then used in the
application.
I have overridden the function `_()` so that it does not return just the
plain
"translation", but it returns instead a decorated translation like this:
<span class="gettext" sguid="id-of-the-string">translation</span>
See:
https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L43-L54
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
string
in the translation server.
See:
https://github.com/FreeSoft-AL/vocabulary/blob/gh-pages/js/_app/translate_in_context.js#L82-L98
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.
Regards,
Dashamir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150910/650dd138/attachment.html>
More information about the LibreOffice
mailing list