Brion VIBBER has submitted this change and it was merged.

Change subject: Migrate strings to qqq file.
......................................................................


Migrate strings to qqq file.

Will need another pass for making strings which are presently set in
storyboards rather be set in code so the same qqq approach can be used
for these strings.

Change-Id: I32e7c6f9f4b14264af3580ac89c3431c47cc1592
---
M Wikipedia-iOS/Data/Operations/AccountCreationOp.m
M Wikipedia-iOS/Data/Operations/DownloadSectionWikiTextOp.m
M Wikipedia-iOS/Data/Operations/LoginOp.m
M Wikipedia-iOS/Data/Operations/SearchOp.m
M Wikipedia-iOS/Data/Operations/UploadSectionWikiTextOp.m
M Wikipedia-iOS/Defines/Defines.h
M Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
M Wikipedia-iOS/View Controllers/ArticleLanguages/ArticleLanguagesTableVC.m
M Wikipedia-iOS/View Controllers/MainMenu/MainMenuTableViewController.m
M Wikipedia-iOS/View Controllers/Preview/PreviewAndSaveViewController.m
M Wikipedia-iOS/View Controllers/SavedPages/SavedPagesViewController.m
M Wikipedia-iOS/View Controllers/SearchResults/SearchResultsController.m
M Wikipedia-iOS/View Controllers/SectionEditor/SectionEditorViewController.m
M Wikipedia-iOS/View Controllers/TopNav/NavController.m
M Wikipedia-iOS/View Controllers/WebView/WebViewController.m
M Wikipedia-iOS/en.lproj/Localizable.strings
M Wikipedia-iOS/qqq.lproj/Localizable.strings
17 files changed, 205 insertions(+), 66 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved
  Siebrand: Looks good to me, but someone else must approve



