On Wed, Sep 17, 2003 at 02:15:35PM +0100, Angus Leeming spake thusly: > > Martin Vermeer wrote:
...
> >
> > Like this?
>
> No, because this is code executed when the xformsBC constructor is
> invoked.
> xformsBC(ButtonController const &,
> - string const & = _("Cancel"), string const & = _("Close"));
> + string const & = N_("Cancel"), string const & = N_("Close"));
>
> ie
> void foo() {
> ButtonController const & bc = ...;
> xformsBC xbc(bc);
> }
> will result in calls to the 'string const _(string const &);'
> function, passing args "Cancel" and "Close".
>
> To continue. This results in output to screen of 'hello'
>
> string str = _("hello");
> void foo() {
> std::cout << str << std::endl;
> }
>
> For reasons I don't follow, _(...) does not work on static strings.
>
>
> This will also output 'hello'
>
> string str = "hello";
> void foo() {
> std::cout << _(str) << std::endl;
> }
>
> The scripts that extract the string for translation in the po
> database won't find the contents of str.
>
> This, however, will print out 'bonjour' if LANG=fr_FR and a .gmo
> file existed
> string str = N_("hello");
> void foo() {
> std::cout << _(str) << std::endl;
> }
>
> D'ya follow?
> N_(...) is simply an identifier used to extract the translatable
> strings by the po scripts. Someone comes along and fills in the
> translation. Thereater _("hello") will result in the gettext
> machinary finding the translation for "hello" and returning that as
> the output from _(...).
>
>
> Angus
Yes, I know how gettext works -- I did the first Dutch and Finnish
translations remember? But I still don't get what Lars wanted
me to do. Please bend it in copperwire for me. Remember I'm a little
dumb :-)
- Martin
pgp00000.pgp
Description: PGP signature
