Translate iOS scan page
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#import "Autobonus-Swift.h"
|
||||
#import "ZBarSDK.h"
|
||||
|
||||
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
@@ -89,7 +90,9 @@
|
||||
} else if ([@"getCurrency" isEqualToString:call.method]) {
|
||||
result(buildSettings[@"currency"]);
|
||||
} else if ([@"startScanner" isEqualToString:call.method]) {
|
||||
ScannerViewController *modalViewController = [ScannerViewController new];
|
||||
NSString *locale = call.arguments[@"locale"];
|
||||
NSLog(@"locale is %@", locale);
|
||||
ScannerViewController *modalViewController = [[ScannerViewController alloc] initWithLocale:locale];
|
||||
modalViewController.platformChannel = weekPlatformChannel;
|
||||
[controller presentViewController:modalViewController animated:YES completion:nil];
|
||||
// [weekPlatformChannel invokeMethod:(@"findUserAndPurchase") arguments: @[@"79039441628", @"phone"]];
|
||||
|
||||
@@ -19,7 +19,12 @@ extension ZBarSymbolSet: Sequence {
|
||||
}
|
||||
|
||||
@objc class ScannerViewController: UIViewController, ZBarReaderDelegate, UITextFieldDelegate {
|
||||
|
||||
|
||||
enum AppLocale {
|
||||
case ru
|
||||
case en
|
||||
}
|
||||
|
||||
enum ButtonState {
|
||||
case card
|
||||
case phone
|
||||
@@ -32,20 +37,6 @@ extension ZBarSymbolSet: Sequence {
|
||||
}
|
||||
}
|
||||
|
||||
var inputText: String {
|
||||
switch self {
|
||||
case .card: return "Enter the barcode manualy"
|
||||
case .phone: return "Enter the phone manualy"
|
||||
}
|
||||
}
|
||||
|
||||
var errorText: String {
|
||||
switch self {
|
||||
case .card: return "User with card number %@ not found"
|
||||
case .phone: return "User with phone number %@ not found"
|
||||
}
|
||||
}
|
||||
|
||||
var searchType: String {
|
||||
switch self {
|
||||
case .card: return "card"
|
||||
@@ -53,9 +44,10 @@ extension ZBarSymbolSet: Sequence {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var appLocale: AppLocale
|
||||
var buttonState: ButtonState = .card
|
||||
|
||||
|
||||
var platformChannel: FlutterMethodChannel?
|
||||
let readerViewController = ZBarReaderViewController()
|
||||
|
||||
@@ -68,6 +60,75 @@ extension ZBarSymbolSet: Sequence {
|
||||
|
||||
//Кнопка настроек
|
||||
var settingButton: UIButton!
|
||||
|
||||
required init?(coder aDecoder: NSCoder) {
|
||||
self.appLocale = .en
|
||||
super.init(coder: aDecoder)
|
||||
}
|
||||
|
||||
init(locale: String) {
|
||||
switch locale {
|
||||
case "ru": self.appLocale = .ru; break
|
||||
default: self.appLocale = .en
|
||||
}
|
||||
super.init(nibName: nil, bundle: nil)
|
||||
}
|
||||
|
||||
func getCardHint() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Ввести номер карты вручную"
|
||||
default: return "Enter the barcode manually"
|
||||
}
|
||||
}
|
||||
|
||||
func getPhoneHint() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Ввести номер телефона вручную"
|
||||
default: return "Enter the phone manually"
|
||||
}
|
||||
}
|
||||
|
||||
func getInputHint() -> String {
|
||||
switch self.buttonState {
|
||||
case .card: return self.getCardHint()
|
||||
case .phone: return self.getPhoneHint()
|
||||
}
|
||||
}
|
||||
|
||||
func getErrorTitle() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Ошибка"
|
||||
default: return "Error"
|
||||
}
|
||||
}
|
||||
|
||||
func getCardErrorText() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Пользователь с номером карты %@ не найден"
|
||||
default: return "User with card number %@ not found"
|
||||
}
|
||||
}
|
||||
|
||||
func getPhoneErrorText() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Пользователь с номером телефона %@ не найден"
|
||||
default: return "User with phone number %@ not found"
|
||||
}
|
||||
}
|
||||
|
||||
func getErrorText() -> String {
|
||||
switch self.buttonState {
|
||||
case .card: return self.getCardErrorText()
|
||||
case .phone: return self.getPhoneErrorText()
|
||||
}
|
||||
}
|
||||
|
||||
func getDismissText() -> String {
|
||||
switch self.appLocale {
|
||||
case .ru: return "Скрыть"
|
||||
default: return "Dismiss"
|
||||
}
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
@@ -95,7 +156,7 @@ extension ZBarSymbolSet: Sequence {
|
||||
readerViewController.view.addGestureRecognizer(tap)
|
||||
|
||||
settingButton.setImage(self.buttonState.icon, for: .normal)
|
||||
textField.placeholder = self.buttonState.inputText
|
||||
textField.placeholder = self.getInputHint()
|
||||
|
||||
}
|
||||
|
||||
@@ -110,7 +171,7 @@ extension ZBarSymbolSet: Sequence {
|
||||
case .phone: self.buttonState = .card
|
||||
}
|
||||
settingButton.setImage(self.buttonState.icon, for: .normal)
|
||||
textField.placeholder = self.buttonState.inputText
|
||||
textField.placeholder = self.getInputHint()
|
||||
}
|
||||
|
||||
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
|
||||
@@ -137,11 +198,11 @@ extension ZBarSymbolSet: Sequence {
|
||||
|
||||
func showErrorAlert(_ str: String) {
|
||||
let alertController = UIAlertController(
|
||||
title: "Error",
|
||||
message: String(format: buttonState.errorText, str),
|
||||
title: self.getErrorTitle(),
|
||||
message: String(format: self.getErrorText(), str),
|
||||
preferredStyle: UIAlertControllerStyle.alert
|
||||
)
|
||||
alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default,handler: nil))
|
||||
alertController.addAction(UIAlertAction(title: self.getDismissText(), style: UIAlertActionStyle.default,handler: nil))
|
||||
|
||||
// if let appDelegate = UIApplication.shared.delegate as? FlutterAppDelegate {
|
||||
// appDelegate.window.rootViewController?.present(alertController, animated: true, completion: nil)
|
||||
|
||||
Reference in New Issue
Block a user