diff --git a/Wikipedia-iOS/Data/Operations/AccountCreationOp.m 
b/Wikipedia-iOS/Data/Operations/AccountCreationOp.m
index 2cb1a71..6a3d5db 100644
--- a/Wikipedia-iOS/Data/Operations/AccountCreationOp.m
+++ b/Wikipedia-iOS/Data/Operations/AccountCreationOp.m
@@ -108,7 +108,7 @@
                 if ([createAccountResult isEqualToString:@"NeedToken"]) {
                     NSMutableDictionary *errorDict = @{}.mutableCopy;
                     
-                    errorDict[NSLocalizedDescriptionKey] = @"CAPTCHA 
verification required.";
+                    errorDict[NSLocalizedDescriptionKey] = 
NSLocalizedString(@"account-creation-captcha-required", nil);
                     
                     // Make the capcha id and url available from the error.
                     errorDict[@"captchaId"] = 
weakSelf.jsonRetrieved[@"createaccount"][@"captcha"][@"id"];
diff --git a/Wikipedia-iOS/Data/Operations/DownloadSectionWikiTextOp.m 
b/Wikipedia-iOS/Data/Operations/DownloadSectionWikiTextOp.m
index 6f6c5a9..f1a84e4 100644
--- a/Wikipedia-iOS/Data/Operations/DownloadSectionWikiTextOp.m
+++ b/Wikipedia-iOS/Data/Operations/DownloadSectionWikiTextOp.m
@@ -60,7 +60,7 @@
 
             if (!weakSelf.error && !revision) {
                 NSMutableDictionary *errorDict = [@{} mutableCopy];
-                errorDict[NSLocalizedDescriptionKey] = @"Unable to obtain 
latest revision.";
+                errorDict[NSLocalizedDescriptionKey] = 
NSLocalizedString(@"wikitext-download-failed", nil);
                 
                 // Set error condition so dependent ops don't even start and 
so the errorBlock below will fire.
                 weakSelf.error = [NSError errorWithDomain:@"Download Wikitext 
Op" code:002 userInfo:errorDict];
diff --git a/Wikipedia-iOS/Data/Operations/LoginOp.m 
b/Wikipedia-iOS/Data/Operations/LoginOp.m
index b8b4012..7fcd865 100644
--- a/Wikipedia-iOS/Data/Operations/LoginOp.m
+++ b/Wikipedia-iOS/Data/Operations/LoginOp.m
@@ -106,21 +106,29 @@
 {
     // Error types from: http://www.mediawiki.org/wiki/API:Login#Errors
     NSString *errorMessage = [NSString stringWithFormat:@"Unknown login error. 
Code '%@'", result];
+
     if ([result isEqualToString:@"NoName"]) {
-        errorMessage = @"User name is required to login.";
+        errorMessage = NSLocalizedString(@"login-name-not-found", nil);
+
     }else if ([result isEqualToString:@"Illegal"]) {
-        errorMessage = @"You provided an illegal user name.";
+        errorMessage = NSLocalizedString(@"login-name-illegal", nil);
+
     }else if ([result isEqualToString:@"NotExists"]) {
-        errorMessage = @"The user name you provided doesn't exist.";
+        errorMessage = NSLocalizedString(@"login-name-does-not-exist", nil);
+
     }else if ([result isEqualToString:@"EmptyPass"]) {
-        errorMessage = @"Password is required to login.";
+        errorMessage = NSLocalizedString(@"login-password-empty", nil);
+
     }else if ([result isEqualToString:@"WrongPass"] || [result 
isEqualToString:@"WrongPluginPass"]) {
-        errorMessage = @"The password you provided is incorrect.";
+        errorMessage = NSLocalizedString(@"login-password-wrong", nil);
+
     }else if ([result isEqualToString:@"Throttled"]) {
-        errorMessage = @"You've logged in too many times in a short time.";
+        errorMessage = NSLocalizedString(@"login-throttled", nil);
+
     }else if ([result isEqualToString:@"Blocked"]) {
-        errorMessage = @"User is blocked.";
+        errorMessage = NSLocalizedString(@"login-user-blocked", nil);
     }
+    
     return errorMessage;
 }
 
diff --git a/Wikipedia-iOS/Data/Operations/SearchOp.m 
b/Wikipedia-iOS/Data/Operations/SearchOp.m
index dadd0d9..2b061f7 100644
--- a/Wikipedia-iOS/Data/Operations/SearchOp.m
+++ b/Wikipedia-iOS/Data/Operations/SearchOp.m
@@ -63,7 +63,7 @@
             if (output.count == 0) {
                 NSMutableDictionary *errorDict = @{}.mutableCopy;
                 
-                errorDict[NSLocalizedDescriptionKey] = @"No matches found for 
search term.";
+                errorDict[NSLocalizedDescriptionKey] = 
NSLocalizedString(@"search-no-matches", nil);
                 
                 // Set error condition so dependent ops don't even start and 
so the errorBlock below will fire.
                 weakSelf.error = [NSError errorWithDomain:@"Search Op" 
code:002 userInfo:errorDict];
diff --git a/Wikipedia-iOS/Data/Operations/UploadSectionWikiTextOp.m 
b/Wikipedia-iOS/Data/Operations/UploadSectionWikiTextOp.m
index 7f329f0..9e43dd1 100644
--- a/Wikipedia-iOS/Data/Operations/UploadSectionWikiTextOp.m
+++ b/Wikipedia-iOS/Data/Operations/UploadSectionWikiTextOp.m
@@ -71,7 +71,7 @@
 
             if (!weakSelf.error && !result) {
                 NSMutableDictionary *errorDict = [@{} mutableCopy];
-                errorDict[NSLocalizedDescriptionKey] = @"Unable to determine 
wikitext upload result.";
+                errorDict[NSLocalizedDescriptionKey] = 
NSLocalizedString(@"wikitext-upload-result-unknown", nil);
                 
                 // Set error condition so dependent ops don't even start and 
so the errorBlock below will fire.
                 weakSelf.error = [NSError errorWithDomain:@"Upload Wikitext 
Op" code:WIKITEXT_UPLOAD_ERROR_UNKNOWN userInfo:errorDict];
@@ -84,9 +84,9 @@
                     NSMutableDictionary *errorDict = [@{} mutableCopy];
                     
                     errorDict[NSLocalizedDescriptionKey] = (captchaWord && 
(captchaWord.length > 0)) ?
-                    @"Captcha verification error."
+                    NSLocalizedString(@"wikitext-upload-captcha-error", nil)
                     :
-                    @"Need captcha verification."
+                    NSLocalizedString(@"wikitext-upload-captcha-needed", nil)
                     ;
                     
                     // Make the capcha id and url available from the error.
diff --git a/Wikipedia-iOS/Defines/Defines.h b/Wikipedia-iOS/Defines/Defines.h
index 3af09d4..d411da9 100644
--- a/Wikipedia-iOS/Defines/Defines.h
+++ b/Wikipedia-iOS/Defines/Defines.h
@@ -12,13 +12,7 @@
 #define SEARCH_FONT_HIGHLIGHTED [UIFont fontWithName:@"HelveticaNeue-Bold" 
size:16.0]
 #define SEARCH_FONT_HIGHLIGHTED_COLOR [UIColor blackColor]
 
-#define SEARCH_FIELD_PLACEHOLDER_TEXT @"Search Wikipedia"
 #define SEARCH_FIELD_PLACEHOLDER_TEXT_COLOR [UIColor colorWithRed:0.57 
green:0.58 blue:0.59 alpha:1.0]
-
-#define SEARCH_LOADING_MSG_SECTION_ZERO @"Loading first section of the 
article..."
-#define SEARCH_LOADING_MSG_SECTION_REMAINING @"Loading the rest of the 
article..."
-#define SEARCH_LOADING_MSG_ARTICLE_LOADED @"Article loaded."
-#define SEARCH_LOADING_MSG_SEARCHING @"Searching..."
 
 #define DISCOVERY_METHOD_SEARCH @"search"
 #define DISCOVERY_METHOD_RANDOM @"random"
diff --git a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m 
b/Wikipedia-iOS/View Controllers/AccountCreation/AccountCreationViewController.m
index e8f99b8..069fe87 100644
--- a/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
+++ b/Wikipedia-iOS/View 
Controllers/AccountCreation/AccountCreationViewController.m
@@ -192,7 +192,7 @@
 {
     self.captchaViewController.captchaTextBox.text = @"";
 
-    [self showAlert:@"Obtaining a new captcha."];
+    [self showAlert:NSLocalizedString(@"account-creation-captcha-obtaining", 
nil)];
     [self showAlert:@""];
 
     CaptchaResetOp *captchaResetOp =
@@ -255,7 +255,7 @@
 {
     LoginViewController *loginVC = [self.navigationController 
searchNavStackForViewControllerOfClass:[LoginViewController class]];
     
-    [self showAlert:@"Logging in..."];
+    [self showAlert:NSLocalizedString(@"account-creation-logging-in", nil)];
     
     [loginVC loginWithUserName:self.usernameField.text 
password:self.passwordField.text onSuccess:^{
 
@@ -277,13 +277,13 @@
 
     // Verify passwords fields match.
     if (![self.passwordField.text 
isEqualToString:self.passwordRepeatField.text]) {
-        [self showAlert:@"Password fields do not match."];
+        [self 
showAlert:NSLocalizedString(@"account-creation-passwords-mismatched", nil)];
         isAleadySaving = NO;
         return;
     }
 
     // Save!
-    [self showAlert:@"Saving..."];
+    [self showAlert:NSLocalizedString(@"account-creation-saving", nil)];
 
     AccountCreationOp *accountCreationOp =
     [[AccountCreationOp alloc] initWithDomain: [SessionSingleton 
sharedInstance].domain
diff --git a/Wikipedia-iOS/View 
Controllers/ArticleLanguages/ArticleLanguagesTableVC.m b/Wikipedia-iOS/View 
Controllers/ArticleLanguages/ArticleLanguagesTableVC.m
index db724a0..ab2b213 100644
--- a/Wikipedia-iOS/View Controllers/ArticleLanguages/ArticleLanguagesTableVC.m
+++ b/Wikipedia-iOS/View Controllers/ArticleLanguages/ArticleLanguagesTableVC.m
@@ -104,7 +104,7 @@
 
         UIButton *cancelButton = [[UIButton alloc] init];
         cancelButton.userInteractionEnabled = YES;
-        [cancelButton setTitle:@"Cancel" forState:UIControlStateNormal];
+        [cancelButton setTitle:NSLocalizedString(@"article-languages-cancel", 
nil) forState:UIControlStateNormal];
         [cancelButton setTitleColor:[UIColor lightGrayColor] 
forState:UIControlStateNormal];
         cancelButton.translatesAutoresizingMaskIntoConstraints = NO;
         [cancelButton addTarget:self action:@selector(hide) forControlEvents: 
UIControlEventTouchUpInside];
diff --git a/Wikipedia-iOS/View 
Controllers/MainMenu/MainMenuTableViewController.m b/Wikipedia-iOS/View 
Controllers/MainMenu/MainMenuTableViewController.m
index 4677a63..479133f 100644
--- a/Wikipedia-iOS/View Controllers/MainMenu/MainMenuTableViewController.m
+++ b/Wikipedia-iOS/View Controllers/MainMenu/MainMenuTableViewController.m
@@ -17,10 +17,6 @@
 // Row indexes.
 #define ROW_SAVED_PAGES 1
 
-// Language toggle text.
-#define LANGUAGES_TOGGLE_TEXT_SHOW @" 🙉  Show Languages"
-#define LANGUAGES_TOGGLE_TEXT_HIDE @" 🙈  Hide Languages"
-
 // Language options text font/size/color.
 #define LANGUAGES_TEXT_FONT @"Georgia"
 
@@ -81,7 +77,7 @@
     [self addRowsToTableDataForLanguagesFromFile];
 
     // Add a "Show Languages" toggle.
-    [self addToTableDataLanguagesToggleWithTitle:LANGUAGES_TOGGLE_TEXT_SHOW];
+    [self 
addToTableDataLanguagesToggleWithTitle:NSLocalizedString(@"main-menu-language-toggle-show",
 nil)];
 
     NSString *currentArticleTitle = [SessionSingleton 
sharedInstance].currentArticleTitle;
     if(!currentArticleTitle || (currentArticleTitle.length == 0)){
@@ -103,9 +99,9 @@
     // Show login/logout buttons
     [[self sectionDict:SECTION_LOGIN_OPTIONS][@"rows"] removeAllObjects];
     if([SessionSingleton sharedInstance].keychainCredentials.userName){
-        [self addToTableDataRowWithTitle:@"🎭  Logout" key:@"logout" section: 
SECTION_LOGIN_OPTIONS];
+        [self 
addToTableDataRowWithTitle:NSLocalizedString(@"main-menu-account-logout", nil) 
key:@"logout" section: SECTION_LOGIN_OPTIONS];
     }else{
-        [self addToTableDataRowWithTitle:@"🎭  Login" key:@"login" section: 
SECTION_LOGIN_OPTIONS];
+        [self 
addToTableDataRowWithTitle:NSLocalizedString(@"main-menu-account-login", nil) 
key:@"login" section: SECTION_LOGIN_OPTIONS];
     }
 }
 
@@ -113,9 +109,13 @@
 {
     NSString *userName = [SessionSingleton 
sharedInstance].keychainCredentials.userName;
     if(userName){
-        [self sectionDict:SECTION_LOGIN_OPTIONS][@"title"] = [NSString 
stringWithFormat:@"Logged in as: %@", userName];
+    
+        NSString *loggedInAsTitle = 
NSLocalizedString(@"main-menu-account-title-logged-in", nil);
+        loggedInAsTitle = [loggedInAsTitle 
stringByReplacingOccurrencesOfString:@"$1" withString:userName];
+    
+        [self sectionDict:SECTION_LOGIN_OPTIONS][@"title"] = loggedInAsTitle;
     }else{
-        [self sectionDict:SECTION_LOGIN_OPTIONS][@"title"] = @"Account";
+        [self sectionDict:SECTION_LOGIN_OPTIONS][@"title"] = 
NSLocalizedString(@"main-menu-account-title-logged-out", nil);
     }
 }
 
@@ -174,7 +174,7 @@
 
                             [@{
                                @"key": @"menuOptions",
-                               @"title": @"Account",
+                               @"title": 
NSLocalizedString(@"main-menu-account-title-logged-out", nil),
                                @"label": @"",
                                @"subTitle": @"",
                                @"rows": [@[
@@ -186,7 +186,7 @@
 
                             [@{
                                @"key": @"menuOptions",
-                               @"title": @"Show me...",
+                               @"title": 
NSLocalizedString(@"main-menu-show-title", nil),
                                @"label": @"",
                                @"subTitle": @"",
                                @"rows": @[
@@ -194,7 +194,7 @@
 
                                        [@{
                                           @"key": @"history",
-                                          @"title": @"📖  My Browsing History",
+                                          @"title": 
NSLocalizedString(@"main-menu-show-history", nil),
                                           @"label": @""
                                           } mutableCopy]
 
@@ -203,7 +203,7 @@
 
                                        [@{
                                           @"key": @"savedPages",
-                                          @"title": @"💾  My Saved Pages",
+                                          @"title": 
NSLocalizedString(@"main-menu-show-saved", nil),
                                           @"label": @""
                                           } mutableCopy]
                                        
@@ -223,17 +223,19 @@
                                @"rows": [@[
                                        [@{
                                           @"key": @"savePage",
-                                          @"title": @"💾  Save for Offline 
Reading",
+                                          @"title": 
NSLocalizedString(@"main-menu-current-article-save", nil),
                                           @"label": @""
                                           } mutableCopy]
                                        
+/*
                                        ,
                                        [@{
                                           @"key": @"debugPage",
                                           @"title": @"👀 Debug",
                                           @"label": @""
                                           } mutableCopy]
-                                       
+*/
+
                                        ] mutableCopy]
                                } mutableCopy]
                             ,
@@ -241,7 +243,7 @@
                             
                             [@{
                                @"key": @"searchLanguageOptions",
-                               @"title": @"Language Wiki To Search",
+                               @"title": 
NSLocalizedString(@"main-menu-language-title", nil),
                                @"label": @"",
                                @"subTitle": @"",
                                @"rows": [@[] mutableCopy]
@@ -446,9 +448,9 @@
             if (!self.showAllLanguages)[self 
addRowsToTableDataForLanguagesFromFile];
             
             if (self.showAllLanguages) {
-                [self 
addToTableDataLanguagesToggleWithTitle:LANGUAGES_TOGGLE_TEXT_HIDE];
+                [self 
addToTableDataLanguagesToggleWithTitle:NSLocalizedString(@"main-menu-language-toggle-hide",
 nil)];
             }else{
-                [self 
addToTableDataLanguagesToggleWithTitle:LANGUAGES_TOGGLE_TEXT_SHOW];
+                [self 
addToTableDataLanguagesToggleWithTitle:NSLocalizedString(@"main-menu-language-toggle-show",
 nil)];
             }
             // Show huge language list below the "Hide Languages" toggle.
             if (self.showAllLanguages)[self 
addRowsToTableDataForLanguagesFromFile];
diff --git a/Wikipedia-iOS/View 
Controllers/Preview/PreviewAndSaveViewController.m b/Wikipedia-iOS/View 
Controllers/Preview/PreviewAndSaveViewController.m
index 84eca7f..a5b0286 100644
--- a/Wikipedia-iOS/View Controllers/Preview/PreviewAndSaveViewController.m
+++ b/Wikipedia-iOS/View Controllers/Preview/PreviewAndSaveViewController.m
@@ -139,7 +139,7 @@
     if (isAleadyPreviewing) return;
     isAleadyPreviewing = YES;
 
-    [self showAlert:@"Retrieving preview of your changes..."];
+    [self showAlert:NSLocalizedString(@"wikitext-preview-changes", nil)];
     Section *section = (Section *)[articleDataContext_.mainContext 
objectWithID:self.sectionID];
 
     PreviewWikiTextOp *previewWikiTextOp =
@@ -194,7 +194,7 @@
 
     ArticleDataContextSingleton *articleDataContext_ = 
[ArticleDataContextSingleton sharedInstance];
 
-    [self showAlert:@"Saving..."];
+    [self showAlert:NSLocalizedString(@"wikitext-upload-save", nil)];
     Section *section = (Section *)[articleDataContext_.mainContext 
objectWithID:self.sectionID];
 
     NSManagedObjectID *articleID = section.article.objectID;
diff --git a/Wikipedia-iOS/View 
Controllers/SavedPages/SavedPagesViewController.m b/Wikipedia-iOS/View 
Controllers/SavedPages/SavedPagesViewController.m
index 034da9f..4af3fe4 100644
--- a/Wikipedia-iOS/View Controllers/SavedPages/SavedPagesViewController.m
+++ b/Wikipedia-iOS/View Controllers/SavedPages/SavedPagesViewController.m
@@ -62,7 +62,7 @@
     [self getSavedPagesData];
 
     SavedPagesTableHeadingLabel *savedPagesLabel = 
[[SavedPagesTableHeadingLabel alloc] initWithFrame:CGRectMake(0, 0, 10, 53)];
-    savedPagesLabel.text = @"Saved Pages";
+    savedPagesLabel.text = NSLocalizedString(@"saved-pages-title", nil);
     savedPagesLabel.textAlignment = NSTextAlignmentCenter;
     savedPagesLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:20];
     savedPagesLabel.textColor = SAVED_PAGES_TITLE_TEXT_COLOR;
diff --git a/Wikipedia-iOS/View 
Controllers/SearchResults/SearchResultsController.m b/Wikipedia-iOS/View 
Controllers/SearchResults/SearchResultsController.m
index 56cb221..8e58d3e 100644
--- a/Wikipedia-iOS/View Controllers/SearchResults/SearchResultsController.m
+++ b/Wikipedia-iOS/View Controllers/SearchResults/SearchResultsController.m
@@ -108,7 +108,7 @@
     [[QueuesSingleton sharedInstance].searchQ cancelAllOperations];
     
     // Show "Searching..." message.
-    [self showAlert:SEARCH_LOADING_MSG_SEARCHING];
+    [self showAlert:NSLocalizedString(@"search-searching", nil)];
     
     
     
diff --git a/Wikipedia-iOS/View 
Controllers/SectionEditor/SectionEditorViewController.m b/Wikipedia-iOS/View 
Controllers/SectionEditor/SectionEditorViewController.m
index c2078d5..b5ac698 100644
--- a/Wikipedia-iOS/View Controllers/SectionEditor/SectionEditorViewController.m
+++ b/Wikipedia-iOS/View Controllers/SectionEditor/SectionEditorViewController.m
@@ -123,7 +123,7 @@
     switch (tappedItem.tag) {
         case NAVBAR_BUTTON_EYE:
             if (![self changesMade]) {
-                [self showAlert:@"No changes were made to be previewed."];
+                [self 
showAlert:NSLocalizedString(@"wikitext-preview-changes-none", nil)];
                 [self showAlert:@""];
                 break;
             }
@@ -160,13 +160,13 @@
 
 -(void)loadLatestWikiTextForSectionFromServer
 {
-    [self showAlert:@"Loading wiki text..."];
+    [self showAlert:NSLocalizedString(@"wikitext-downloading", nil)];
     Section *section = (Section *)[articleDataContext_.mainContext 
objectWithID:self.sectionID];
     
     DownloadSectionWikiTextOp *downloadWikiTextOp = 
[[DownloadSectionWikiTextOp alloc] initForPageTitle:section.article.title 
domain:section.article.domain section:section.index completionBlock:^(NSString 
*revision){
         
         [[NSOperationQueue mainQueue] addOperationWithBlock: ^ {
-            [self showAlert:@"Wiki text loaded."];
+            [self showAlert:NSLocalizedString(@"wikitext-download-success", 
nil)];
             [self showAlert:@""];
             self.unmodifiedWikiText = revision;
             self.editTextView.attributedText = [self 
getAttributedString:revision];
diff --git a/Wikipedia-iOS/View Controllers/TopNav/NavController.m 
b/Wikipedia-iOS/View Controllers/TopNav/NavController.m
index b7194f9..983b0eb 100644
--- a/Wikipedia-iOS/View Controllers/TopNav/NavController.m
+++ b/Wikipedia-iOS/View Controllers/TopNav/NavController.m
@@ -64,7 +64,7 @@
 
     self.navBarMode = NAVBAR_MODE_SEARCH;
 
-    self.textField.placeholder = SEARCH_FIELD_PLACEHOLDER_TEXT;
+    self.textField.placeholder = 
NSLocalizedString(@"search-field-placeholder-text", nil);
 
     [self.navigationBar addObserver:self forKeyPath:@"bounds" 
options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionInitial 
context:nil];
 
@@ -343,31 +343,31 @@
     _navBarMode = navBarMode;
     switch (navBarMode) {
         case NAVBAR_MODE_EDIT_WIKITEXT:
-            self.label.text = @"Edit";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-edit-wikitext", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_X(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_EYE(50)]|";
             break;
         case NAVBAR_MODE_LOGIN:
-            self.label.text = @"Sign In";
+            self.label.text = NSLocalizedString(@"navbar-title-mode-login", 
nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_X(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_CHECK(50)]|";
             break;
         case NAVBAR_MODE_CREATE_ACCOUNT:
-            self.label.text = @"Create Account";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-create-account", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_ARROW_LEFT(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_CHECK(50)]|";
             break;
         case NAVBAR_MODE_EDIT_WIKITEXT_WARNING:
-            self.label.text = @"Edit issues";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-edit-wikitext-warning", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_ARROW_LEFT(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_CHECK(50)]|";
             break;
         case NAVBAR_MODE_EDIT_WIKITEXT_DISALLOW:
-            self.label.text = @"Edit issues";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-edit-wikitext-disallow", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_ARROW_LEFT(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL]|";
             break;
         case NAVBAR_MODE_EDIT_WIKITEXT_PREVIEW:
-            self.label.text = @"Previewing";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-edit-wikitext-preview", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_ARROW_LEFT(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_CHECK(50)]|";
             break;
         case NAVBAR_MODE_EDIT_WIKITEXT_CAPTCHA:
-            self.label.text = @"Quick Verification needed";
+            self.label.text = 
NSLocalizedString(@"navbar-title-mode-edit-wikitext-captcha", nil);
             self.navBarSubViewsHorizontalVFLString = 
@"H:|[NAVBAR_BUTTON_ARROW_LEFT(50)][NAVBAR_VERTICAL_LINE_1(singlePixel)]-(10)-[NAVBAR_LABEL][NAVBAR_VERTICAL_LINE_2(singlePixel)][NAVBAR_BUTTON_ARROW_RIGHT(50)]|";
             break;
         default: //NAVBAR_STYLE_SEARCH
diff --git a/Wikipedia-iOS/View Controllers/WebView/WebViewController.m 
b/Wikipedia-iOS/View Controllers/WebView/WebViewController.m
index 55b2a0c..fef6d9e 100644
--- a/Wikipedia-iOS/View Controllers/WebView/WebViewController.m
+++ b/Wikipedia-iOS/View Controllers/WebView/WebViewController.m
@@ -568,7 +568,7 @@
     [self hideKeyboard];
     
     // Show loading message
-    [self showAlert:SEARCH_LOADING_MSG_SECTION_ZERO];
+    [self showAlert:NSLocalizedString(@"search-loading-section-zero", nil)];
     
     [self retrieveArticleForPageTitle:cleanTitle domain:domain 
discoveryMethod:discoveryMethod];
 }
@@ -590,7 +590,7 @@
         // If article with sections just show them (unless needsRefresh is YES)
         if (article.section.count > 0 && !article.needsRefresh.boolValue) {
             [self displayArticle:articleID mode:DISPLAY_ALL_SECTIONS];
-            [self showAlert:SEARCH_LOADING_MSG_ARTICLE_LOADED];
+            [self 
showAlert:NSLocalizedString(@"search-loading-article-loaded", nil)];
             [self showAlert:@""];
             return;
         }
@@ -704,7 +704,7 @@
         }
 
         [self displayArticle:articleID mode:DISPLAY_LEAD_SECTION];
-        [self showAlert:SEARCH_LOADING_MSG_SECTION_REMAINING];
+        [self showAlert:NSLocalizedString(@"search-loading-section-remaining", 
nil)];
 
     } cancelledBlock:^(NSError *error){
 
@@ -764,7 +764,7 @@
         [articleDataContext_.workerContext save:&error];
         
         [self displayArticle:articleID mode:DISPLAY_APPEND_NON_LEAD_SECTIONS];
-        [self showAlert:SEARCH_LOADING_MSG_ARTICLE_LOADED];
+        [self showAlert:NSLocalizedString(@"search-loading-article-loaded", 
nil)];
         [self showAlert:@""];
 
     } cancelledBlock:^(NSError *error){
@@ -1028,16 +1028,20 @@
 
 -(void)zeroStateChanged: (NSNotification*) notification
 {
+    [[QueuesSingleton sharedInstance].zeroRatedMessageStringQ 
cancelAllOperations];
+
     if ([[[notification userInfo] objectForKey:@"state"] boolValue]) {
         DownloadWikipediaZeroMessageOp *zeroMessageRetrievalOp =
         [
          [DownloadWikipediaZeroMessageOp alloc]
          initForDomain: [SessionSingleton sharedInstance].currentArticleDomain
          completionBlock: ^(NSString *message) {
+         
              if (message) {
                  dispatch_async(dispatch_get_main_queue(), ^(){
+                 
                      NavBarTextField *textField = [NAV 
getNavBarItem:NAVBAR_TEXT_FIELD];
-                     textField.placeholder = 
NSLocalizedString(@"zero-search-hint", nil);
+                     textField.placeholder = 
NSLocalizedString(@"search-field-placeholder-text-zero", nil);
                      
                      NAV.navBarStyle = NAVBAR_STYLE_NIGHT;
                      
@@ -1045,7 +1049,6 @@
                      [self 
promptFirstTimeZeroOnWithMessageIfAppropriate:message];
                  });
                  
-                 //
                  // [self showHTMLAlert:message bannerImage:nil bannerColor:
                  // [UIColor colorWithWhite:0.0 alpha:1.0]];
              }
@@ -1054,10 +1057,14 @@
          } errorBlock:^(NSError *errorError) {
              NSLog(@"error w0 error");
          }];
-        [[QueuesSingleton sharedInstance].zeroRatedMessageStringQ 
cancelAllOperations];
+
         [[QueuesSingleton sharedInstance].zeroRatedMessageStringQ 
addOperation:zeroMessageRetrievalOp];
         
     } else {
+    
+        NavBarTextField *textField = [NAV getNavBarItem:NAVBAR_TEXT_FIELD];
+        textField.placeholder = 
NSLocalizedString(@"search-field-placeholder-text", nil);
+
         NAV.navBarStyle = NAVBAR_STYLE_DAY;
         [self showAlert:NSLocalizedString(@"zero-charged-verbiage", nil)];
         [self promptFirstTimeZeroOffIfAppropriate];
diff --git a/Wikipedia-iOS/en.lproj/Localizable.strings 
b/Wikipedia-iOS/en.lproj/Localizable.strings
index c77af51..82d65e4 100644
--- a/Wikipedia-iOS/en.lproj/Localizable.strings
+++ b/Wikipedia-iOS/en.lproj/Localizable.strings
@@ -1,12 +1,14 @@
 "article-languages-label" = "Choose language";
+"article-languages-cancel" = "Cancel";
+
 "history-label" = "Browsing History";
 "history-section-today" = "Today";
 "history-section-yesterday" = "Yesterday";
 "history-section-lastweek" = "Last week";
 "history-section-lastmonth" = "Last month";
+
 "zero-free-verbiage" = "Free Wikipedia access from your mobile operator (data 
charges waived)";
 "zero-charged-verbiage" = "Wikipedia Zero OFF (STANDARD DATA CHARGES MAY 
APPLY)";
-"zero-search-hint" = "Search Wikipedia Zero";
 "zero-webpage-url" = 
"https://wikimediafoundation.org/wiki/Wikipedia_Zero_App_FAQ";;
 "zero-interstitial-title" = "Leaving Wikipedia Zero";
 "zero-interstitial-leave-app" = "Continue to external site? Standard data 
charges may apply.";
@@ -17,4 +19,60 @@
 "zero-learn-more-no-thanks" = "No thanks";
 "zero-wikipedia-zero-heading" = "Wikipedia Zero";
 "zero-warn-when-leaving" = "Warn if leaving Wikipedia Zero";
-"zero-settings-devmode" = "Zero Devmode";
+"zero-settings-devmode" = "Zero devmode";
+
+"account-creation-captcha-required" = "CAPTCHA verification required.";
+"account-creation-captcha-obtaining" = "Obtaining a new CAPTCHA.";
+"account-creation-logging-in" = "Logging in...";
+"account-creation-passwords-mismatched" = "Password fields do not match.";
+"account-creation-saving" = "Saving...";
+
+"login-name-not-found" = "User name is required to login.";
+"login-name-illegal" = "You provided an illegal user name.";
+"login-name-does-not-exist" = "The user name you provided doesn't exist.";
+"login-password-empty" = "Password is required to login.";
+"login-password-wrong" = "The password you provided is incorrect.";
+"login-throttled" = "You've logged in too many times in a short time.";
+"login-user-blocked" = "User is blocked.";
+
+"wikitext-downloading" = "Loading wiki text...";
+"wikitext-download-failed" = "Unable to obtain latest revision.";
+"wikitext-download-success" = "Wiki text loaded.";
+"wikitext-preview-changes" = "Retrieving preview of your changes...";
+"wikitext-preview-changes-none" = "No changes were made to be previewed.";
+"wikitext-upload-result-unknown" = "Unable to determine wikitext upload 
result.";
+"wikitext-upload-captcha-error" = "Captcha verification error.";
+"wikitext-upload-captcha-needed" = "Need captcha verification.";
+"wikitext-upload-save" = "Saving...";
+
+"search-searching" = "Searching...";
+"search-no-matches" = "No matches found for search term.";
+"search-field-placeholder-text" = "Search Wikipedia";
+"search-field-placeholder-text-zero" = "Search Wikipedia Zero";
+"search-loading-section-zero" = "Loading first section of the article...";
+"search-loading-section-remaining" = "Loading the rest of the article...";
+"search-loading-article-loaded" = "Article loaded.";
+
+"main-menu-language-title" = "Language wiki to search";
+"main-menu-language-toggle-show" = "Show languages";
+"main-menu-language-toggle-hide" = "Hide languages";
+"main-menu-account-title-logged-out" = "Account";
+"main-menu-account-title-logged-in" = "Logged in as: $1";
+"main-menu-account-login" = "Log in";
+"main-menu-account-logout" = "Log out";
+"main-menu-show-title" = "Show me...";
+"main-menu-show-history" = "My browsing history";
+"main-menu-show-saved" = "My saved pages";
+"main-menu-current-article-save" = "Save for offline reading";
+
+"saved-pages-title" = "Saved Pages";
+
+"navbar-title-mode-edit-wikitext" = "Edit";
+"navbar-title-mode-login" = "Sign in";
+"navbar-title-mode-create-account" = "Create Account";
+"navbar-title-mode-edit-wikitext-warning" = "Edit issues";
+"navbar-title-mode-edit-wikitext-disallow" = "Edit issues";
+"navbar-title-mode-edit-wikitext-preview" = "Previewing";
+"navbar-title-mode-edit-wikitext-captcha" = "Quick Verification needed";
+
+
diff --git a/Wikipedia-iOS/qqq.lproj/Localizable.strings 
b/Wikipedia-iOS/qqq.lproj/Localizable.strings
index dcdc1b8..b3322c1 100644
--- a/Wikipedia-iOS/qqq.lproj/Localizable.strings
+++ b/Wikipedia-iOS/qqq.lproj/Localizable.strings
@@ -1,6 +1,76 @@
 "article-languages-label" = "Header label for per-article language selector 
screen";
+"article-languages-cancel" = "Button text for dismissing the language selector 
screen";
+
 "history-label" = "Header label for screen showing the users' in-app browsing 
history";
 "history-section-today" = "Subsection label for list of articles browsed 
today";
 "history-section-yesterday" = "Subsection label for list of articles browsed 
yesterday";
 "history-section-lastweek" = "Subsection label for list of articles browsed 
within the last week";
 "history-section-lastmonth" = "Subsection label for list of articles browsed 
within the last month";
+
+"zero-free-verbiage" = "Alert text for Wikipedia Zero free data access 
enabled";
+"zero-charged-verbiage" = "Alert text for Wikipedia Zero free data access 
disabled";
+"zero-webpage-url" = "Url for Wikipedia Zero FAQ";
+"zero-interstitial-title" = "Alert text for leaving Wikipedia Zero";
+"zero-interstitial-leave-app" = "Alert text shown if Wikipedia Zero free data 
access is enabled and user taps external link";
+"zero-interstitial-continue" = "Button text confirming user wants to continue 
to external site";
+"zero-interstitial-cancel" = "Button text to not continue to external site";
+"zero-learn-more" = "Alert text for learning more about Wikipedia Zero";
+"zero-learn-more-learn-more" = "Button text for learn more about Wikipedia 
Zero";
+"zero-learn-more-no-thanks" = "Button text for declining to learn more about 
Wikipedia Zero";
+"zero-wikipedia-zero-heading" = "Main menu heading for Wikipedia Zero options";
+"zero-warn-when-leaving" = "Main menu option to be warned if leaving Wikipedia 
Zero";
+"zero-settings-devmode" = "Main menu option for enabling Zero Devmode";
+
+"account-creation-captcha-required" = "Alert message shown when account 
creation require a captcha verification";
+"account-creation-captcha-obtaining" = "Alert shown when user wants a new 
captcha when creating account";
+"account-creation-logging-in" = "Alert shown after account successfully 
created and the user is being logged in automatically";
+"account-creation-passwords-mismatched" = "Alert shown if the user doesn't 
enter the same password in both password boxes";
+"account-creation-saving" = "Alert shown when user saves account creation 
form";
+
+"login-name-not-found" = "Alert text shown when no user name was entered";
+"login-name-illegal" = "Alert text shown when illegal user name entered";
+"login-name-does-not-exist" = "Alert text shown when user name entered was not 
found";
+"login-password-empty" = "Alert text shown when no password was entered";
+"login-password-wrong" = "Alert text shown when incorrect password entered";
+"login-throttled" = "Alert text shown when too many login attempts fail";
+"login-user-blocked" = "Alert text shown when user name entered is blocked";
+
+"wikitext-downloading" = "Alert text shown when obtaining latest revision of 
the section being edited";
+"wikitext-download-failed" = "Alert text shown when unable to obtain latest 
revision of the section being edited";
+"wikitext-download-success" = "Alert text shown when latest revision of the 
section being edited has been retrieved";
+"wikitext-preview-changes" = "Alert text shown when getting preview of user 
changes to wikitext";
+"wikitext-preview-changes-none" = "Alert text shown if no changes were made to 
be previewed.";
+"wikitext-upload-result-unknown" = "Alert text shown when the result of saving 
section wikitext changes is unknown";
+"wikitext-upload-captcha-error" = "Alert text shown when section wikitext 
upload captcha fails";
+"wikitext-upload-captcha-needed" = "Alert text shown when section wikitext 
upload captcha is required";
+"wikitext-upload-save" = "Alert text shown when changes to section wikitext 
are being saved";
+
+"search-searching" = "Alert text shown when results for search term are being 
retrieved";
+"search-no-matches" = "Message shown if no results found for search term";
+"search-field-placeholder-text" = "Search field placeholder text";
+"search-field-placeholder-text-zero" = "Search field placeholder text when 
Wikipedia Zero is enabled";
+"search-loading-section-zero" = "Alert text shown when loading first section 
of the article";
+"search-loading-section-remaining" = "Alert text shown when loading remaining 
article sections";
+"search-loading-article-loaded" = "Alert text shown when the article has been 
completely loaded";
+
+"main-menu-language-title" = "Header text for default search language 
selection";
+"main-menu-language-toggle-show" = "Button text for showing language list";
+"main-menu-language-toggle-hide" = "Button text for hiding language list";
+"main-menu-account-title-logged-out" = "Header text used when account is not 
logged in";
+"main-menu-account-title-logged-in" = "Header text used when account is logged 
in";
+"main-menu-account-login" = "Button text for logging in";
+"main-menu-account-logout" = "Button text for logging out";
+"main-menu-show-title" = "Header informing the user that they can be shown 
various things";
+"main-menu-show-history" = "Button text for article history interface";
+"main-menu-show-saved" = "Button text for saved articles interface";
+"main-menu-current-article-save" = "Button text for saving the current 
article";
+
+"saved-pages-title" = "Header text for Saved Pages interface";
+
+"navbar-title-mode-edit-wikitext" = "Header text shown when wikitext is being 
edited";
+"navbar-title-mode-login" = "Header text shown when user is signing in";
+"navbar-title-mode-create-account" = "Header text shown when user is creating 
an account";
+"navbar-title-mode-edit-wikitext-warning" = "Header text shown when an abuse 
filter warning is displayed";
+"navbar-title-mode-edit-wikitext-disallow" = "Header text shown when an abuse 
filter disallow message is displayed";
+"navbar-title-mode-edit-wikitext-preview" = "Header text shown when wikitext 
changes are being previewed";
+"navbar-title-mode-edit-wikitext-captcha" = "Header text shown when wikitext 
captcha is displayed";

-- 
To view, visit https://gerrit.wikimedia.org/r/117628
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I32e7c6f9f4b14264af3580ac89c3431c47cc1592
Gerrit-PatchSet: 3
Gerrit-Project: apps/ios/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mhurd <mh...@wikimedia.org>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>
Gerrit-Reviewer: Mhurd <mh...@wikimedia.org>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to