From 44a0deb6611cd37da1ece636e31d60db7f8db305 Mon Sep 17 00:00:00 2001 From: alexm Date: Sat, 28 Jun 2003 13:58:33 +0000 Subject: [PATCH] Clean up handling of key matching and ignoring. Add --aggressive-remove option. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17062 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 7 +++ Tools/make_strings/StringsFile.h | 12 ++++- Tools/make_strings/StringsFile.m | 86 ++++++++++++++++++++++--------- Tools/make_strings/make_strings.h | 2 +- Tools/make_strings/make_strings.m | 9 +++- 5 files changed, 88 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index f8fee581e..ab02d20d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2003-06-28 15:48 Alexander Malmberg + + * Tools/make_strings/StringsFile.h, Tools/make_strings/StringsFile.m, + Tools/make_strings/make_strings.h, Tools/make_strings/make_strings.m: + Clean up handling of key matching and ignoring. Add + --aggressive-remove option. + 2003-06-28 Richard Frith-Macdonald * Source/NSBundle.m: Don't NSLog when we can't find a localizable diff --git a/Tools/make_strings/StringsFile.h b/Tools/make_strings/StringsFile.h index 4dd68c027..b376e1e5e 100644 --- a/Tools/make_strings/StringsFile.h +++ b/Tools/make_strings/StringsFile.h @@ -27,8 +27,16 @@ @interface StringsFile : NSObject { - NSMutableArray *strings; - NSString *global_comment; +@public + NSMutableArray *strings; + NSString *global_comment; + +@private + /** These are used for aggressive matching **/ + /* Contains all keys for which there is a translation */ + NSMutableArray *keys_translated; + /* Contains all keys that appeared in the source */ + NSMutableArray *keys_matched; } - init; diff --git a/Tools/make_strings/StringsFile.m b/Tools/make_strings/StringsFile.m index 2b543d5fc..370ef2e44 100644 --- a/Tools/make_strings/StringsFile.m +++ b/Tools/make_strings/StringsFile.m @@ -69,14 +69,39 @@ static NSString *parse_string(NSString **ptr) #define DUMMY @"" -#define DUMMY2 @"" @implementation StringsFile +-(BOOL) isTranslated: (NSString *)key +{ + return [keys_translated containsObject: key]; +} + +-(void) addTranslated: (NSString *)key +{ + if (![self isTranslated: key]) + [keys_translated addObject: key]; +} + + +-(BOOL) isMatched: (NSString *)key +{ + return [keys_matched containsObject: key]; +} + +-(void) addMatched: (NSString *)key +{ + if (![self isMatched: key]) + [keys_matched addObject: key]; +} + + - init { self=[super init]; strings=[[NSMutableArray alloc] init]; + keys_translated=[[NSMutableArray alloc] init]; + keys_matched=[[NSMutableArray alloc] init]; return self; } @@ -132,7 +157,7 @@ static NSString *parse_string(NSString **ptr) else if ([l hasPrefix: @" File: "]) { se=[[StringsEntry alloc] init]; - [se addFlag: FLAG_UNMATCHED]; + [se addFlag: FLAG_UNMATCHED]; /* TODO: ? */ [update_list addObject: se]; [se release]; @@ -212,13 +237,21 @@ static NSString *parse_string(NSString **ptr) [update_list makeObjectsPerformSelector: @selector(setKey:) withObject: key]; [update_list makeObjectsPerformSelector: @selector(setTranslated:) withObject: trans]; - /* { - int i,c=[update_list count]; - for (i=0;i