2015-05-17 2 views
3

Поскольку ParseUI является Open Source, легко обнаружить, что все метки локализованы в ParseUI.stringsЛокализация ParseUI

Как я могу сказать Xcode не использовать ParseUI.strings во время выполнения, но мое Localisable.strings?

Я создал следующую структуру в моем проекте:

enter image description here

Но я могу видеть в файле отладчика, что мои Localisable.strings не используются:

2015-05- 17 22: 27: 17.711 CoreParse [3582: 216694] Локализованная строка «Загрузка ...» не найдена в таблице строк «ParseUI» пакета CFBundle 0x7f9d93455640 (исполняемый, загруженный). 2015-05-17 22: 27: 17.784 CoreParse [3582: 216694] Локализованная строка «Username» не найдена в таблице строк «ParseUI» пакета CFBundle 0x7f9d93455640 (исполняемый, загруженный). 2015-05-17 22: 27: 17.784 CoreParse [3582: 216694] Локализованная строка «Пароль» не найдена в таблице строк «ParseUI» пакета CFBundle 0x7f9d93455640 (исполняемый, загруженный).

+0

смогли решить эту проблему, были вы? У меня такая же проблема. – estemendoza

+0

нет, к сожалению нет! –

ответ

4

Я столкнулся с той же проблемой. Но я обнаружил, что вы можете создать локализованный строковый файл с именем «ParseUI.strings» в своем проекте и локализовать его, затем модуль ParseUI прочитает локализованную строку из этого файла.

Содержание в локализованной строки (GitHub ссылка из ParseUI): https://github.com/ParsePlatform/ParseUI-iOS/raw/master/ParseUI/Resources/Localization/en.lproj/ParseUI.strings

1

Это то, что я сделал, чтобы временно решить эту проблему и по-прежнему использовать мой собственный файл Localizable.strings.

PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init]; 
logInViewController.delegate = self; 
[logInViewController setFacebookPermissions:[NSArray arrayWithObjects:@"user_friends",@"email", @"public_profile", nil]]; 
logInViewController.fields = PFLogInFieldsDefault | PFLogInFieldsFacebook | PFLogInFieldsTwitter | PFLogInFieldsSignUpButton; 
[logInViewController.logInView.usernameField setPlaceholder:NSLocalizedString(@"Username", @"")]; 
[logInViewController.logInView.passwordField setPlaceholder:NSLocalizedString(@"Password", @"")]; 
[logInViewController.logInView.logInButton setTitle:NSLocalizedString(@"Log In", @"") forState:UIControlStateNormal]; 
[logInViewController.logInView.passwordForgottenButton setTitle:NSLocalizedString(@"Forgot Password?", @"") forState:UIControlStateNormal]; 
[logInViewController.logInView.signUpButton setTitle:NSLocalizedString(@"Sign Up", @"") forState:UIControlStateNormal]; 

// Create the sign up view controller 
PFSignUpViewController *signUpViewController = [[PFSignUpViewController alloc] init]; 
[signUpViewController setDelegate:self]; // Set ourselves as the delegate 
[signUpViewController.signUpView.usernameField setPlaceholder:NSLocalizedString(@"Username", @"")]; 
[signUpViewController.signUpView.passwordField setPlaceholder:NSLocalizedString(@"Password", @"")]; 
[signUpViewController.signUpView.emailField setPlaceholder:NSLocalizedString(@"Email", @"")]; 
[signUpViewController.signUpView.signUpButton setTitle:NSLocalizedString(@"Sign Up", @"") forState:UIControlStateNormal]; 

// Assign our sign up controller to be displayed from the login controller 
[logInViewController setSignUpController:signUpViewController]; 

Есть еще проблема с кнопкой Sign Up, потому что они используют особое состояние, и я не мог понять, как изменить его должным образом.

+0

Я думаю, что «signUpViewController.signUpView.signUpButton» не является правильным элементом! Например: "logInViewController.logInView.signUpButton.titleLabel.textColor = [UIColor redColor];" тоже не работает. –