diff --git a/MoviaBox/Base/Controller/SPTabBarController.swift b/MoviaBox/Base/Controller/SPTabBarController.swift index e0d5529..853363c 100644 --- a/MoviaBox/Base/Controller/SPTabBarController.swift +++ b/MoviaBox/Base/Controller/SPTabBarController.swift @@ -26,7 +26,7 @@ class SPTabBarController: UITabBarController { let nav3 = createNavigationController(viewController: SPMyListViewController(), title: "movia_my_list".localized, image: UIImage(named: "tabbar_icon_04"), selectedImage: UIImage(named: "tabbar_icon_04_selected")) - let nav4 = createNavigationController(viewController: SPRewardsViewController(), title: "Rewards".localized, image: UIImage(named: "tabbar_icon_04"), selectedImage: UIImage(named: "tabbar_icon_04_selected")) + let nav4 = createNavigationController(viewController: SPRewardsViewController(), title: "movia_rewards".localized, image: UIImage(named: "tabbar_icon_04"), selectedImage: UIImage(named: "tabbar_icon_04_selected")) let nav5 = createNavigationController(viewController: SPMineViewController(), title: "movia_profile".localized, image: UIImage(named: "tabbar_icon_05"), selectedImage: UIImage(named: "tabbar_icon_05_selected")) diff --git a/MoviaBox/Base/Extension/UIColor+SPAdd.swift b/MoviaBox/Base/Extension/UIColor+SPAdd.swift index 224c3b3..d07bc21 100644 --- a/MoviaBox/Base/Extension/UIColor+SPAdd.swift +++ b/MoviaBox/Base/Extension/UIColor+SPAdd.swift @@ -404,5 +404,9 @@ extension UIColor { static func color321F1F(alpha: CGFloat = 1) -> UIColor { return color(hex: 0x321F1F, alpha: alpha) } + + static func colorFF473D(alpha: CGFloat = 1) -> UIColor { + return color(hex: 0xFF473D, alpha: alpha) + } } diff --git a/MoviaBox/Base/Networking/API/SPWalletAPI.swift b/MoviaBox/Base/Networking/API/SPWalletAPI.swift index 46364f1..fce01d1 100644 --- a/MoviaBox/Base/Networking/API/SPWalletAPI.swift +++ b/MoviaBox/Base/Networking/API/SPWalletAPI.swift @@ -37,7 +37,7 @@ class SPWalletAPI: NSObject { SPNetwork.request(parameters: param) { (response: SPNetworkResponse) in if let message = response.data?.message, message.count > 0 { if response.data?.code == 30007 { - SPToast.show(text: "kToastMessage_04".localized) + SPToast.show(text: "movia_member_toast_01".localized) } else { SPToast.show(text: message) } diff --git a/MoviaBox/Base/Networking/Base/SPNetwork.swift b/MoviaBox/Base/Networking/Base/SPNetwork.swift index 65937ab..6699369 100644 --- a/MoviaBox/Base/Networking/Base/SPNetwork.swift +++ b/MoviaBox/Base/Networking/Base/SPNetwork.swift @@ -137,7 +137,7 @@ class SPNetwork: NSObject { var res = SPNetworkResponse() res.code = -1 if parameters.isToast { - SPToast.show(text: "kToastMessage_03".localized) + SPToast.show(text: "movia_network_toast_01".localized) } completion?(res) break diff --git a/MoviaBox/Base/View/SPApnsAlertView.swift b/MoviaBox/Base/View/SPApnsAlertView.swift index 6cab0ec..0d91a53 100644 --- a/MoviaBox/Base/View/SPApnsAlertView.swift +++ b/MoviaBox/Base/View/SPApnsAlertView.swift @@ -30,7 +30,7 @@ class SPApnsAlertView: UIView { let label = UILabel() label.font = .fontMedium(ofSize: 20) label.textColor = .colorFFFFFF() - label.text = "kAlertMessage_03".localized + label.text = "movia_open_notification".localized label.textAlignment = .center label.numberOfLines = 0 return label @@ -40,7 +40,7 @@ class SPApnsAlertView: UIView { let label = UILabel() label.textColor = .colorA8B8C3() label.font = .fontRegular(ofSize: 14) - label.text = "kAlertMessage_04".localized + label.text = "movia_open_notification_info".localized label.textAlignment = .center label.numberOfLines = 0 return label @@ -57,7 +57,7 @@ class SPApnsAlertView: UIView { private lazy var allowButton: UIButton = { let button = UIButton(type: .custom) - button.setTitle("Allow".localized, for: .normal) + button.setTitle("movia_allow".localized, for: .normal) button.titleLabel?.font = .fontMedium(ofSize: 16) button.setTitleColor(.colorFFFFFF(), for: .normal) button.layer.cornerRadius = 21 diff --git a/MoviaBox/Base/WebView/SPCampaignWebViewController.swift b/MoviaBox/Base/WebView/SPCampaignWebViewController.swift index 189e342..c37c1c3 100644 --- a/MoviaBox/Base/WebView/SPCampaignWebViewController.swift +++ b/MoviaBox/Base/WebView/SPCampaignWebViewController.swift @@ -15,13 +15,13 @@ class SPCampaignWebViewController: SPWebViewController { super.viewDidLoad() autoTitle = false if urlStr == SPFeedBackListWebUrl { - self.title = "Feedback History".localized + self.title = "movia_feedback_history".localized } else if urlStr == SPFeedBackHomeWebUrl { self.title = "movia_profile_Feedback".localized } else if urlStr == SPFeedBackDetailWebUrl { - self.title = "Feedback Details".localized + self.title = "movia_feedback_details".localized } else if urlStr == SPRewardsWebUrl { - self.title = "Rewards".localized + self.title = "movia_rewards".localized } self.webView.scrollView.sp_addRefreshHeader { [weak self] in diff --git a/MoviaBox/Base/WebView/SPWebViewController+ScriptMessage.swift b/MoviaBox/Base/WebView/SPWebViewController+ScriptMessage.swift index ce1ad0d..b2eb194 100644 --- a/MoviaBox/Base/WebView/SPWebViewController+ScriptMessage.swift +++ b/MoviaBox/Base/WebView/SPWebViewController+ScriptMessage.swift @@ -91,7 +91,11 @@ extension SPWebViewController { if settings.authorizationStatus != .authorized {//未开启通知打开设置 SPAPPTool.openApnsSetting() } else {//开启通知上报结果 - SPRewardsAPI.requestUploadOpenNotify(completer: nil) + SPRewardsAPI.requestUploadOpenNotify { [weak self] finish in + if finish { + self?.reload() + } + } } } } diff --git a/MoviaBox/Class/Guide/Controller/SPGuideViewController.swift b/MoviaBox/Class/Guide/Controller/SPGuideViewController.swift index 0bd0735..1e7bad6 100644 --- a/MoviaBox/Class/Guide/Controller/SPGuideViewController.swift +++ b/MoviaBox/Class/Guide/Controller/SPGuideViewController.swift @@ -18,7 +18,7 @@ class SPGuideViewController: SPViewController { private lazy var button: UIButton = { let button = JXButton(type: .custom) - button.setTitle("Open".localized, for: .normal) + button.setTitle("movia_open".localized, for: .normal) button.setTitleColor(.colorFFFFFF(), for: .normal) button.jx_font = .fontRegular(ofSize: 18) button.leftAndRightMargin = 33 diff --git a/MoviaBox/Class/Home/View/SPHomePlayHistoryCell.swift b/MoviaBox/Class/Home/View/SPHomePlayHistoryCell.swift index 67cc530..880e5ba 100644 --- a/MoviaBox/Class/Home/View/SPHomePlayHistoryCell.swift +++ b/MoviaBox/Class/Home/View/SPHomePlayHistoryCell.swift @@ -18,7 +18,7 @@ class SPHomePlayHistoryCell: SPCollectionViewCell { // model?.episode_total let episode_total = "\(model?.episode_total ?? 0)" - let episode = String(format: "EP.%@/%@", "\(model?.current_episode ?? "0")", episode_total) + let episode = String(format: "movia_text_episcode_ios".localized, "\(model?.current_episode ?? "0")") + "/\(episode_total)" let episodeString = NSMutableAttributedString(string: episode) episodeString.color = .colorFF5100() diff --git a/MoviaBox/Class/Login/Controller/SPLoginViewController.swift b/MoviaBox/Class/Login/Controller/SPLoginViewController.swift index 7618a8e..4825c54 100644 --- a/MoviaBox/Class/Login/Controller/SPLoginViewController.swift +++ b/MoviaBox/Class/Login/Controller/SPLoginViewController.swift @@ -41,9 +41,10 @@ class SPLoginViewController: SPViewController { }() private lazy var agreementLabel: YYLabel = { - let agreementStr = "kLoginAgreementText".localized let userAgreementStr = "movia_profile_User_Agreement".localized let privacyPolicy = "movia_profile_Privacy_Policy".localized + let agreementStr = String(format: "movia_login_agreement_tip".localized, userAgreementStr, privacyPolicy) + let range1 = agreementStr.ocString().range(of: userAgreementStr) let range2 = agreementStr.ocString().range(of: privacyPolicy) diff --git a/MoviaBox/Class/Mine/Controller/SPAboutUsViewController.swift b/MoviaBox/Class/Mine/Controller/SPAboutUsViewController.swift index f13d610..db160c6 100644 --- a/MoviaBox/Class/Mine/Controller/SPAboutUsViewController.swift +++ b/MoviaBox/Class/Mine/Controller/SPAboutUsViewController.swift @@ -14,9 +14,9 @@ class SPAboutUsViewController: SPViewController { SPMineItem(type: .userAgreement, title: "movia_profile_User_Agreement".localized), SPMineItem(type: .privacyPolicy, title: "movia_profile_Privacy_Policy".localized), SPMineItem(type: .informationProtection, title: "movia_child_protection_text".localized), - SPMineItem(type: .civizatioConvention, title: "Youth Civilization Convention".localized), - SPMineItem(type: .informationSharing, title: "List of Third-Party Sharing of Personal Information".localized), - SPMineItem(type: .persoInforDisclosure, title: "Explicit List of Personal Information Collection".localized), + SPMineItem(type: .civizatioConvention, title: "movia_civizatio_convention_text".localized), + SPMineItem(type: .informationSharing, title: "movia_information_sharing_text".localized), + SPMineItem(type: .persoInforDisclosure, title: "movia_persoInfor_disclosure_text".localized), ] return arr }() diff --git a/MoviaBox/Class/Mine/Controller/SPDeleteAccountViewController.swift b/MoviaBox/Class/Mine/Controller/SPDeleteAccountViewController.swift index 01c6905..d4437ea 100644 --- a/MoviaBox/Class/Mine/Controller/SPDeleteAccountViewController.swift +++ b/MoviaBox/Class/Mine/Controller/SPDeleteAccountViewController.swift @@ -10,17 +10,16 @@ import UIKit class SPDeleteAccountViewController: SPViewController { - private lazy var imageArr: [UIImage] = { - let arr = [ - UIImage(named: "delete_account_image_01")!, - UIImage(named: "delete_account_image_02")!, - UIImage(named: "delete_account_image_03")!, - UIImage(named: "delete_account_image_04")!, - ] - return arr - }() - - private lazy var imageViewArr: [UIImageView] = [] +// private lazy var imageArr: [UIImage] = { +// let arr = [ +// UIImage(named: "delete_account_image_01")!, +// UIImage(named: "delete_account_image_02")!, +// UIImage(named: "delete_account_image_03")!, +// UIImage(named: "delete_account_image_04")!, +// ] +// return arr +// }() + //MARK: UI属性 private lazy var scrollView: SPScrollView = { @@ -28,6 +27,51 @@ class SPDeleteAccountViewController: SPViewController { return scrollView }() + private lazy var stackView: UIStackView = { + let view = UIStackView() + view.axis = .vertical + view.spacing = 18 + + + view.addArrangedSubview(textView1) + view.addArrangedSubview(textView3) + view.addArrangedSubview(textView2) + + + + return view + }() + + private lazy var iconImageView: UIImageView = { + let imageView = UIImageView(image: UIImage(named: "delete_account_icon_01")) + return imageView + }() + + private lazy var iconTextLabel: UILabel = { + let label = UILabel() + label.font = .fontMedium(ofSize: 14) + label.textColor = .colorFF473D() + label.text = "DeleteAccount_tips_1".localized + return label + }() + + private lazy var textView1: SPDeleteAccountNormalTextView = { + let view = SPDeleteAccountNormalTextView() + view.text = "DeleteAccount_tips_2".localized + return view + }() + + private lazy var textView2: SPDeleteAccountNormalTextView = { + let view = SPDeleteAccountNormalTextView() + view.text = "DeleteAccount_tips_3".localized + return view + }() + + private lazy var textView3: SPDeleteAccountDetailTextView = { + let view = SPDeleteAccountDetailTextView() + return view + }() + private lazy var lineView: UIView = { let view = UIView() view.backgroundColor = .colorFFFFFF(alpha: 0.25) @@ -48,13 +92,13 @@ class SPDeleteAccountViewController: SPViewController { label.font = .fontMedium(ofSize: 14) label.textColor = .colorFFFFFF() label.numberOfLines = 0 - label.text = "kDeleteAccountCheckText".localized + label.text = "DeleteAccount_tips_4".localized return label }() private lazy var deleteButton: UIButton = { let button = UIButton(type: .custom) - button.setTitle("Delete Account".localized, for: .normal) + button.setTitle("DeleteAccount".localized, for: .normal) button.setTitleColor(.color8B8B8B(), for: .disabled) button.setTitleColor(.colorFFFFFF(), for: .normal) button.setBackgroundImage(UIImage(color: .color272A30()), for: .disabled) @@ -69,7 +113,7 @@ class SPDeleteAccountViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() - self.title = "Account Deletion".localized + self.title = "movia_Account_Deletion".localized setBackgroundView(isShowGradient: false, bgImage: nil) @@ -108,47 +152,41 @@ extension SPDeleteAccountViewController { private func _setupUI() { view.addSubview(scrollView) + scrollView.addSubview(iconImageView) + scrollView.addSubview(iconTextLabel) + scrollView.addSubview(stackView) scrollView.addSubview(lineView) scrollView.addSubview(checkButton) scrollView.addSubview(checkLabel) scrollView.addSubview(deleteButton) - imageArr.forEach { - let imageSize = $0.size - - let imageView = UIImageView(image: $0) - scrollView.addSubview(imageView) - - if let lastImageView = self.imageViewArr.last { - let width = kSPScreenWidth - 32 - let height = imageSize.height / imageSize.width * width - - imageView.snp.makeConstraints { make in - make.top.equalTo(lastImageView.snp.bottom).offset(18) - make.width.equalTo(width) - make.height.equalTo(height) - make.centerX.equalToSuperview() - } - } else { - imageView.snp.makeConstraints { make in - make.top.equalToSuperview().offset(10) - make.width.equalTo(kSPMainW(imageSize.width)) - make.height.equalTo(kSPMainW(imageSize.height)) - make.centerX.equalToSuperview() - } - } - self.imageViewArr.append(imageView) - } - scrollView.snp.makeConstraints { make in make.edges.equalToSuperview() } + iconImageView.snp.makeConstraints { make in + make.centerX.equalToSuperview() + make.top.equalToSuperview().offset(10) + } + + iconTextLabel.snp_makeConstraints { make in + make.centerX.equalToSuperview() + make.top.equalTo(iconImageView.snp.bottom).offset(12) + } + + stackView.snp.makeConstraints { make in + make.left.equalToSuperview().offset(16) + make.centerX.equalToSuperview() + make.top.equalTo(iconTextLabel.snp.bottom).offset(18) + } + + + lineView.snp.makeConstraints { make in make.centerX.equalToSuperview() make.width.equalTo(kSPScreenWidth - 32) - make.top.equalTo(self.imageViewArr.last!.snp.bottom).offset(18) + make.top.equalTo(stackView.snp.bottom).offset(18) make.height.equalTo(1) } diff --git a/MoviaBox/Class/Mine/Controller/SPSettingsViewController.swift b/MoviaBox/Class/Mine/Controller/SPSettingsViewController.swift index 5a5f0b6..d709dc8 100644 --- a/MoviaBox/Class/Mine/Controller/SPSettingsViewController.swift +++ b/MoviaBox/Class/Mine/Controller/SPSettingsViewController.swift @@ -128,7 +128,7 @@ extension SPSettingsViewController { } ///退出登录 private func logout() { - let alert = UIAlertController(title: nil, message: "Confirm logout?".localized, preferredStyle: .alert) + let alert = UIAlertController(title: nil, message: "movia_confirm_logout".localized, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "movia_affirm".localized, style: .default, handler: { _ in SPLoginManager.manager.logout { [weak self] isFinish in guard let self = self else { return } @@ -145,13 +145,13 @@ extension SPSettingsViewController { let cache = SPAppCacheManager.manager.allCache var arr = [ - SPMineItem(type: .clearCache, title: "Clear Cache".localized, subtitle: SPAppCacheManager.cacheToString(cache: cache)), + SPMineItem(type: .clearCache, title: "movia_Clear_cache".localized, subtitle: SPAppCacheManager.cacheToString(cache: cache)), SPMineItem(type: .aboutUs, title: "movia_profile_About_Us".localized), ] if SPLoginManager.manager.isLogin { - arr.append(SPMineItem(type: .deleteAccount, title: "Delete Account".localized)) - arr.append(SPMineItem(type: .logout, title: "Signout".localized)) + arr.append(SPMineItem(type: .deleteAccount, title: "DeleteAccount".localized)) + arr.append(SPMineItem(type: .logout, title: "movia_signout".localized)) } diff --git a/MoviaBox/Class/Mine/View/SPDeleteAccountDetailTextView.swift b/MoviaBox/Class/Mine/View/SPDeleteAccountDetailTextView.swift new file mode 100644 index 0000000..8e81f41 --- /dev/null +++ b/MoviaBox/Class/Mine/View/SPDeleteAccountDetailTextView.swift @@ -0,0 +1,90 @@ +// +// SPDeleteAccountDetailTextView.swift +// MoviaBox +// +// Created by 佳尔 on 2025/5/12. +// + +import UIKit + +class SPDeleteAccountDetailTextView: SPDeleteAccountTextView { + + //MARK: UI属性 + private lazy var titleLabel: UILabel = { + let label = UILabel() + label.font = .fontMedium(ofSize: 14) + label.textColor = .colorFFFFFF() + label.numberOfLines = 0 + label.text = "DeleteAccount_tips_5".localized + return label + }() + + private lazy var stackView: UIStackView = { + let view = UIStackView(arrangedSubviews: [tipView1, tipView2, tipView3, tipView4]) + view.axis = .vertical + view.spacing = 12 + + return view + }() + + private lazy var tipView1: SPDeleteAccountTipView = { + let view = SPDeleteAccountTipView() + view.title = "DeleteAccount_tips_title_1".localized + view.text = "DeleteAccount_tips_text_1".localized + return view + }() + + private lazy var tipView2: SPDeleteAccountTipView = { + let view = SPDeleteAccountTipView() + view.title = "DeleteAccount_tips_title_2".localized + view.text = "DeleteAccount_tips_text_2".localized + return view + }() + + private lazy var tipView3: SPDeleteAccountTipView = { + let view = SPDeleteAccountTipView() + view.title = "DeleteAccount_tips_title_3".localized + view.text = "DeleteAccount_tips_text_3".localized + return view + }() + + private lazy var tipView4: SPDeleteAccountTipView = { + let view = SPDeleteAccountTipView() + view.title = "DeleteAccount_tips_title_4".localized +// view.text = "DeleteAccount_tips_text_1".localized + return view + }() + + + override init(frame: CGRect) { + super.init(frame: frame) + + _setupUI() + } + + @MainActor required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +extension SPDeleteAccountDetailTextView { + + private func _setupUI() { + addSubview(titleLabel) + addSubview(stackView) + + titleLabel.snp.makeConstraints { make in + make.left.equalToSuperview().offset(13) + make.top.equalToSuperview().offset(12) + make.right.lessThanOrEqualToSuperview().offset(-13) + } + + stackView.snp.makeConstraints { make in + make.left.right.equalToSuperview() + make.top.equalTo(titleLabel.snp.bottom).offset(12) + make.bottom.equalToSuperview().offset(-10) + } + + } + +} diff --git a/MoviaBox/Class/Mine/View/SPDeleteAccountNormalTextView.swift b/MoviaBox/Class/Mine/View/SPDeleteAccountNormalTextView.swift new file mode 100644 index 0000000..e82555d --- /dev/null +++ b/MoviaBox/Class/Mine/View/SPDeleteAccountNormalTextView.swift @@ -0,0 +1,43 @@ +// +// SPDeleteAccountNormalTextView.swift +// MoviaBox +// +// Created by 佳尔 on 2025/5/12. +// + +import UIKit + +class SPDeleteAccountNormalTextView: SPDeleteAccountTextView { + + var text: String? { + didSet { + label.text = text + } + } + + private lazy var label: UILabel = { + let label = UILabel() + label.numberOfLines = 0 + label.font = .fontMedium(ofSize: 14) + label.textColor = .colorFFFFFF() + return label + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + addSubview(label) + + label.snp.makeConstraints { make in + make.left.equalToSuperview().offset(12) + make.centerY.equalToSuperview() + make.top.equalToSuperview().offset(12) + make.right.lessThanOrEqualToSuperview().offset(-12) + } + } + + @MainActor required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/MoviaBox/Class/Mine/View/SPDeleteAccountTextView.swift b/MoviaBox/Class/Mine/View/SPDeleteAccountTextView.swift new file mode 100644 index 0000000..ed6fbf3 --- /dev/null +++ b/MoviaBox/Class/Mine/View/SPDeleteAccountTextView.swift @@ -0,0 +1,24 @@ +// +// SPDeleteAccountTextView.swift +// MoviaBox +// +// Created by 佳尔 on 2025/5/12. +// + +import UIKit + +class SPDeleteAccountTextView: UIView { + + + override init(frame: CGRect) { + super.init(frame: frame) + backgroundColor = .color272A30() + layer.cornerRadius = 8 + layer.masksToBounds = true + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} diff --git a/MoviaBox/Class/Mine/View/SPDeleteAccountTipView.swift b/MoviaBox/Class/Mine/View/SPDeleteAccountTipView.swift new file mode 100644 index 0000000..1a86528 --- /dev/null +++ b/MoviaBox/Class/Mine/View/SPDeleteAccountTipView.swift @@ -0,0 +1,90 @@ +// +// SPDeleteAccountTipView.swift +// MoviaBox +// +// Created by 佳尔 on 2025/5/12. +// + +import UIKit + +class SPDeleteAccountTipView: UIView { + +// override var intrinsicContentSize: CGSize { +// return CGSize(width: kSPScreenWidth, height: 100) +// } + + var title: String? { + didSet { + titleLabel.text = title + } + } + + var text: String? { + didSet { + textLabel.text = text + } + } + + private lazy var dotView: UIView = { + let view = UIView() + view.backgroundColor = .colorFFFFFF() + view.layer.cornerRadius = 2 + view.layer.masksToBounds = true + return view + }() + + private lazy var titleLabel: UILabel = { + let label = UILabel() + label.font = .fontMedium(ofSize: 12) + label.textColor = .colorFFFFFF() + return label + }() + + private lazy var textLabel: UILabel = { + let label = UILabel() + label.font = .fontRegular(ofSize: 12) + label.textColor = .color8B8B8B() + label.numberOfLines = 0 + return label + }() + + override init(frame: CGRect) { + super.init(frame: frame) + + _setupUI() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +extension SPDeleteAccountTipView { + + private func _setupUI() { + addSubview(dotView) + addSubview(titleLabel) + addSubview(textLabel) + + dotView.snp.makeConstraints { make in + make.left.equalToSuperview().offset(16) + make.centerY.equalTo(titleLabel) + make.width.height.equalTo(4) + } + + titleLabel.snp.makeConstraints { make in + make.top.equalToSuperview() + make.left.equalToSuperview().offset(24) + make.right.lessThanOrEqualToSuperview().offset(-24) + } + + textLabel.snp.makeConstraints { make in + make.left.equalTo(titleLabel) + make.top.equalTo(titleLabel.snp.bottom).offset(2) + make.right.lessThanOrEqualToSuperview().offset(-24) + make.bottom.equalToSuperview() + } + } + +} diff --git a/MoviaBox/Class/Mine/View/SPMineHeaderView.swift b/MoviaBox/Class/Mine/View/SPMineHeaderView.swift index b92e50e..ba9801a 100644 --- a/MoviaBox/Class/Mine/View/SPMineHeaderView.swift +++ b/MoviaBox/Class/Mine/View/SPMineHeaderView.swift @@ -124,7 +124,7 @@ class SPMineHeaderView: UIView { private lazy var loginButton: UIButton = { let button = UIButton(type: .custom) - button.setTitle("Log in".localized, for: .normal) + button.setTitle("movia_profile_Log_in".localized, for: .normal) button.setTitleColor(.colorFFFFFF(), for: .normal) button.titleLabel?.font = .fontMedium(ofSize: 16) button.setBackgroundImage(UIImage(color: .colorFFFFFF(alpha: 0.23)), for: .normal) diff --git a/MoviaBox/Class/Mine/View/SPMineMemberNoView.swift b/MoviaBox/Class/Mine/View/SPMineMemberNoView.swift index 5df4efc..029e2a5 100644 --- a/MoviaBox/Class/Mine/View/SPMineMemberNoView.swift +++ b/MoviaBox/Class/Mine/View/SPMineMemberNoView.swift @@ -18,7 +18,7 @@ class SPMineMemberNoView: UIView { private lazy var titleLabel: UILabel = { let label = UILabel() - label.text = "You are not a member yet".localized + label.text = "movia_not_member_text".localized label.textColor = .colorBBB9B3() label.font = .fontMedium(ofSize: 16) label.adjustsFontSizeToFitWidth = true @@ -28,7 +28,7 @@ class SPMineMemberNoView: UIView { private lazy var activateButton: UIButton = { let button = JXButton(type: .custom) button.leftAndRightMargin = 13 - button.setTitle("Activate".localized, for: .normal) + button.setTitle("movia_activate".localized, for: .normal) button.setTitleColor(.colorFFD791(), for: .normal) button.jx_font = .fontMedium(ofSize: 14) button.layer.cornerRadius = 14 @@ -44,7 +44,7 @@ class SPMineMemberNoView: UIView { let label = UILabel() label.font = .fontMedium(ofSize: 12) label.textColor = .colorA69B89() - label.text = "Members can enjoy".localized + label.text = "movia_members_can_enjoy".localized return label }() @@ -52,7 +52,7 @@ class SPMineMemberNoView: UIView { let label = UILabel() label.font = .fontMedium(ofSize: 12) label.textColor = .colorFFD28F() - label.text = "Unlimited access to all series".localized + label.text = "movia_not_member_tip_01".localized return label }() diff --git a/MoviaBox/Class/Mine/View/SPMineMemberYesView.swift b/MoviaBox/Class/Mine/View/SPMineMemberYesView.swift index 320ed69..61b4a6c 100644 --- a/MoviaBox/Class/Mine/View/SPMineMemberYesView.swift +++ b/MoviaBox/Class/Mine/View/SPMineMemberYesView.swift @@ -13,9 +13,9 @@ class SPMineMemberYesView: UIView { didSet { let date = Date(timeIntervalSince1970: userInfo?.vip_end_time ?? 0) #if DEBUG - expirationTimeLabel.text = String(format: "VlP expiration time : %@".localized, date.format(dateFormat: "yyyy-MM-dd HH:mm:ss")) + expirationTimeLabel.text = String(format: "movia_VlP_expiration_time_#".localized, date.format(dateFormat: "yyyy-MM-dd HH:mm:ss")) #else - expirationTimeLabel.text = String(format: "VlP expiration time : %@".localized, date.format(dateFormat: "yyyy-MM-dd")) + expirationTimeLabel.text = String(format: "movia_VlP_expiration_time_#".localized, date.format(dateFormat: "yyyy-MM-dd")) #endif } @@ -39,13 +39,12 @@ class SPMineMemberYesView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 12) label.textColor = .colorFFD5B2() - label.text = "VlP expiration time : 2023-11-23" return label }() private lazy var openButton: UIButton = { let button = JXButton(type: .custom) - button.setTitle("Stream Unlimited".localized, for: .normal) + button.setTitle("movia_stream_unlimited".localized, for: .normal) button.setTitleColor(.color321704(), for: .normal) button.jx_font = .fontRegular(ofSize: 12) button.leftAndRightMargin = 12 diff --git a/MoviaBox/Class/Mine/View/SPMinePlayHistoryCell.swift b/MoviaBox/Class/Mine/View/SPMinePlayHistoryCell.swift index 43418df..6c57fb2 100644 --- a/MoviaBox/Class/Mine/View/SPMinePlayHistoryCell.swift +++ b/MoviaBox/Class/Mine/View/SPMinePlayHistoryCell.swift @@ -15,7 +15,7 @@ class SPMinePlayHistoryCell: SPCollectionViewCell { titleLabel.text = model?.name let episode_total = "\(model?.episode_total ?? 0)" - let episode = String(format: "EP.%@/%@", "\(model?.current_episode ?? "0")", episode_total) + let episode = String(format: "movia_text_episcode_ios".localized, "\(model?.current_episode ?? "0")") + "/\(episode_total)" let episodeString = NSMutableAttributedString(string: episode) episodeString.color = .colorE6334B() diff --git a/MoviaBox/Class/Mine/View/SPMineWalletView.swift b/MoviaBox/Class/Mine/View/SPMineWalletView.swift index 667af43..5135e4f 100644 --- a/MoviaBox/Class/Mine/View/SPMineWalletView.swift +++ b/MoviaBox/Class/Mine/View/SPMineWalletView.swift @@ -55,7 +55,7 @@ class SPMineWalletView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 12) label.textColor = .colorFFFFFF() - label.text = "My wallet".localized + label.text = "movia_profile_My_Wallet".localized return label }() @@ -73,7 +73,7 @@ class SPMineWalletView: UIView { private lazy var storeButton: UIButton = { let button = UIButton(type: .custom) button.setBackgroundImage(UIImage(named: "store_button_01"), for: .normal) - button.setTitle("Store".localized, for: .normal) + button.setTitle("movia_Store".localized, for: .normal) button.setTitleColor(.colorFFFFFF(), for: .normal) button.titleLabel?.font = .fontMedium(ofSize: 18) button.addTarget(self, action: #selector(handleStoreButton), for: .touchUpInside) diff --git a/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift b/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift index 4aabe8b..8771ee7 100644 --- a/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift +++ b/MoviaBox/Class/Player/Controller/SPPlayerDetailViewController.swift @@ -216,10 +216,10 @@ extension SPPlayerDetailViewController { switch model.status { case .jump: - SPToast.show(text: "kAlertMessage_01".localized) + SPToast.show(text: "movia_jump_unlock_error".localized) case .noPlay: - SPToast.show(text: "kAlertMessage_02".localized) + SPToast.show(text: "movia_buy_fail_toast_01".localized) case .notEnough: self.onPlayBuy() diff --git a/MoviaBox/Class/Player/View/SPPlayBuyView.swift b/MoviaBox/Class/Player/View/SPPlayBuyView.swift index f30f6ed..9a7a2ac 100644 --- a/MoviaBox/Class/Player/View/SPPlayBuyView.swift +++ b/MoviaBox/Class/Player/View/SPPlayBuyView.swift @@ -40,13 +40,13 @@ class SPPlayBuyView: HWPanModalContentView { let label = UILabel() label.font = .fontMedium(ofSize: 16) label.textColor = .colorFFFFFF() - label.text = "Store".localized + label.text = "movia_Store".localized return label }() private lazy var restoreButton: UIButton = { let button = UIButton(type: .custom) - button.setTitle("Restore".localized, for: .normal) + button.setTitle("movia_Restore".localized, for: .normal) button.setTitleColor(.colorFFFFFF(alpha: 0.5), for: .normal) button.titleLabel?.font = .fontRegular(ofSize: 14) button.addTarget(self, action: #selector(handleRestoreButton), for: .touchUpInside) diff --git a/MoviaBox/Class/Player/View/SPPlayLockView.swift b/MoviaBox/Class/Player/View/SPPlayLockView.swift index 3c162f1..e0b907d 100644 --- a/MoviaBox/Class/Player/View/SPPlayLockView.swift +++ b/MoviaBox/Class/Player/View/SPPlayLockView.swift @@ -40,7 +40,7 @@ class SPPlayLockView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 18) label.textColor = .colorFFFFFF() - label.text = "This episode is locked".localized + label.text = "movia_video_lock_tip".localized return label }() @@ -107,7 +107,7 @@ class SPPlayLockView: UIView { @objc private func handleUnlockButton() { if isUnlockUpEpisode { - SPToast.show(text: "kAlertMessage_01".localized) + SPToast.show(text: "movia_jump_unlock_error".localized) return } @@ -122,10 +122,10 @@ class SPPlayLockView: UIView { unlockStackView.addArrangedSubview(unlockTitleLabel) if isUnlockUpEpisode { - unlockTitleLabel.text = "Unlock the previous episode".localized + unlockTitleLabel.text = "movia_video_lock_tip_02".localized } else { - unlockTitleLabel.text = "Unlock now for".localized + unlockTitleLabel.text = "movia_unlock_now_for".localized unlockStackView.addArrangedSubview(coinView) } diff --git a/MoviaBox/Class/Wallet/Controller/SPConsumptionRecordsViewController.swift b/MoviaBox/Class/Wallet/Controller/SPConsumptionRecordsViewController.swift index 33b677e..95b3df0 100644 --- a/MoviaBox/Class/Wallet/Controller/SPConsumptionRecordsViewController.swift +++ b/MoviaBox/Class/Wallet/Controller/SPConsumptionRecordsViewController.swift @@ -34,7 +34,7 @@ class SPConsumptionRecordsViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() - self.title = "Consumption Records".localized + self.title = "movia_Consumption_records".localized self.edgesForExtendedLayout = .top _setupUI() diff --git a/MoviaBox/Class/Wallet/Controller/SPOrderRecordsPageViewController.swift b/MoviaBox/Class/Wallet/Controller/SPOrderRecordsPageViewController.swift index c3f0218..e143624 100644 --- a/MoviaBox/Class/Wallet/Controller/SPOrderRecordsPageViewController.swift +++ b/MoviaBox/Class/Wallet/Controller/SPOrderRecordsPageViewController.swift @@ -9,7 +9,7 @@ import UIKit class SPOrderRecordsPageViewController: SPViewController { - private lazy var titles: [String] = ["Coin Record".localized, "VIP Record".localized] + private lazy var titles: [String] = ["movia_Coin_Record".localized, "VIP Record".localized] private lazy var viewControllers: [UIViewController] = { let vc1 = SPCoinOrderRecordViewController() let vc2 = SPVIPOrderRecordViewController() @@ -44,7 +44,7 @@ class SPOrderRecordsPageViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() - self.title = "Order Records".localized + self.title = "movia_order_records".localized self.edgesForExtendedLayout = .top _setupUI() diff --git a/MoviaBox/Class/Wallet/Controller/SPRewardCoinsViewController.swift b/MoviaBox/Class/Wallet/Controller/SPRewardCoinsViewController.swift index 75b687e..a523191 100644 --- a/MoviaBox/Class/Wallet/Controller/SPRewardCoinsViewController.swift +++ b/MoviaBox/Class/Wallet/Controller/SPRewardCoinsViewController.swift @@ -33,7 +33,7 @@ class SPRewardCoinsViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() - self.title = "Reward Coins".localized + self.title = "movia_Reward_Coins".localized self.edgesForExtendedLayout = .top _setupUI() diff --git a/MoviaBox/Class/Wallet/Controller/SPStoreViewController.swift b/MoviaBox/Class/Wallet/Controller/SPStoreViewController.swift index 1c6e01f..6f85239 100644 --- a/MoviaBox/Class/Wallet/Controller/SPStoreViewController.swift +++ b/MoviaBox/Class/Wallet/Controller/SPStoreViewController.swift @@ -97,15 +97,15 @@ class SPStoreViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() - self.title = "Store".localized + self.title = "movia_Store".localized self.edgesForExtendedLayout = .top setBackgroundView(isShowGradient: false, bgImage: UIImage(named: "buy_bg_image_02")) - let rightBarButton = UIBarButtonItem(title: "Restore".localized, style: .plain, target: self, action: #selector(handelRightBarButton)) + let rightBarButton = UIBarButtonItem(title: "movia_Restore".localized, style: .plain, target: self, action: #selector(handelRightBarButton)) self.navigationItem.rightBarButtonItem = rightBarButton - tipTitleLabel.text = "kStoreTipTitle".localized - tipTextLabel.text = "kStoreTipText".localized + tipTitleLabel.text = "movia_store_tips_title_ios".localized + tipTextLabel.text = "movia_store_tips_ios".localized.replacingOccurrences(of: "\\n", with: "\n") _setupUI() diff --git a/MoviaBox/Class/Wallet/Controller/SPWalletViewController.swift b/MoviaBox/Class/Wallet/Controller/SPWalletViewController.swift index 5c14e6e..567498e 100644 --- a/MoviaBox/Class/Wallet/Controller/SPWalletViewController.swift +++ b/MoviaBox/Class/Wallet/Controller/SPWalletViewController.swift @@ -11,9 +11,9 @@ class SPWalletViewController: SPViewController { private lazy var dataArr: [SPMineItem] = { let arr = [ - SPMineItem(type: .consumptionRecords, iconImage: UIImage(named: "records_icon_01"), title: "Consumption records".localized), - SPMineItem(type: .orderRecord, iconImage: UIImage(named: "records_icon_02"), title: "Purchase records".localized), - SPMineItem(type: .rewardCoins, iconImage: UIImage(named: "coin_icon_03"), title: "Reward Coins".localized), + SPMineItem(type: .consumptionRecords, iconImage: UIImage(named: "records_icon_01"), title: "movia_Consumption_records".localized), + SPMineItem(type: .orderRecord, iconImage: UIImage(named: "records_icon_02"), title: "movia_Purchase_records".localized), + SPMineItem(type: .rewardCoins, iconImage: UIImage(named: "coin_icon_03"), title: "movia_Reward_Coins".localized), SPMineItem(type: .feedBack, iconImage: UIImage(named: "feed_back_icon_03"), title: "movia_profile_Feedback".localized), ] return arr @@ -39,7 +39,7 @@ class SPWalletViewController: SPViewController { override func viewDidLoad() { super.viewDidLoad() self.edgesForExtendedLayout = .top - self.title = "Details".localized + self.title = "movia_details".localized _setupUI() } diff --git a/MoviaBox/Class/Wallet/View/SPCoinOrderRecordCell.swift b/MoviaBox/Class/Wallet/View/SPCoinOrderRecordCell.swift index 9550487..73cea6d 100644 --- a/MoviaBox/Class/Wallet/View/SPCoinOrderRecordCell.swift +++ b/MoviaBox/Class/Wallet/View/SPCoinOrderRecordCell.swift @@ -11,7 +11,7 @@ class SPCoinOrderRecordCell: SPTableViewCell { var model: SPRechargeRecordModel? { didSet { - titleLabel.text = "Recharge Coins".localized + titleLabel.text = "movia_recharge_coins".localized timeLabel.text = model?.created_at coinLabel.text = "+\(model?.value ?? "0")" } diff --git a/MoviaBox/Class/Wallet/View/SPCoinRechargeCell.swift b/MoviaBox/Class/Wallet/View/SPCoinRechargeCell.swift index ddb6903..faccd44 100644 --- a/MoviaBox/Class/Wallet/View/SPCoinRechargeCell.swift +++ b/MoviaBox/Class/Wallet/View/SPCoinRechargeCell.swift @@ -28,7 +28,7 @@ class SPCoinRechargeCell: SPCollectionViewCell { if let sendCoins = model?.send_coins, sendCoins > 0 { bonusLabel.isHidden = false - bonusLabel.text = String(format: "%@ Bonus".localized, "+\(sendCoins)") + bonusLabel.text = String(format: "movia_bonus_#".localized, "+\(sendCoins)") } else { bonusLabel.isHidden = true } diff --git a/MoviaBox/Class/Wallet/View/SPCoinRechargeView.swift b/MoviaBox/Class/Wallet/View/SPCoinRechargeView.swift index 90d4e4a..909d27c 100644 --- a/MoviaBox/Class/Wallet/View/SPCoinRechargeView.swift +++ b/MoviaBox/Class/Wallet/View/SPCoinRechargeView.swift @@ -38,7 +38,7 @@ class SPCoinRechargeView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 14) label.textColor = .colorFFFFFF(alpha: 0.7) - label.text = "Coins Balance:".localized + label.text = "movia_coins_balance".localized + ":" return label }() diff --git a/MoviaBox/Class/Wallet/View/SPConsumptionRecordsCell.swift b/MoviaBox/Class/Wallet/View/SPConsumptionRecordsCell.swift index 1bcd53a..120cb4d 100644 --- a/MoviaBox/Class/Wallet/View/SPConsumptionRecordsCell.swift +++ b/MoviaBox/Class/Wallet/View/SPConsumptionRecordsCell.swift @@ -11,10 +11,11 @@ class SPConsumptionRecordsCell: SPTableViewCell { var model: SPBuyRecordsModel? { didSet { - titleLabel.text = "Purchase Single Episode".localized + titleLabel.text = "movia_Purchase_Single_Episode".localized timeLabel.text = model?.created_at desLabel.text = "Ep.\(model?.episode ?? "") \(model?.name ?? "")" - coinLabel.text = "-\(model?.coins ?? 0) Coins" + let episode = String(format: "movia_text_episcode_ios".localized, "\(model?.episode ?? "0")") + "\(model?.name ?? "")" + coinLabel.text = "-\(model?.coins ?? 0) " + "movia_profile_Coins".localized } } diff --git a/MoviaBox/Class/Wallet/View/SPMemberRechargeCell.swift b/MoviaBox/Class/Wallet/View/SPMemberRechargeCell.swift index 29a1003..e58a6f7 100644 --- a/MoviaBox/Class/Wallet/View/SPMemberRechargeCell.swift +++ b/MoviaBox/Class/Wallet/View/SPMemberRechargeCell.swift @@ -18,7 +18,7 @@ class SPMemberRechargeCell: SPCollectionViewCell { moneyLabel.text = model?.price if let sendCoins = model?.send_coins, sendCoins > 0 { markBgView.isHidden = false - sendCoinLabel.text = String(format: "+ Extra %@".localized, "\(sendCoins)") + sendCoinLabel.text = String(format: "movia_extra_#".localized, "\(sendCoins)") } else { markBgView.isHidden = true } @@ -138,7 +138,7 @@ class SPMemberRechargeCell: SPCollectionViewCell { private lazy var tipLabel: UILabel = { let label = UILabel() label.font = .fontRegular(ofSize: 11) - label.text = "kBuyMemberTipText".localized + label.text = "movia_buy_menber_tip".localized return label }() diff --git a/MoviaBox/Class/Wallet/View/SPMemberRechargeView.swift b/MoviaBox/Class/Wallet/View/SPMemberRechargeView.swift index 29f297d..3635723 100644 --- a/MoviaBox/Class/Wallet/View/SPMemberRechargeView.swift +++ b/MoviaBox/Class/Wallet/View/SPMemberRechargeView.swift @@ -29,7 +29,7 @@ class SPMemberRechargeView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 14) label.textColor = .colorFFFFFF(alpha: 0.7) - label.text = "Membership".localized + label.text = "movia_membership".localized return label }() diff --git a/MoviaBox/Class/Wallet/View/SPRewardCoinsCell.swift b/MoviaBox/Class/Wallet/View/SPRewardCoinsCell.swift index 669a677..c6cd8a1 100644 --- a/MoviaBox/Class/Wallet/View/SPRewardCoinsCell.swift +++ b/MoviaBox/Class/Wallet/View/SPRewardCoinsCell.swift @@ -14,14 +14,14 @@ class SPRewardCoinsCell: SPTableViewCell { timeLabel.text = model?.created_at coinLabel.text = "+\(model?.coins ?? 0)" remainingLabel.text = model?.left_coins - nameLabel.text = "Check in".localized + nameLabel.text = "movia_check_in".localized let expireDate = Date(timeIntervalSince1970: model?.expired_time ?? 0) let nowDate = Date() let days = nowDate.dateDifference(date: expireDate) if days > 0 { - expireLabel.text = String(format: "Expires in %@ days".localized, "\(days)") + expireLabel.text = String(format: "movia_expires_#_days".localized, "\(days)") expireLabel.textColor = .colorFF3232() expireIconImageView.isHidden = false diff --git a/MoviaBox/Class/Wallet/View/SPVIPOrderRecordCell.swift b/MoviaBox/Class/Wallet/View/SPVIPOrderRecordCell.swift index cad1401..90ea3b3 100644 --- a/MoviaBox/Class/Wallet/View/SPVIPOrderRecordCell.swift +++ b/MoviaBox/Class/Wallet/View/SPVIPOrderRecordCell.swift @@ -11,7 +11,7 @@ class SPVIPOrderRecordCell: SPTableViewCell { var model: SPRechargeRecordModel? { didSet { - titleLabel.text = "Purchase VIP".localized + titleLabel.text = "movia_purchase_VIP".localized timeLabel.text = model?.created_at dayLabel.text = model?.value } diff --git a/MoviaBox/Libs/Empty/SPNoNetworkEmptyView.swift b/MoviaBox/Libs/Empty/SPNoNetworkEmptyView.swift index 3cb7df9..c346949 100644 --- a/MoviaBox/Libs/Empty/SPNoNetworkEmptyView.swift +++ b/MoviaBox/Libs/Empty/SPNoNetworkEmptyView.swift @@ -26,7 +26,7 @@ class SPNoNetworkEmptyView: UIView { let label = UILabel() label.font = .fontRegular(ofSize: 16) label.textColor = .color967A7A() - label.text = "kNoNetworkTip_01".localized + label.text = "movia_network_tip_01".localized return label }() @@ -38,7 +38,7 @@ class SPNoNetworkEmptyView: UIView { button.layer.borderColor = UIColor.colorFFFFFF().cgColor button.jx_font = .fontRegular(ofSize: 18) button.setTitleColor(.colorFFFFFF(), for: .normal) - button.setTitle("Retry".localized, for: .normal) + button.setTitle("movia_Retry".localized, for: .normal) button.leftAndRightMargin = 33 button.addTarget(self, action: #selector(handleButton), for: .touchUpInside) return button diff --git a/MoviaBox/Libs/SPIAPManager/SPIAPManager.swift b/MoviaBox/Libs/SPIAPManager/SPIAPManager.swift index 497f274..f9f5d83 100644 --- a/MoviaBox/Libs/SPIAPManager/SPIAPManager.swift +++ b/MoviaBox/Libs/SPIAPManager/SPIAPManager.swift @@ -35,7 +35,7 @@ class SPIAPManager: NSObject { func startRecharge(model: SPPayTemplateItem, shortPlayId: String? = nil, videoId: String? = nil, handler: CompletionHandler? = nil) { if let _ = self.waitRestoreModel { - SPToast.show(text: "kToastMessage_02".localized) + SPToast.show(text: "movia_iap_error_toast_03".localized) handler?(false) return } @@ -82,7 +82,7 @@ class SPIAPManager: NSObject { let receipt = waitRestoreModel.receipt else { if isLoding { - SPToast.show(text: "kToastMessage_01".localized) + SPToast.show(text: "movia_iap_error_toast_02".localized) } return } @@ -176,7 +176,7 @@ extension SPIAPManager: JXIAPManagerDelegate { SPHUD.dismiss() if code == .noProduct { - SPToast.show(text: "Invalid in-app purchase".localized) + SPToast.show(text: "movia_iap_error_toast_01".localized) } self.completionHandler?(false) diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Contents.json b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Contents.json similarity index 77% rename from MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Contents.json rename to MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Contents.json index 1eec423..6a4d508 100644 --- a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Contents.json +++ b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Contents.json @@ -5,12 +5,12 @@ "scale" : "1x" }, { - "filename" : "Group 481@2x.png", + "filename" : "Vector@2x.png", "idiom" : "universal", "scale" : "2x" }, { - "filename" : "Group 481@3x.png", + "filename" : "Vector@3x.png", "idiom" : "universal", "scale" : "3x" } diff --git a/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@2x.png b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@2x.png new file mode 100644 index 0000000..19c77db Binary files /dev/null and b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@2x.png differ diff --git a/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@3x.png b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@3x.png new file mode 100644 index 0000000..21dfc61 Binary files /dev/null and b/MoviaBox/Source/Assets.xcassets/icon/delete_account_icon_01.imageset/Vector@3x.png differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@2x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@2x.png deleted file mode 100644 index 0c7a15a..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@2x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@3x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@3x.png deleted file mode 100644 index 9126130..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_01.imageset/Group 481@3x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Contents.json b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Contents.json deleted file mode 100644 index 77fe460..0000000 --- a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "Group 477@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "Group 477@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@2x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@2x.png deleted file mode 100644 index e966629..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@2x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@3x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@3x.png deleted file mode 100644 index 41785a7..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_02.imageset/Group 477@3x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Contents.json b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Contents.json deleted file mode 100644 index 9ac9892..0000000 --- a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "Group 476@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "Group 476@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@2x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@2x.png deleted file mode 100644 index 30d9277..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@2x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@3x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@3x.png deleted file mode 100644 index e77da81..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_03.imageset/Group 476@3x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Contents.json b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Contents.json deleted file mode 100644 index 0fb2866..0000000 --- a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Contents.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "scale" : "1x" - }, - { - "filename" : "Group 478@2x.png", - "idiom" : "universal", - "scale" : "2x" - }, - { - "filename" : "Group 478@3x.png", - "idiom" : "universal", - "scale" : "3x" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@2x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@2x.png deleted file mode 100644 index 96425ad..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@2x.png and /dev/null differ diff --git a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@3x.png b/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@3x.png deleted file mode 100644 index b57c67e..0000000 Binary files a/MoviaBox/Source/Assets.xcassets/image/delete_account_image_04.imageset/Group 478@3x.png and /dev/null differ diff --git a/MoviaBox/Source/en.lproj/Localizable.strings b/MoviaBox/Source/en.lproj/Localizable.strings index 88a2c61..1553200 100644 --- a/MoviaBox/Source/en.lproj/Localizable.strings +++ b/MoviaBox/Source/en.lproj/Localizable.strings @@ -51,74 +51,87 @@ "movia_succeed" = "Succeed"; "movia_watch_history" = "Watch History"; "movia_child_protection_text" = "Child Personal Information Protection Rules"; -"Youth Civilization Convention" = "Youth Civilization Convention"; -"List of Third-Party Sharing of Personal Information" = "List of Third-Party Sharing of Personal Information"; -"Explicit List of Personal Information Collection" = "Explicit List of Personal Information Collection"; -"Log in" = "Log in"; -"You are not a member yet" = "You are not a member yet"; -"Activate" = "Activate"; -"Members can enjoy" = "Members can enjoy"; -"Unlimited access to all series" = "Unlimited access to all series"; -"Stream Unlimited" = "Stream Unlimited"; -"My wallet" = "My wallet"; -"Store" = "Store"; -"Rewards" = "Rewards"; -"Details" = "Details"; -"Consumption records" = "Consumption records"; -"Purchase records" = "Purchase records"; -"Reward Coins" = "Reward Coins"; -"Coins Balance:" = "Coins Balance:"; -"Membership" = "Membership"; -"%@ Bonus" = "%@ Bonus"; -"+ Extra %@" = "+ Extra %@"; -"Clear Cache" = "Clear Cache"; -"Delete Account" = "Delete Account"; -"Account Deletion" = "Account Deletion"; -"Order Records" = "Order Records"; -"Coin Record" = "Coin Record"; -"VIP Record" = "VIP Record"; -"Signout" = "Signout"; -"Confirm logout?" = "Confirm logout?"; -"Invalid in-app purchase" = "Invalid in-app purchase"; -"VlP expiration time : %@" = "VlP expiration time : %@"; -"Expires in %@ days" = "Expires in %@ days"; +"movia_civizatio_convention_text" = "Youth Internet Civility Convention"; +"movia_information_sharing_text" = "Third-party information sharing list"; +"movia_persoInfor_disclosure_text" = "Explicit List of Personal Information Collection"; +"movia_profile_Log_in" = "Log in"; +"movia_not_member_text" = "You are not a member yet"; +"movia_activate" = "Activate"; +"movia_members_can_enjoy" = "Members can enjoy"; +"movia_not_member_tip_01" = "Unlimited access to all series"; +"movia_stream_unlimited" = "Stream Unlimited"; +"movia_profile_My_Wallet" = "My Wallet"; +"movia_Store" = "Store"; +"movia_rewards" = "Rewards"; +"movia_details" = "Details"; +"movia_Consumption_records" = "Consumption records"; +"movia_Purchase_records" = "Purchase records"; +"movia_Reward_Coins" = "Reward Coins"; +"movia_coins_balance" = "Coins Balance"; +"movia_membership" = "Membership"; +"movia_bonus_#" = "%@ Bonus"; +"movia_extra_#" = "+ Extra %@"; +"movia_Clear_cache" = "Clear cache"; +"DeleteAccount" = "Delete Account"; +"movia_Account_Deletion" = "Account Deletion"; +"movia_order_records" = "Order Records"; +"movia_Coin_Record" = "Coin Record"; +"movia_VIP_Record" = "VIP Record"; +"movia_signout" = "Signout"; +"movia_confirm_logout" = "Confirm logout?"; +"movia_VlP_expiration_time_#" = "VlP expiration time : %@"; +"movia_expires_#_days" = "Expires in %@ days"; "Expired" = "Expired"; -"Check in" = "Check in"; -"Recharge Coins" = "Recharge Coins"; -"Purchase VIP" = "Purchase VIP"; -"This episode is locked" = "This episode is locked"; -"Unlock now for" = "Unlock now for"; -"Unlock the previous episode" = "Unlock the previous episode"; -"Purchase Single Episode" = "Purchase Single Episode"; -"Retry" = "Retry"; -"Open" = "Open"; -"Later" = "Later"; -"Allow" = "Allow"; -"Feedback History" = "Feedback History"; -"Feedback Details" = "Feedback Details"; +"movia_check_in" = "Check in"; +"movia_recharge_coins" = "Recharge Coins"; +"movia_purchase_VIP" = "Purchase VIP"; +"movia_video_lock_tip_01" = "This episode is locked"; +"movia_video_lock_tip_02" = "Please unlock the previous episode"; +"movia_unlock_now_for" = "Unlock now for"; +"movia_Purchase_Single_Episode" = "Purchase Single Episode"; +"movia_Retry" = "Retry"; +"movia_open" = "Open"; +"movia_open_notification_later" = "Later"; +"movia_allow" = "Allow"; +"movia_feedback_history" = "Feedback History"; +"movia_feedback_details" = "Feedback Details"; +"movia_Restore" = "Restore"; +"movia_profile_Coins" = "Coins"; +"movia_open_notification" = "Enable Notifications"; +"movia_open_notification_info" = "Stay informed with popular recommendations and latest updates!"; + +"movia_iap_error_toast_01" = "Invalid in-app purchase"; ///没有可恢复购买 -"kToastMessage_01" = "There are no recoverable in-app purchases."; +"movia_iap_error_toast_02" = "There are no in-app purchases to restore."; ///还有未完成的内购 -"kToastMessage_02" = "You still have unfinished in-app purchases. Please restore them first."; -///网络错误提示 -"kToastMessage_03" = "The service is abnormal. Check the network."; +"movia_iap_error_toast_03" = "You have unfinished in-app purchases, please restore them first."; ///已是会员提示 -"kToastMessage_04" = "You are already a member!"; - +"movia_member_toast_01" = "You are already a member!"; ///请购买上一集提示 -"kAlertMessage_01" = "The previous episode of this series has not been unlocked yet. Please unlock the previous episode first."; +"movia_jump_unlock_error" = "The prequel to this series is not unlocked. Please unlock the prequel before unlocking this series"; ///没有找到视频提示 -"kAlertMessage_02" = "Purchase failed, please try again later!"; -///推送消息提示 -"kAlertMessage_03" = "Enable Notifications!"; -"kAlertMessage_04" = "Stay informed with popular recommendations and latest updates!"; +"movia_buy_fail_toast_01" = "Purchase failed, please try again later!"; +///网络错误提示 +"movia_network_toast_01" = "The service is abnormal. Check the network."; +"movia_network_tip_01" = "Connection error. Please try again!"; -"kLoginAgreementText" = "By continuing, you agree to the User Agreement and Privacy Policy"; -"kBuyMemberTipText" = "Auto renew · Cancel anytime"; -"kStoreTipTitle" = "Related terms and conditions:"; -"kStoreTipText" = "1. Coins can only be used within this application.
2. Payment: The purchase will be charged to your iTunes account. 
3. Renewal: Your Apple iTunes account will be charged within 24 hours before the expiration and the subscription period will be extended for another subscription cycle upon successful deduction.
4. Cancellation: To cancel the subscription renewal, please turn off the automatic renewal function in the iTunes/Apple ID settings at least 24 hours before the current subscription period expires. If canceled within the last 24 hours before expiration, a subscription fee will still be charged. 
5. Payment successful but recharge not taking effect for an extended period? Click here to refresh or send an email to: cs.jiaer.developer@icloud.com. 
6. Manage your subscriptions: You can view, change, or cancel your subscriptions. "; -"kDeleteAccountCheckText" = "I accept the deletion risk and agree to delete my account"; -"kNoNetworkTip_01" = "Connection error. Please try again!"; +"movia_login_agreement_tip" = "By continuing, you agree to the %@ and %@"; +"movia_buy_menber_tip" = "Auto renew · Cancel anytime"; +"movia_store_tips_title_ios" = "Related terms and conditions:"; +"movia_store_tips_ios" = "1. Coins can only be used within this application.\n2. Payment: The purchase will be charged to your iTunes account. \n3. Renewal: Your Apple iTunes account will be charged within 24 hours before the expiration and the subscription period will be extended for another subscription cycle upon successful deduction.\n4. Cancellation: To cancel the subscription renewal, please turn off the automatic renewal function in the iTunes/Apple ID settings at least 24 hours before the current subscription period expires. If canceled within the last 24 hours before expiration, a subscription fee will still be charged. \n5. Payment successful but recharge not taking effect for an extended period? Click here to refresh or send an email to: cs.jiaer.developer@icloud.com. \n6. Manage your subscriptions: You can view, change, or cancel your subscriptions. "; +"DeleteAccount_tips_1" = "Your account will be permanently deleted"; +"DeleteAccount_tips_2" = "You will not be able to log in with this user ID"; +"DeleteAccount_tips_3" = "Please log out of the account on other devices in time, otherwise the App on other devices will be unavailable."; +"DeleteAccount_tips_4" = "I accept the deletion risk and agree to delete my account"; +"DeleteAccount_tips_5" = "All the following information will be deleted"; +"DeleteAccount_tips_title_1" = "Account Data"; +"DeleteAccount_tips_text_1" = "All your personal data will be deleted including username、Email address."; +"DeleteAccount_tips_title_2" = "Balance&VIP"; +"DeleteAccount_tips_text_2" = "All your coins have been consumed and you can delete your account."; +"DeleteAccount_tips_title_3" = "History"; +"DeleteAccount_tips_text_3" = "Consumption History, Recharge History, Chapter Unlock History, My Favorite."; +"DeleteAccount_tips_title_4" = "Third Party Account Information"; +