[Libreoffice] Gettext patch
timar74 at gmail.com
Tue Jun 21 04:13:30 PDT 2011
2011/6/21 Michael Meeks <michael.meeks at novell.com>:
> On Tue, 2011-06-21 at 11:43 +0200, Andras Timar wrote:
>> + OSL_TRACE( "bindtextdomain(): %s -> %s\n", pPrefixName, p );
>> + textdomain( pPrefixName );
> Instead of calling textdomain - since (I suspect) we can probably call
> lots of these resource mgrs in quick succession - eg. initializing an
> sw/ widget derived from sfx2/ from vcl/ - I suggest we drop the
> textdomain() call - and store a const char *pDomain; that is a UTF8 copy
> of aPrefix (on InternalResMgr if I see right).
As far I can tell from the OSL_TRACE messages, textdomain() is called
only once for each resource domain. I think resources are read when
needed and they are stored in memory until application closes.
> I wonder if we want to introduce gettext as an internal /
> self-built & packaged dependency on Windows - or whether this is a
> linux-only / translators-only feature ?
Oh, yes, let's discuss this now because it affects design. I think
Bjoern was thinking about Linux only so they could release translation
updates for LibreOffice in Ubuntu without rebuilding the source. I
thought it was a multi platform feature because all platforms could
benefit from separation of localization and building. Also build time
would decrease because localized .res files should not be built and
po2oo script would run on less files (I don't think we can use gettext
in Windows installer so scp2 and instasetoo_native strings would still
use the old method).
> Clearly we want to special case it only for the case that there is no
> native translation.
What do you mean by that? Fallback to gettext when no native resources
are installed? Yes, this way we can add a language to an existing
installation. Is that worth the effort?
> As for .xcd file processing, I guess that happens in filter/ somewhere,
> and the config files in configmgr/
> Quite possibly we want some sal/ abstraction for the gettext stuff,
> such that we can do the linking changes in one place, once rather than
> linking gettext with its hooks into everywhere :-) (?)
Everywhere means 2 libs only: tl and the other one which processes .xcd files.
More information about the LibreOffice