mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-22 11:55:24 +00:00
Monotone-Parent: 187fad3b4acd4bab3a2b6c286a0f9dc3789c5b83
Monotone-Revision: f37d0868145e5cd1f879ccf7033ca5d1900df42b Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-06-23T14:23:18 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
+39
-13
@@ -1179,31 +1179,57 @@ static NSDictionary *reportMap = nil;
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSArray *) _languagesForLabels
|
||||
{
|
||||
NSMutableArray *languages;
|
||||
NSArray *browserLanguages;
|
||||
NSString *language;
|
||||
NSUserDefaults *ud;
|
||||
|
||||
languages = [NSMutableArray array];
|
||||
|
||||
language = [[context activeUser] language];
|
||||
[languages addObject: language];
|
||||
browserLanguages = [[context request] browserLanguages];
|
||||
[languages addObjectsFromArray: browserLanguages];
|
||||
ud = [NSUserDefaults standardUserDefaults];
|
||||
language = [ud stringForKey: @"SOGoDefaultLanguage"];
|
||||
if (language)
|
||||
[languages addObject: language];
|
||||
[languages addObject: @"English"];
|
||||
|
||||
return languages;
|
||||
}
|
||||
|
||||
- (NSString *) labelForKey: (NSString *) key
|
||||
{
|
||||
NSString *userLanguage, *label;
|
||||
NSString *language, *label;
|
||||
NSArray *paths;
|
||||
NSEnumerator *languages;
|
||||
NSBundle *bundle;
|
||||
NSDictionary *strings;
|
||||
|
||||
label = nil;
|
||||
|
||||
bundle = [NSBundle bundleForClass: [self class]];
|
||||
if (!bundle)
|
||||
bundle = [NSBundle mainBundle];
|
||||
languages = [[self _languagesForLabels] objectEnumerator];
|
||||
|
||||
userLanguage = [[context activeUser] language];
|
||||
paths = [bundle pathsForResourcesOfType: @"strings"
|
||||
inDirectory: [NSString stringWithFormat: @"%@.lproj",
|
||||
userLanguage]
|
||||
forLocalization: userLanguage];
|
||||
if ([paths count] > 0)
|
||||
while (!label && (language = [languages nextObject]))
|
||||
{
|
||||
strings = [NSDictionary
|
||||
dictionaryFromStringsFile: [paths objectAtIndex: 0]];
|
||||
label = [strings objectForKey: key];
|
||||
if (!label)
|
||||
label = key;
|
||||
paths = [bundle pathsForResourcesOfType: @"strings"
|
||||
inDirectory: [NSString stringWithFormat: @"%@.lproj",
|
||||
language]
|
||||
forLocalization: language];
|
||||
if ([paths count] > 0)
|
||||
{
|
||||
strings = [NSDictionary
|
||||
dictionaryFromStringsFile: [paths objectAtIndex: 0]];
|
||||
label = [strings objectForKey: key];
|
||||
}
|
||||
}
|
||||
else
|
||||
if (!label)
|
||||
label = key;
|
||||
|
||||
return label;
|
||||
|
||||
Reference in New Issue
Block a user