Skip to content

Commit a6ae102

Browse files
committed
DTLocalizableStringTable: Added 'writeAsStringEncoding:error:entryWriteCallback:' method
1 parent ace9543 commit a6ae102

File tree

2 files changed

+20
-13
lines changed

2 files changed

+20
-13
lines changed

Core/Source/DTLocalizableStringTable.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ typedef void(^DTLocalizableStringEntryWriteCallback)(DTLocalizableStringEntry *)
2121

2222
- (void)addEntry:(DTLocalizableStringEntry *)entry;
2323

24+
- (NSString*)writeAsStringEncoding:(NSStringEncoding)encoding error:(NSError **)error entryWriteCallback:(DTLocalizableStringEntryWriteCallback)entryWriteCallback;
2425
- (BOOL)writeToFolderAtURL:(NSURL *)url encoding:(NSStringEncoding)encoding error:(NSError **)error entryWriteCallback:(DTLocalizableStringEntryWriteCallback)entryWriteCallback;
2526

2627
@end

Core/Source/DTLocalizableStringTable.m

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,14 @@ - (void)addEntry:(DTLocalizableStringEntry *)entry
7575
[_entryIndexByKey setObject:entry forKey:entry.rawKey];
7676
}
7777

78-
- (BOOL)writeToFolderAtURL:(NSURL *)url encoding:(NSStringEncoding)encoding error:(NSError **)error entryWriteCallback:(DTLocalizableStringEntryWriteCallback)entryWriteCallback;
78+
- (NSString*)writeAsStringEncoding:(NSStringEncoding)encoding error:(NSError **)error entryWriteCallback:(DTLocalizableStringEntryWriteCallback)entryWriteCallback
7979
{
80-
NSString *fileName = [_name stringByAppendingPathExtension:@"strings"];
81-
NSString *tablePath = [[url path] stringByAppendingPathComponent:fileName];
82-
NSURL *tableURL = [NSURL fileURLWithPath:tablePath];
83-
84-
if (!tableURL)
85-
{
86-
// this must be junk
87-
return NO;
88-
}
89-
90-
NSArray *sortedEntries = [_entries sortedArrayUsingSelector:@selector(compare:)];
80+
NSArray *sortedEntries = [_entries sortedArrayUsingSelector:@selector(compare:)];
9181

9282
NSMutableString *tmpString = [NSMutableString string];
9383

9484
for (DTLocalizableStringEntry *entry in sortedEntries)
9585
{
96-
9786
NSString *key = [entry rawKey];
9887
NSString *value = [entry rawValue];
9988

@@ -138,6 +127,23 @@ - (BOOL)writeToFolderAtURL:(NSURL *)url encoding:(NSStringEncoding)encoding erro
138127

139128
[tmpString appendString:@"\n"];
140129
}
130+
131+
return [NSString stringWithString:tmpString];
132+
}
133+
134+
- (BOOL)writeToFolderAtURL:(NSURL *)url encoding:(NSStringEncoding)encoding error:(NSError **)error entryWriteCallback:(DTLocalizableStringEntryWriteCallback)entryWriteCallback;
135+
{
136+
NSString *fileName = [_name stringByAppendingPathExtension:@"strings"];
137+
NSString *tablePath = [[url path] stringByAppendingPathComponent:fileName];
138+
NSURL *tableURL = [NSURL fileURLWithPath:tablePath];
139+
140+
if (!tableURL)
141+
{
142+
// this must be junk
143+
return NO;
144+
}
145+
146+
NSString *tmpString = [self writeAsStringEncoding:encoding error:error entryWriteCallback:entryWriteCallback];
141147

142148
return [tmpString writeToURL:tableURL
143149
atomically:YES

0 commit comments

Comments
 (0)