aboutsummaryrefslogtreecommitdiff
path: root/AppKit/GTMUILocalizer.m
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-12-30 16:34:56 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-12-30 16:34:56 +0000
commita3bd0d4f83bf1d2c2e6f60b2bd39f22a655711ac (patch)
tree00aa1e57c418c8be9ba6307426460222bfa1980e /AppKit/GTMUILocalizer.m
parent8ff44a626d511444b06e378075e0bbc13e4f6519 (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.m50
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];