On 10 Oct 2012, at 11:45, Ken Thomases <[email protected]> wrote:
> On Oct 10, 2012, at 4:25 AM, Luc Van Bogaert wrote:
>
>> I'm in the process of localising my application, and I'm having a problem
>> getting some of the string resources in my code localised. In several places
>> in my code, I'm using this kind of structure to implement "dynamic" menu
>> items:
>>
>> if (action == @selector(toggleInspectorPanel:)) {
>> if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
>> [(NSMenuItem *)item setTitle:([self isInspectorCollapsed] ?
>> NSLocalizedString(@"Show Inspector Panel", @"Menu item to show
>> the Inspector panel") :
>> NSLocalizedString(@"Hide Inspector Panel", @"Menu item to hide
>> the Inspector panel"))];
>> return ![self.inspectorSplitter isAnimating];
>> }
>>
>> Even though both string resources exist and have been translated in my
>> Localized.strings files, I'm always seeing the original English text when I
>> run my localized application.
>>
>> The exact same problem occurs with string resources that are provided to
>> some control in my interface (eg. e dropdown menu) through a binding:
>>
>> - (NSArray *)startupModeNames
>> {
>> return [NSArray arrayWithObjects:
>> NSLocalizedString(@"Sketch Mode", @"Title for SketchBook startup
>> mode"),
>> NSLocalizedString(@"Design Mode", @"Title for SketchBook startup
>> mode"),
>> NSLocalizedString(@"SketchBook Mode", @"Title for SketchBook
>> startup mode"),
>> nil];
>> }
>>
>> Here also, I'm only seeing the original English text instead of the
>> localized version that's available in the Localized.strings file.
>>
>> All the other string recources in my code get translated correctly.
>> Could anyone please help me find out what it is I'm missing here?
>
> There's nothing special about those uses of NSLocalizedString(), nor anything
> particularly "dynamic". If most of your localized strings are working but
> those aren't, you need to verify your assumptions. Check that your
> Localized.strings files are well-formed and properly encoded (UTF-8 or
> UTF-16). You can use the "plutil" program to check them. Check that the keys
> in the .strings files match the keys you're passing to NSLocalizedString().
> Check that your files don't have some invisible characters embedded in the
> keys, making them not match. Check that the values (the translated strings)
> are really translated and not the untranslated English. Do all of those
> checks on the .string files in your built app, not just the source files.
>
OK, thanks for the assistance and confirming there's nothing wrong with my code.
Adding the strings files to my project in XCode (even though they already
existed in the <lang>.lproj directories) solved the problem.
Thanks again,
--
Luc Van Bogaert
_______________________________________________
Cocoa-dev mailing list ([email protected])
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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]