Summary: | update-webkit-localizable-strings script can no longer complete | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | John Sullivan <sullivan> | ||||||
Component: | Accessibility | Assignee: | chris fleizach <cfleizach> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Critical | CC: | adele, bdakin, darin | ||||||
Priority: | P1 | Keywords: | InRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.5 | ||||||||
Attachments: |
|
Description
John Sullivan
2009-08-27 17:19:44 PDT
Created attachment 38719 [details]
patch
the patch makes sure that only static strings are used in UI_STRING
Comment on attachment 38719 [details]
patch
I don't understand why these strings should be localized, since they look like technical terms rather than natural language. Can you explain?
those strings are used for NSAccessibilityRoleDescription. From NSAccessibility document. NSAccessibilityRoleDescriptionAttribute Localized, user-readable description of role, such as radio button (NSString) Comment on attachment 38719 [details]
patch
It seems very strange to me to use these computer style strings like ARIAApplicationLog as the group text, and yet ask localizers to translate them.
I'm going to say r=me, because the change seems fine mechanically, but I think you should discuss this with other architects of the VoiceOver application and localization of terms used by it. I am surprised that it's a good idea to include the word "ARIA" in the terms that are spoken aloud.
VoiceOver doesn't actually speak ARIAApplicationLog, it speaks the localized word "log" in this case. ARIAApplicationLog is just the key to find the right word. How does the word "log" get into Localizable.strings? The construct UI_STRING("ARIAApplicationLog", "comment") puts "ARIAApplicationLog" into Localizable.strings. maybe i don't understand something here in the previous check in (r47626) I added these trunk/WebKit/English.lproj/Localizable.strings 445 /* Short descriptions of WAI-ARIA content roles */ 446 "ARIAApplicationLog" = "log"; 447 "ARIAApplicationMarquee" = "marquee"; 448 "ARIAApplicationStatus" = "status"; 449 "ARIAApplicationTimer" = "timer"; 450 "ARIADocument" = "document"; 451 "ARIADocumentArticle" = "article"; 452 "ARIADocumentNote" = "note"; 453 "ARIADocumentRegion" = "region"; 454 "ARIALandmarkApplication" = "application"; 455 "ARIALandmarkBanner" = "banner"; 456 "ARIALandmarkComplementary" = "complementary"; 457 "ARIALandmarkContentInfo" = "content"; 458 "ARIALandmarkMain" = "main"; 459 "ARIALandmarkNavigation" = "navigation"; 460 "ARIALandmarkSearch" = "search"; 461 "ARIAUserInterfaceTooltip" = "tooltip"; Yeah, I think there is a misunderstanding here. In WebKit, Localizable.strings is re-generated automatically by running the script update-webkit-localizable-strings. This script looks through the source code and finds instances of the UI_STRING macro, and then creates entries for them in the Localizable.strings file. Hand-editing the file won't work, because the hand-edited entries will get clobbered the next time the script is run. So the UI_STRING macro must have the English localized string as the first parameter, and the localizer comment as the 2nd parameter. So your patch should look more like this: + if ([ariaType isEqualToString:@"ARIAApplicationLog"]) + return UI_STRING("log", "A description for a specified ARIA grouping role."); + if ([ariaType isEqualToString:@"ARIAApplicationMarquee"]) + return UI_STRING("marquee", "A description for a specified ARIA grouping role."); etc. You should also re-run update-webkit-localizable-strings with this change in place, and make the updated version of Localizable.strings be part of your patch. Comment on attachment 38719 [details]
patch
Changing back to r- given the subsequent discussion.
Thanks for that clarification. I was unaware of the process. Created attachment 38744 [details]
patch
Comment on attachment 38744 [details]
patch
Looks great!
|