We pass -AppleLanguages as an argument when launching child processes, but don't do anything when launching services. So, the service just uses system languages, potentially resulting in a mismatch with application language. One specific way this is observable is when running regression tests with non-English primary language - many accessibility tests fail because they get localized strings from accessibility framework. <rdar://problem/13396515> <rdar://problem/16561084>
Created attachment 231777 [details] proposed fix
Comment on attachment 231777 [details] proposed fix View in context: https://bugs.webkit.org/attachment.cgi?id=231777&action=review > Source/WebKit2/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:94 > + [[NSUserDefaults standardUserDefaults] setObject:@[[NSString stringWithUTF8String:localization]] forKey:@"AppleLanguages" inDomain:NSArgumentDomain]; I think we put spaces inside the array literals.
Committed <http://trac.webkit.org/r169122>.
Re-opened since this is blocked by bug 133288
Created attachment 232999 [details] proposed patch
http://trac.webkit.org/changeset/170653