Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to make localizedStringForKey: work in a Foundation Tool?



Hi everybody,

I want to write a Foundation Tool that allows me to get the localized versions of expressions used in Cocoa apps.

For instance, I might want to know what word the Finder uses for "Archive" in the user's current language.

The respective key in the Finder's string tables is "AR40", so basically, the code for this task is:

id bundle = [NSBundle bundleWithPath:@"/System/Library/CoreServices/ Finder.app"];
id string = [bundle localizedStringForKey:@"AR40"] value:nil table:nil];


However, in a Foundation Tool, this code *always* displays the English variant ("Archive"), no matter what the user's preferred language. (Of course, the Finder itself has string files in all languages.)

If you use this code in a Cocoa app, the result is the same *unless* you add resources for languages other than English. Then, all these languages are considered, too, so if the user's preferred language is among them, it will be displayed instead of "Archive".

In other words, [bundle localizedStringForKey:<string>] first and foremost does *not* consider the languages available in bundle, but rather those of its own process. God knows if this is a bug or a feature. :-/


So how can I make a Foundation Tool think it has more languages available than English? Any ideas anyone?




            Bye
                    Uli
________________________________________________________

  Uli Zappe, Solmsstraße 5, D-65189 Wiesbaden, Germany
  http://www.ritual.org
  Fon: +49-700-ULIZAPPE
  Fax: +49-700-ZAPPEFAX
________________________________________________________

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.