Merge pull request #9 from gunyarakun/fix-typo
[cocotron.git] / Foundation / NSOrthography.m
blobbaf0f51b61137d508fba4626e251e90a41cbba55
1 #import <Foundation/NSOrthography.h>
2 #import <Foundation/NSRaise.h>
3 #import <Foundation/NSArray.h>
4 #import <Foundation/NSDictionary.h>
6 @implementation NSOrthography
8 +orthographyWithDominantScript:(NSString *)script languageMap:(NSDictionary *)languageMap {
9     return [[[self alloc] initWithDominantScript:script languageMap:languageMap] autorelease];
12 -initWithDominantScript:(NSString *)script languageMap:(NSDictionary *)languageMap {
13     _dominantScript=[script copy];
14     _languageMap=[languageMap copy];
15     return self;
18 -(void)dealloc {
19     [_dominantScript release];
20     [_languageMap release];
21     [super dealloc];
24 -(NSDictionary *)languageMap {
25     return _languageMap;
28 -(NSArray *)allLanguages {
29    NSMutableArray *result=[NSMutableArray array];
30    
31    for(NSArray *entry in [_languageMap allValues])
32     [result addObjectsFromArray: entry];
33     
34    return result;
37 -(NSArray *)allScripts {
38    return [_languageMap allKeys];
41 -(NSString *)dominantLanguage {
42    NSArray *languages=[_languageMap objectForKey:[self dominantScript]];
43    
44    return [languages count]?[languages objectAtIndex:0]:nil;
47 -(NSString *)dominantScript {
48     return _dominantScript;
51 -(NSString *)dominantLanguageForScript:(NSString *)script {
52    NSArray *languages=[_languageMap objectForKey:[self dominantScript]];
53    
54    return [languages count]?[languages objectAtIndex:0]:nil;
57 -(NSArray *)languagesForScript:(NSString *)script {
58    return [_languageMap objectForKey:script];
61 @end