diff --git a/Espagram.xcodeproj/project.pbxproj b/Espagram.xcodeproj/project.pbxproj index cb613aa..8851287 100644 --- a/Espagram.xcodeproj/project.pbxproj +++ b/Espagram.xcodeproj/project.pbxproj @@ -56,6 +56,8 @@ B581EA03168E3037005D9936 /* check_box.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA02168E3037005D9936 /* check_box.png */; }; B581EA05168E3099005D9936 /* check_box-1.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA04168E3099005D9936 /* check_box-1.png */; }; B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */ = {isa = PBXBuildFile; fileRef = B581EA07169B351A005D9936 /* TestResult+Create.m */; }; + B581EA0E169DA304005D9936 /* EspagramTypingTestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */; }; + B581EA10169DD28F005D9936 /* tabbar_typing.png in Resources */ = {isa = PBXBuildFile; fileRef = B581EA0F169DD28F005D9936 /* tabbar_typing.png */; }; B5A8BB191651A64300C1CC00 /* CoreDataTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */; }; B5B3F92D165972EF00E26A40 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = B5B3F92F165972EF00E26A40 /* Localizable.strings */; }; B5B3F93516602C7C00E26A40 /* Verb.m in Sources */ = {isa = PBXBuildFile; fileRef = B5B3F93416602C7B00E26A40 /* Verb.m */; }; @@ -144,6 +146,9 @@ B581EA04168E3099005D9936 /* check_box-1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "check_box-1.png"; sourceTree = ""; }; B581EA06169B351A005D9936 /* TestResult+Create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TestResult+Create.h"; sourceTree = ""; }; B581EA07169B351A005D9936 /* TestResult+Create.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "TestResult+Create.m"; sourceTree = ""; }; + B581EA0C169DA303005D9936 /* EspagramTypingTestViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EspagramTypingTestViewController.h; sourceTree = ""; }; + B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EspagramTypingTestViewController.m; sourceTree = ""; }; + B581EA0F169DD28F005D9936 /* tabbar_typing.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tabbar_typing.png; sourceTree = ""; }; B58F57661635D27E00CED51B /* Conjugator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Conjugator.h; sourceTree = ""; }; B58F576D16387BE600CED51B /* NSMutableArray_Shuffling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = NSMutableArray_Shuffling.h; path = Espagram/NSMutableArray_Shuffling.h; sourceTree = ""; }; B5A8BB171651A3E700C1CC00 /* CoreDataTableViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CoreDataTableViewController.h; sourceTree = ""; }; @@ -225,6 +230,8 @@ B5A8BB181651A3E700C1CC00 /* CoreDataTableViewController.m */, B506EC7115EBF67500566A27 /* EspagramAppDelegate.h */, B506EC7415EBF67500566A27 /* MainStoryboard.storyboard */, + B581EA0C169DA303005D9936 /* EspagramTypingTestViewController.h */, + B581EA0D169DA304005D9936 /* EspagramTypingTestViewController.m */, B56DE15E165426B800D85DD3 /* EspagramAddWordToLessonViewController.h */, B56DE15F165426B800D85DD3 /* EspagramAddWordToLessonViewController.m */, B56DE15A165412DF00D85DD3 /* EspagramWordsInLessonViewController.h */, @@ -285,6 +292,7 @@ B581E9D2168DC759005D9936 /* Images */ = { isa = PBXGroup; children = ( + B581EA0F169DD28F005D9936 /* tabbar_typing.png */, B581EA04168E3099005D9936 /* check_box-1.png */, B581EA02168E3037005D9936 /* check_box.png */, B581EA00168E21C2005D9936 /* tabbar_list.png */, @@ -394,6 +402,7 @@ B581EA01168E21C2005D9936 /* tabbar_list.png in Resources */, B581EA03168E3037005D9936 /* check_box.png in Resources */, B581EA05168E3099005D9936 /* check_box-1.png in Resources */, + B581EA10169DD28F005D9936 /* tabbar_typing.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -427,6 +436,7 @@ B5B3F93816602C7D00E26A40 /* TestResult.m in Sources */, B5B3F93B16602C7E00E26A40 /* Lesson.m in Sources */, B581EA08169B351A005D9936 /* TestResult+Create.m in Sources */, + B581EA0E169DA304005D9936 /* EspagramTypingTestViewController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Espagram.xcodeproj/project.xcworkspace/xcuserdata/abel.xcuserdatad/UserInterfaceState.xcuserstate b/Espagram.xcodeproj/project.xcworkspace/xcuserdata/abel.xcuserdatad/UserInterfaceState.xcuserstate index dda7188..9d24427 100644 Binary files a/Espagram.xcodeproj/project.xcworkspace/xcuserdata/abel.xcuserdatad/UserInterfaceState.xcuserstate and b/Espagram.xcodeproj/project.xcworkspace/xcuserdata/abel.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Espagram.xcodeproj/xcuserdata/abel.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/Espagram.xcodeproj/xcuserdata/abel.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist index c499dee..ece8f04 100644 --- a/Espagram.xcodeproj/xcuserdata/abel.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ b/Espagram.xcodeproj/xcuserdata/abel.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -162,11 +162,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272741.598802" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "127" - endingLineNumber = "127" + startingLineNumber = "123" + endingLineNumber = "123" landmarkName = "-nextVerb" landmarkType = "5"> @@ -188,11 +188,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272885.813565" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "169" - endingLineNumber = "169" + startingLineNumber = "165" + endingLineNumber = "165" landmarkName = "-nextVerb" landmarkType = "5"> @@ -201,11 +201,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272741.598802" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "59" - endingLineNumber = "59" + startingLineNumber = "55" + endingLineNumber = "55" landmarkName = "-answered:" landmarkType = "5"> @@ -214,11 +214,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272741.598802" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "108" - endingLineNumber = "108" + startingLineNumber = "104" + endingLineNumber = "104" landmarkName = "-setUIButtonTitle:withText:inColour:forState:" landmarkType = "5"> @@ -227,11 +227,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272741.598802" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "92" - endingLineNumber = "92" + startingLineNumber = "88" + endingLineNumber = "88" landmarkName = "-setAnswerButton:withAnswer:andCorrect:" landmarkType = "5"> @@ -240,11 +240,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272741.598802" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "102" - endingLineNumber = "102" + startingLineNumber = "98" + endingLineNumber = "98" landmarkName = "-setUIButtonTitle:withText:inColour:forState:" landmarkType = "5"> @@ -305,11 +305,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272885.813565" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "155" - endingLineNumber = "155" + startingLineNumber = "151" + endingLineNumber = "151" landmarkName = "-nextVerb" landmarkType = "5"> @@ -864,11 +864,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "Espagram/EspagramTestViewController.m" - timestampString = "379272885.813565" + timestampString = "379432647.778233" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "130" - endingLineNumber = "130" + startingLineNumber = "126" + endingLineNumber = "126" landmarkName = "-nextVerb" landmarkType = "5"> @@ -885,5 +885,18 @@ landmarkName = "+addTestableVerbResult:withTestType:" landmarkType = "5"> + + diff --git a/Espagram/Espagram-Info.plist b/Espagram/Espagram-Info.plist index bfbb7a1..2bb8cb3 100644 --- a/Espagram/Espagram-Info.plist +++ b/Espagram/Espagram-Info.plist @@ -37,11 +37,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.1 + 1.2 CFBundleSignature ???? CFBundleVersion - 1.1 + 1.2 LSApplicationCategoryType LSRequiresIPhoneOS diff --git a/Espagram/EspagramLessonViewController.m b/Espagram/EspagramLessonViewController.m index e355a36..44c5ee7 100644 --- a/Espagram/EspagramLessonViewController.m +++ b/Espagram/EspagramLessonViewController.m @@ -276,13 +276,19 @@ didSelectViewController:(UIViewController *)viewController { [tabItem setEnabled:false]; } } - - NSLog(@"Count viewControllers: %d", [self.tabBarController viewControllers].count); for ( id vc in [self.tabBarController viewControllers] ) { - if ( [vc respondsToSelector:@selector(setLesson:)]) { - [vc setLesson:self.lesson]; - } + if ( [vc respondsToSelector:@selector(setLesson:)]) { + [vc setLesson:self.lesson]; + } + UIViewController *tvc= (UIViewController *)vc; + NSLog(@"title = %@",tvc.title); + if ( [tvc.title isEqualToString:@"Verb"]) + tvc.title = NSLocalizedString(@"Verbs List",@"List of verbs"); + else if ( [tvc.title isEqualToString:@"Multiple Choice"]) + tvc.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test"); + else if ( [tvc.title isEqualToString:@"Typing Test"]) + tvc.title = NSLocalizedString(@"Typing", @"Typing test"); } } diff --git a/Espagram/EspagramTestViewController.m b/Espagram/EspagramTestViewController.m index 1e3a393..170d7de 100644 --- a/Espagram/EspagramTestViewController.m +++ b/Espagram/EspagramTestViewController.m @@ -46,10 +46,6 @@ return _testSet; }; -- (IBAction)EditingDidEnd:(UITextField *)sender { - [self resignFirstResponder]; -} - - (IBAction)answered:(UIButton *)sender { @@ -187,11 +183,12 @@ { [super viewWillAppear:animated]; + self.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test"); + self.nextButton.titleLabel.text = NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb"); [self.nextButton setTitle:NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb") forState:UIControlStateNormal]; - self.title = NSLocalizedString(@"Multiple Choice",@"Multiple Choice test"); if ( [self.testSet count] > 0) { [self nextVerb]; diff --git a/Espagram/EspagramTypingTestViewController.h b/Espagram/EspagramTypingTestViewController.h new file mode 100644 index 0000000..89190bd --- /dev/null +++ b/Espagram/EspagramTypingTestViewController.h @@ -0,0 +1,34 @@ +// +// EspagramTypingTestViewController.h +// Espagram +// +// Created by Abel Fokkinga on 1/9/13. +// Copyright (c) 2013 Abel Fokkinga. All rights reserved. +// + +#import +#import "Conjugator.h" +#import "EspagramLessonTesting.h" +#import "EspagramConjugationTableViewController.h" +#import "Lesson+Conjugator.h" +#import "Lesson+Test.h" +#import "Verb.h" + +@interface EspagramTypingTestViewController : UIViewController + + +@property (weak, nonatomic) IBOutlet UILabel *testedVerbLabel; + +@property (weak, nonatomic) IBOutlet UILabel *verbMeaningLable; + +@property (weak, nonatomic) IBOutlet UILabel *verbPersonLabel; + +@property (weak, nonatomic) IBOutlet UIButton *nextButton; + +@property (weak, nonatomic) IBOutlet UIButton *checkAnswerButton; + +@property (weak, nonatomic) IBOutlet UIButton *showAnswerButton; + +@property (weak, nonatomic) IBOutlet UITextField *verbAnswerTextField; + +@end diff --git a/Espagram/EspagramTypingTestViewController.m b/Espagram/EspagramTypingTestViewController.m new file mode 100644 index 0000000..2a4ebb3 --- /dev/null +++ b/Espagram/EspagramTypingTestViewController.m @@ -0,0 +1,204 @@ +// +// EspagramTypingTestViewController.m +// Espagram +// +// Created by Abel Fokkinga on 1/9/13. +// Copyright (c) 2013 Abel Fokkinga. All rights reserved. +// + +#import "EspagramTypingTestViewController.h" +#import "TestResult+Create.h" +#import "NSMutableArray_Shuffling.h" + +@interface EspagramTypingTestViewController () + +@property (nonatomic, strong) NSMutableArray * testSet; +@property (nonatomic, strong) TestableVerb * currentVerb; +@property (nonatomic) int correctAnswersInCurrentSet; +@property (nonatomic) int wrongAnswersInCurrentSet; + +@end + +@implementation EspagramTypingTestViewController + +@synthesize lesson = _lesson; +@synthesize testedVerbLabel = _testedVerbLabel; +@synthesize verbMeaningLable = _testedVerbLable; +@synthesize verbPersonLabel = _verbPersonLabel; +@synthesize verbAnswerTextField = _verbAnswerTextField; +@synthesize nextButton = _nextButton; +@synthesize showAnswerButton = _showAnswerButton; +@synthesize checkAnswerButton = _checkAnswerButton; +@synthesize testSet = _testSet; +@synthesize currentVerb = _currentVerb; +@synthesize correctAnswersInCurrentSet = _correctAnswersInCurrentSet; +@synthesize wrongAnswersInCurrentSet = _wrongAnswersInCurrentSet; + + +- (NSMutableArray *)testSet{ + // Check if there are any verbs in the set + if ( _testSet.count == 0) { + _testSet = [self.lesson testableVerbs]; + self.correctAnswersInCurrentSet = 0; + self.wrongAnswersInCurrentSet = 0; + } + return _testSet; +}; + +- (void) setUIButtonTitle:(UIButton *)button withText:(NSString *) titleString inColour:(UIColor *) colour forState:(UIControlState)controlState +{ + NSAttributedString *title; + title = [[NSAttributedString alloc] initWithString:titleString attributes:@{ NSFontAttributeName : + [UIFont fontWithName:@"Noteworthy-Bold" size:16], + // NSUnderlineStyleAttributeName : @1, + NSStrokeColorAttributeName : colour}]; + + [button setAttributedTitle:title forState:controlState]; + +} + +- (void) setUILabelTitle:(UILabel *)label withText:(NSString *) titleString inColour:(UIColor *) colour andSize:(int) fontSize; +{ + NSAttributedString *title; + title = [[NSAttributedString alloc] initWithString:titleString attributes:@{ NSFontAttributeName : + [UIFont fontWithName:@"Noteworthy-Bold" size:fontSize], + // NSUnderlineStyleAttributeName : @1, + NSStrokeColorAttributeName : colour + }]; + + label.attributedText = title; +} + + + +- (void) checkAnswer:(NSString *) answer { + NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]]; + + + if ( [answer isEqualToString:correctAnswer]) { + + [self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:correctAnswer] stringByAppendingString:@" \u2705"] inColour:[UIColor greenColor] andSize:16]; + + } else { + [self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:answer] stringByAppendingString:@" \u274C"] inColour:[UIColor redColor] andSize:16]; + + // Set current test verb to failed + self.currentVerb.failed = true; + } +} + + +- (void) nextVerb { + + // Add test result + if ( self.currentVerb) { + [TestResult addTestableVerbResult:self.currentVerb withTestType:@"Typing"]; + } + + if ( self.currentVerb && self.currentVerb.failed) { + // Last test failed.. so we won't remove it + // instead we shuffle the test set. + [self.testSet shuffle]; + + // increase wrongly answered counter + self.wrongAnswersInCurrentSet += 1; + } { + // Last verb answered correctly + [self.testSet lastObject]; + + // increase wrongly answered counter + self.correctAnswersInCurrentSet += 1; + } + + self.currentVerb = self.testSet.lastObject; + + + if ( self.currentVerb) { + + NSLog(@"Testing verb %@ in %@", self.currentVerb.verb.verb, self.currentVerb.person); + + NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]]; + + NSLog(@"Correct answer: %@", correctAnswer); + + // Set display label to verb to test + [self setUILabelTitle:self.testedVerbLabel withText:self.currentVerb.verb.verb inColour:[UIColor blackColor] andSize:30]; + + [self setUILabelTitle:self.verbMeaningLable withText:self.currentVerb.verb.meaning inColour:[UIColor blackColor] andSize:12]; + + [self setUILabelTitle:self.verbPersonLabel withText:[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] inColour:[UIColor blackColor] andSize:16]; + + + } else { + NSLog(@"Que horror, no lesson!"); + } + +} + + +- (IBAction)checkAnswerButtonPressed { + [self.verbAnswerTextField resignFirstResponder]; + [self checkAnswer:self.verbAnswerTextField.text]; +} + + +- (IBAction)showCorrectAnswerButtonPressed:(id)sender { + [self.verbAnswerTextField resignFirstResponder]; + + NSString * correctAnswer = [self.lesson.getConjugationEngine conjugateVerb:self.currentVerb.verb.verb inPerson:self.currentVerb.person andTense:[self.lesson getTenseAsTense]]; + + [self setUILabelTitle:self.verbPersonLabel withText:[[[[[[self.lesson getConjugationEngine] persons] objectForKey:self.currentVerb.person] stringByAppendingString:@" "] stringByAppendingString:correctAnswer] stringByAppendingString:@" \u2705"] inColour:[UIColor greenColor] andSize:16]; + +} + +- (IBAction)nextButtonPressed:(id)sender { + + [self.testSet removeLastObject]; + [self nextVerb]; + self.verbAnswerTextField.text = @""; +} + +- (IBAction)answerEntered:(id)sender { + [self resignFirstResponder]; + [self checkAnswer:self.verbAnswerTextField.text]; + +} + +- (IBAction)addAccentedCharacter:(UIButton *)sender { + self.verbAnswerTextField.text = [self.verbAnswerTextField.text stringByAppendingString:sender.titleLabel.text]; +} + + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + self.title = NSLocalizedString(@"Typing",@"Typing Test"); + + self.nextButton.titleLabel.text = NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb"); + + [self.nextButton setTitle:NSLocalizedString(@"Next", @"Next button in the testing screen to continue to the next verb") forState:UIControlStateNormal]; + + self.checkAnswerButton.titleLabel.text = NSLocalizedString(@"Check", @"Check answer"); + + [self.checkAnswerButton setTitle:NSLocalizedString(@"Check", @"Check answer button") forState:UIControlStateNormal]; + + self.showAnswerButton.titleLabel.text = NSLocalizedString(@"Answer", @"Show correct answer button"); + + [self.showAnswerButton setTitle:NSLocalizedString(@"Answer", @"Show correct answer button") forState:UIControlStateNormal]; + + + if ( [self.testSet count] > 0) { + [self nextVerb]; + } + + +} + +- (void)didReceiveMemoryWarning +{ + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +@end diff --git a/Espagram/SpanishConjugator.m b/Espagram/SpanishConjugator.m index 066889d..12f0e10 100644 --- a/Espagram/SpanishConjugator.m +++ b/Espagram/SpanishConjugator.m @@ -380,7 +380,6 @@ - (NSString *) getExit:(NSString *) verb { - NSLog(@"getExit start"); if ( verb.length > 2 ) return [verb substringFromIndex:[verb length] - 2]; else @@ -389,12 +388,6 @@ - (NSString *) getStem:(NSString *) verb { - NSLog(@"getStem start"); - - // if ( [[self getExit:verb] isEqualToString:@"ír"] ) - // return [[verb substringToIndex:[verb length] -2] stringByAppendingString:@"i"]; - NSLog(@"getStem end"); - return [verb substringToIndex:[verb length] -2]; } @@ -403,8 +396,6 @@ - (NSString *) getSimplePresentStemVerb:(NSString *) verb inPerson:(NSString *) person { NSString * verbStem = [self getStem:verb]; NSString * verbExit = [self getExit:verb]; - - NSLog(@"getSimplePresentStemVerb start.irregular"); // Bit irregular @@ -622,10 +613,6 @@ NSString * simplePresentYo = [self conjugateSimplePresentVerb:verb inPerson:@"FIRST_PERSON_SINGULAR"]; NSString * simplePresentYoStem = [simplePresentYo substringToIndex:simplePresentYo.length -1]; - - NSLog(@"person %@", person); - - if ( [person isEqualToString:@"FIRST_PERSON_SINGULAR"] || [person isEqualToString:@"THIRD_PERSON_SINGULAR"] ) { @@ -1724,7 +1711,6 @@ return @"Invalid tense"; if ( reflexive ) { - NSLog(@"%@",[[[[self reflexivePersons] objectForKey:person] stringByAppendingString:@" "] stringByAppendingString:conjugated]); return [[[[self reflexivePersons] objectForKey:person] stringByAppendingString:@" "] stringByAppendingString:conjugated]; } else { @@ -1753,7 +1739,6 @@ id lastObject = nil; if ( a && a.count > 0 ) { lastObject = [a lastObject]; - NSLog(@"Popping: %@", lastObject); [a removeLastObject]; } return lastObject; @@ -3510,8 +3495,6 @@ BOOL reflexive = FALSE; - NSLog(@"Getting test conjugation for %@ in person %@ and %@",verb,person,tense); - if ( [[self getExit:verb] isEqualToString:@"se"] ) { reflexive = TRUE; // Getting the stem will remove the last 2 characters @@ -3527,9 +3510,6 @@ } else { correctAnswer = [self conjugateVerb:verb inPerson:person andTense:tense]; } - - - NSLog(@"Correct answer: %@", correctAnswer); if ( [tense.tense isEqualToString:@"SIMPLE_PRESENT"]) wrongAnswers = [self generateFalseConjugationsSimplePresentVerb:verb inPerson:person withCorrectAnswer:correctAnswer]; diff --git a/Espagram/en.lproj/Localizable.strings b/Espagram/en.lproj/Localizable.strings index 443e4b2..f0f80d8 100644 Binary files a/Espagram/en.lproj/Localizable.strings and b/Espagram/en.lproj/Localizable.strings differ diff --git a/Espagram/en.lproj/MainStoryboard.storyboard b/Espagram/en.lproj/MainStoryboard.storyboard index 645ac59..94790a1 100644 --- a/Espagram/en.lproj/MainStoryboard.storyboard +++ b/Espagram/en.lproj/MainStoryboard.storyboard @@ -621,7 +621,7 @@ - + @@ -637,12 +637,12 @@ - + - + - + - + - + - + @@ -873,12 +874,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -992,7 +1193,7 @@ - + @@ -1030,15 +1231,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + \ No newline at end of file diff --git a/Espagram/es.lproj/Localizable.strings b/Espagram/es.lproj/Localizable.strings index 70696ef..aa0791f 100644 Binary files a/Espagram/es.lproj/Localizable.strings and b/Espagram/es.lproj/Localizable.strings differ diff --git a/Espagram/nl.lproj/Localizable.strings b/Espagram/nl.lproj/Localizable.strings index ac7e74d..5237ce5 100644 --- a/Espagram/nl.lproj/Localizable.strings +++ b/Espagram/nl.lproj/Localizable.strings @@ -40,11 +40,20 @@ "Next" = "Volgende"; /* Multiple Choice test */ -"Multiple Choice" = "Multiple Choice"; +"Multiple Choice" = "Meerkeuze"; /* List of verbs */ "List" = "Lijst"; +/* Typing Test */ +"Typing" = "Intypen"; + +/* Check answer button */ +"Check" = "Controleer"; + +/* Show correct answer button */ +"Answer" = "Antwoord?"; + /* Simple present tense description */ "TENSE_SIMPLE_PRESENT" = "Tegenwoordige tijd"; diff --git a/Espagram/pt.lproj/Localizable.strings b/Espagram/pt.lproj/Localizable.strings index d914adc..2c00bc5 100644 Binary files a/Espagram/pt.lproj/Localizable.strings and b/Espagram/pt.lproj/Localizable.strings differ diff --git a/Espagram/tabbar_typing.png b/Espagram/tabbar_typing.png new file mode 100644 index 0000000..fcc591b Binary files /dev/null and b/Espagram/tabbar_typing.png differ