Skip to content

Commit

Permalink
import and exports correctly
Browse files Browse the repository at this point in the history
  • Loading branch information
cescofry committed Jul 17, 2013
1 parent dd3432d commit fa16d25
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Strings/ZFLangFile.m
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ - (id)initWithURL:(NSURL *)url {
translations = [converter translationsForXMLAtURL:url];
break;
case ZFLangTypeCSV:
translations = [converter translationsFromCSVAtURL:url];
translations = [converter translationsFromCSVAtURL:url idiom:lang];
break;
default:
break;
Expand Down
1 change: 1 addition & 0 deletions Strings/ZFStringScanner.m
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ - (void)importCSVAtURL:(NSURL *)URL {
[self.files enumerateObjectsUsingBlock:^(ZFTranslationFile *file, NSUInteger idx, BOOL *stop) {
[file.languages enumerateObjectsUsingBlock:^(ZFLangFile *original, NSUInteger idx, BOOL *stop) {
if (![original isEqual:lang]) return;
if (![original.idiom isEqual:lang.idiom]) return;

// Found, now substitute
[lang.translations enumerateObjectsUsingBlock:^(ZFTranslationLine *line, NSUInteger idx, BOOL *stop) {
Expand Down
2 changes: 1 addition & 1 deletion Strings/ZFStringsConverter.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

// CSV
- (NSString *)csvFromFromLang:(ZFLangFile *)file defaultLang:(ZFLangFile *)defaultFile missingOnly:(BOOL)isMissingOnly;
- (NSArray *)translationsFromCSVAtURL:(NSURL *)stringsURL;
- (NSArray *)translationsFromCSVAtURL:(NSURL *)stringsURL idiom:(NSString *)idiom;

- (NSString *)convertFormatForString:(NSString *)input isFromIOS:(BOOL)isFromIOS;

Expand Down
26 changes: 12 additions & 14 deletions Strings/ZFStringsConverter.m
Original file line number Diff line number Diff line change
Expand Up @@ -303,37 +303,35 @@ - (NSString *)csvFromFromLang:(ZFLangFile *)file defaultLang:(ZFLangFile *)defau
return csvString;
}

- (NSArray *)translationsFromCSVAtURL:(NSURL *)stringsURL {
- (NSArray *)translationsFromCSVAtURL:(NSURL *)stringsURL idiom:(NSString *)idiom {
if (!stringsURL) return nil;


NSArray *allComponents = [NSArray arrayWithContentsOfCSVFile:stringsURL.path options:CHCSVParserOptionsSanitizesFields];
NSArray *allComponents = [NSArray arrayWithContentsOfCSVFile:stringsURL.path options:CHCSVParserOptionsSanitizesFields|CHCSVParserOptionsFirstLineAsKeys];

NSMutableArray *translations = [NSMutableArray array];
__block NSRange range;
[allComponents enumerateObjectsUsingBlock:^(NSArray *components, NSUInteger idx, BOOL *stop) {
NSInteger count = [components count];
if (count == 0) return;
NSString *key = [components objectAtIndex:0];
[allComponents enumerateObjectsUsingBlock:^(NSDictionary *dict, NSUInteger idx, BOOL *stop) {
if ([[dict allKeys] count] == 0) return;

NSString *key = [dict objectForKey:@"keys"];
if (key.length == 0) return;

ZFTranslationLine *line = [ZFTranslationLine line];
[line setKey:key];

NSString *value = @"";
if (count > 1) {
value = [components objectAtIndex:1];
NSString *value = [dict objectForKey:idiom];
if (value.length > 0) {
value = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
[line setValue:value];
}
else {
[line setType:ZFTranslationLineTypeUntranslated];
}
else [line setType:ZFTranslationLineTypeUntranslated];

[line setPosition:idx];


range.location += range.length;
range.length = (key.length + value.length);
if (value) range.length = (key.length + value.length);

[line setRange:range];

[translations addObject:line];
Expand Down

0 comments on commit fa16d25

Please sign in to comment.