diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-12-30 16:34:56 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-12-30 16:34:56 +0000 |
commit | a3bd0d4f83bf1d2c2e6f60b2bd39f22a655711ac (patch) | |
tree | 00aa1e57c418c8be9ba6307426460222bfa1980e /AppKit/GTMUILocalizer.m | |
parent | 8ff44a626d511444b06e378075e0bbc13e4f6519 (diff) |
[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)
Diffstat (limited to 'AppKit/GTMUILocalizer.m')
-rw-r--r-- | AppKit/GTMUILocalizer.m | 50 |
1 files changed, 25 insertions, 25 deletions
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]; |