From a3bd0d4f83bf1d2c2e6f60b2bd39f22a655711ac Mon Sep 17 00:00:00 2001 From: "gtm.daemon" Date: Wed, 30 Dec 2009 16:34:56 +0000 Subject: [Author: avi] Since we can't localize the AXDescription on elements, we shouldn't even try. R=dmaclach,thomasvl DELTA=55 (28 added, 20 deleted, 7 changed) --- AppKit/GTMUILocalizer.m | 50 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'AppKit/GTMUILocalizer.m') diff --git a/AppKit/GTMUILocalizer.m b/AppKit/GTMUILocalizer.m index 72c0b9d..eb3c8c4 100644 --- a/AppKit/GTMUILocalizer.m +++ b/AppKit/GTMUILocalizer.m @@ -161,32 +161,13 @@ } } - // Then do accessibility stuff - NSArray *supportedAttrs = [view accessibilityAttributeNames]; - if ([supportedAttrs containsObject:NSAccessibilityHelpAttribute]) { - NSString *accessibilityHelp - = [view accessibilityAttributeValue:NSAccessibilityHelpAttribute]; - if (accessibilityHelp) { - NSString *localizedAccessibilityHelp - = [self localizedStringForString:accessibilityHelp]; - if (localizedAccessibilityHelp) { - [view accessibilitySetValue:localizedAccessibilityHelp - forAttribute:NSAccessibilityHelpAttribute]; - } - } - } + // Then do accessibility both on views directly... + [self localizeAccessibility:view]; - if ([supportedAttrs containsObject:NSAccessibilityDescriptionAttribute]) { - NSString *accessibilityDesc - = [view accessibilityAttributeValue:NSAccessibilityDescriptionAttribute]; - if (accessibilityDesc) { - NSString *localizedAccessibilityDesc - = [self localizedStringForString:accessibilityDesc]; - if (localizedAccessibilityDesc) { - [view accessibilitySetValue:localizedAccessibilityDesc - forAttribute:NSAccessibilityDescriptionAttribute]; - } - } + // ...and on control cells (which implement accessibility for the controls + // that contain them) + if ([view isKindOfClass:[NSControl class]]) { + [self localizeAccessibility:[(NSControl *)view cell]]; } // Must do the menu before the titles, or else this will screw up @@ -282,6 +263,25 @@ } } +- (void)localizeAccessibility:(id)object { + NSArray *supportedAttrs = [object accessibilityAttributeNames]; + if ([supportedAttrs containsObject:NSAccessibilityHelpAttribute]) { + NSString *accessibilityHelp + = [object accessibilityAttributeValue:NSAccessibilityHelpAttribute]; + if (accessibilityHelp) { + NSString *localizedAccessibilityHelp + = [self localizedStringForString:accessibilityHelp]; + if (localizedAccessibilityHelp) { + [object accessibilitySetValue:localizedAccessibilityHelp + forAttribute:NSAccessibilityHelpAttribute]; + } + } + } + + // We cannot do the same thing with NSAccessibilityDescriptionAttribute; see + // the links in the header file for more details. +} + - (void)localizeMenu:(NSMenu *)menu recursively:(BOOL)recursive { if (menu) { NSString *title = [menu title]; -- cgit v1.2.3