• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How well can genstrings process indirect names?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How well can genstrings process indirect names?


  • Subject: Re: How well can genstrings process indirect names?
  • From: Ken Thomases <email@hidden>
  • Date: Tue, 05 Aug 2014 17:15:13 -0500

On Aug 5, 2014, at 5:03 PM, Daryle Walker <email@hidden> wrote:

> If I change my localizable code from NSLocalizedString(@“My Key”, @“My Comment”) to NSLocalizedStringFromTable(@“My Key”, @“My Table”, @“My Comment”), can I use the class name as the table name via a macro? If I have a object type “MyClass" in “MyClass.m," do I have to use @“MyClass” directly, or can I hide it between a macro constant? A macro function? A full-blown Objective-C expression? Is the genstrings program smart enough to handle "NSStringFromClass([self class])"?

I don't believe it will do any of those things.  It doesn't preprocess your code, let alone compile it or run it.  The expression [self class] is a run-time expression.  It doesn't even reliably correspond to MyClass just because it's in a method defined on MyClass.  That method may have been invoked on an instance of a subclass, for example.

genstrings is a pretty "dumb" text processor.  Among other things, it will find uses of NSLocalizedString and friends inside of comments, which is a useful feature.

You have to use string literals.  (For some things, like the comment parameter, it actually doesn't even matter if it's a C string literal or an Objective-C string literal.)  I haven't tested but, if you use a macro, it would either ignore that instance of NSLocalizedStringFromTable as one it doesn't understand or, possibly, it would treat the macro _name_ as the table name.

Regards,
Ken


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >How well can genstrings process indirect names? (From: Daryle Walker <email@hidden>)

  • Prev by Date: Re: NSPredicate format strings: How to quote a space in a key path?
  • Next by Date: Re: NSPredicate format strings: How to quote a space in a key path?
  • Previous by thread: How well can genstrings process indirect names?
  • Next by thread: How do I hide/show a status bar?
  • Index(es):
    • Date
    • Thread