Unix Technical Forum

Re: Cleanup for gettext() calls

This is a discussion on Re: Cleanup for gettext() calls within the Pgsql Patches forums, part of the PostgreSQL category; --> Peter Eisentraut wrote: > Bruce Momjian wrote: > > It also adds some missing gettext usage, particularly in src/port ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql Patches

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-18-2008, 12:03 AM
Bruce Momjian
 
Posts: n/a
Default Re: Cleanup for gettext() calls

Peter Eisentraut wrote:
> Bruce Momjian wrote:
> > It also adds some missing gettext usage, particularly in src/port and
> > interfaces/ecpg.

>
> ecpg has no translation support, so that would be pretty pointless.


Well, gettext is coming into ecpglib via a symlink to port/exec.c:

./ecpglib/exec.c: log_error(gettext("could not identify current directory: %s"),

Seems we should enable internationalization for ecpg, at least for the
--help strings and stuff.

Peter says that the gettext() doesn't do anything if it isn't
initialized so I guess exec.c is OK. Does someone want to set up the
proper gettext initialization for ecpg so we can have this for 8.1?
ecpglib needs special library initialization like libpq.

> > I found that perl also defines _(x) so I undefined this in plperl.

>
> That kind of thing was the reason that it wasn't defined globally.


Yea. I have Perl handled. I think we should just do with the _(x) and
if we find problems we can change them to _e(x) or something.

> > Also, what is gettext_noop(x) used for?

>
> It marks strings for translation for the purpose of xgettext but does
> not call gettext because it would not be valid program code at that
> place.


OK I have added a comment to explain this:

/*
* These strings are to be translation via xgettext. We can't
* call gettext() because it is located in variable initialization and
* a function call can not be used.
*/
#define gettext_noop

Thanks.

--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-18-2008, 12:04 AM
Bruce Momjian
 
Posts: n/a
Default Re: Cleanup for gettext() calls

Bruce Momjian wrote:
> Peter Eisentraut wrote:
> > Bruce Momjian wrote:
> > > It also adds some missing gettext usage, particularly in src/port and
> > > interfaces/ecpg.

> >
> > ecpg has no translation support, so that would be pretty pointless.

>
> Well, gettext is coming into ecpglib via a symlink to port/exec.c:
>
> ./ecpglib/exec.c: log_error(gettext("could not identify current directory: %s"),
>
> Seems we should enable internationalization for ecpg, at least for the
> --help strings and stuff.
>
> Peter says that the gettext() doesn't do anything if it isn't
> initialized so I guess exec.c is OK. Does someone want to set up the
> proper gettext initialization for ecpg so we can have this for 8.1?
> ecpglib needs special library initialization like libpq.


I have remove the ecpg part of my patch and added a TODO item for
internationalization of ecpg.

> > > I found that perl also defines _(x) so I undefined this in plperl.

> >
> > That kind of thing was the reason that it wasn't defined globally.

>
> Yea. I have Perl handled. I think we should just do with the _(x) and
> if we find problems we can change them to _e(x) or something.
>
> > > Also, what is gettext_noop(x) used for?

> >
> > It marks strings for translation for the purpose of xgettext but does
> > not call gettext because it would not be valid program code at that
> > place.

>
> OK I have added a comment to explain this:
>
> /*
> * These strings are to be translation via xgettext. We can't
> * call gettext() because it is located in variable initialization and
> * a function call can not be used.
> */
> #define gettext_noop
>
> Thanks.


Patch applied to use the _() macro consistently, and added the macro
around some strings that were missing them.

--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:39 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com