On mar, 2011-02-15 at 06:29 +0000, Richard Frith-Macdonald wrote: > On 14 Feb 2011, at 23:53, Germán Arias wrote: > > > On mar, 2011-02-15 at 00:20 +0100, Wolfgang Lux wrote: > >> Germán Arias wrote: > >> > >>> On lun, 2011-02-14 at 21:55 +0100, Wolfgang Lux wrote: > >>>> > >>>> I didn't have a look whether your definition is correct, because it > >>>> is > >>>> simply pointless. The macro _(X) is defined exactly for that purpose > >>>> and it is available in -base (provided the header GNUstepBase/ > >>>> GNUstep.h is included, but this should be the case for > >>>> NSUndoManager). > >>>> Furthermore, make_strings will recognize this macro in contrast to > >>>> your definition, so you could automatically prepare a strings file > >>>> (though -base at present is not prepared to do that). Even without > >>>> that macro, you would be off using NSLocalizedString or > >>>> NSLocalizedStringFromTable rather than reinventing the wheel. > >>>> > >>>> Wolfgang > >>>> > >>> > >>> I tried this (include GNUstepBase/GNUstep.h and use _() ) but don't > >>> works, I get: > >>> > >>> NSUndoManager.m: In function ‘-[NSUndoManager > >>> redoMenuTitleForUndoActionName:]’: > >>> NSUndoManager.m:720: warning: implicit declaration of function > >>> ‘NSLocalizedString’ > >>> NSUndoManager.m:720: warning: return makes pointer from integer > >>> without > >>> a cast > >>> NSUndoManager.m:725: warning: passing argument 1 of > >>> ‘stringWithFormat:’ > >>> makes pointer from integer without a cast > >>> NSUndoManager.m: In function ‘-[NSUndoManager > >>> undoMenuTitleForUndoActionName:]’: > >>> NSUndoManager.m:1001: warning: return makes pointer from integer > >>> without > >>> a cast > >>> NSUndoManager.m:1006: warning: passing argument 1 of > >>> ‘stringWithFormat:’ > >>> makes pointer from integer without a cast > >>> > >>> for this reason I implemented the function GSBaseLocalizedString as > >>> suggested the FIXME note. Maybe there is a bug in NSLocalizedString? > >> > >> This error should tell you that the compiler didn't find the prototype > >> of function NSLocalizedString. Adding #import <Foundation/NSBundle.h> > >> to NSUndoManager fixes that problem. > >> > >> Wolfgang > >> > > > > Well, adding NSBundle compile fine, but there aren't localized strings. > > The menu puts "Undo" and "Redo", even when the localized strings are in > > the Localizable.strings file :( > > That's because, while Wolfgang is right in principle, there was the problem > that the _() macro uses the main bundle to lookup strings. > I changed the code so that, within the base library, the macro is redefined > to use the base library bundle rather than the main bundle > (the redefinition is done in Source/common.h). > The changes are now in svn ... please let me know if that works OK. >
Now works fine, thanks. _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
