Browse Source

语言切换

吴彦祖 6 months ago
parent
commit
aedde1e454
24 changed files with 379 additions and 51 deletions
  1. 32 4
      ADHTuanCan.xcodeproj/project.pbxproj
  2. BIN
      ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/UserInterfaceState.xcuserstate
  3. 16 0
      ADHTuanCan/AppDelegate.swift
  4. 3 0
      ADHTuanCan/Class/Config/UserDefaultUtil.swift
  5. 4 4
      ADHTuanCan/Class/地址/AddressEditorVC.swift
  6. 3 3
      ADHTuanCan/Class/地址/en.lproj/AddressEditorVC.strings
  7. 3 3
      ADHTuanCan/Class/地址/zh-Hans.lproj/AddressEditorVC.strings
  8. 4 0
      ADHTuanCan/Class/我的/MyViewController.swift
  9. 4 4
      ADHTuanCan/Class/我的/余额/Base.lproj/BalanceViewController.xib
  10. 16 17
      ADHTuanCan/Class/我的/余额/Base.lproj/RechargeAmountViewController.xib
  11. 9 0
      ADHTuanCan/Class/我的/余额/en.lproj/RechargeAmountViewController.strings
  12. 9 0
      ADHTuanCan/Class/我的/余额/zh-Hans.lproj/RechargeAmountViewController.strings
  13. 5 4
      ADHTuanCan/Class/我的/白团权限申请/Base.lproj/ApplyWhiteManagerController.xib
  14. 51 2
      ADHTuanCan/Class/我的/设置/Base.lproj/PersonalInformationVC.xib
  15. 8 0
      ADHTuanCan/Class/我的/设置/PersonalInformationVC.swift
  16. 6 0
      ADHTuanCan/Class/我的/设置/en.lproj/PersonalInformationVC.strings
  17. 6 0
      ADHTuanCan/Class/我的/设置/zh-Hans.lproj/PersonalInformationVC.strings
  18. 56 0
      ADHTuanCan/Class/我的/设置/语言切换/LanguageSetVC.swift
  19. 93 0
      ADHTuanCan/Class/我的/设置/语言切换/LanguageSetVC.xib
  20. 1 1
      ADHTuanCan/Class/登录/修改支付密码/EditPayPSWViewController.swift
  21. 18 0
      ADHTuanCan/Class/购物车/view/ADHAlertView.swift
  22. 11 8
      ADHTuanCan/Class/购物车/view/Base.lproj/ADHAlertView.xib
  23. 0 1
      ADHTuanCan/Class/首页/HomeViewController.swift
  24. 21 0
      ADHTuanCan/Class/首页/普团首页/HomeSecondViewController.swift

+ 32 - 4
ADHTuanCan.xcodeproj/project.pbxproj

@@ -24,6 +24,9 @@
 		C406A0882B91F4C5005A6423 /* AddMembersCheckView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C406A0872B91F4C5005A6423 /* AddMembersCheckView.swift */; };
 		C406A0902B91FBBD005A6423 /* TeamMembersCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406A0912B91FBBD005A6423 /* TeamMembersCell.xib */; };
 		C406A0922B91FBC5005A6423 /* AddMembersCheckView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C406A0942B91FBC5005A6423 /* AddMembersCheckView.xib */; };
+		C40AE3A82B95CB5A007469C0 /* RechargeAmountViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C40AE3AA2B95CB5A007469C0 /* RechargeAmountViewController.xib */; };
+		C40AE3B22B95E6A7007469C0 /* LanguageSetVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40AE3B02B95E6A7007469C0 /* LanguageSetVC.swift */; };
+		C40AE3B32B95E6A7007469C0 /* LanguageSetVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = C40AE3B12B95E6A7007469C0 /* LanguageSetVC.xib */; };
 		C4110B482B47F9FC00B23195 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */; };
 		C4144CD52AF91DCB00B5F73C /* OrderDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */; };
 		C4144CD62AF91DCB00B5F73C /* OrderDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4144CD42AF91DCB00B5F73C /* OrderDetailViewController.xib */; };
@@ -72,7 +75,6 @@
 		C42AEE1B2B037AED0045EF66 /* UnsubscribeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C42AEE1D2B037AED0045EF66 /* UnsubscribeViewController.xib */; };
 		C42AEE222B037BD40045EF66 /* AddEvaluateCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C42AEE242B037BD40045EF66 /* AddEvaluateCell.xib */; };
 		C42AEE2B2B04D9CA0045EF66 /* RechargeAmountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42AEE292B04D9CA0045EF66 /* RechargeAmountViewController.swift */; };
-		C42AEE2C2B04D9CA0045EF66 /* RechargeAmountViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C42AEE2A2B04D9CA0045EF66 /* RechargeAmountViewController.xib */; };
 		C42BB5552ADD457B003FF663 /* RegisteViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42BB5532ADD457B003FF663 /* RegisteViewController.swift */; };
 		C42BB55C2ADD4C50003FF663 /* CodeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42BB55A2ADD4C50003FF663 /* CodeViewController.swift */; };
 		C42BB5612ADD5045003FF663 /* MCProxyTextViewRx.swift in Sources */ = {isa = PBXBuildFile; fileRef = C42BB55F2ADD5045003FF663 /* MCProxyTextViewRx.swift */; };
@@ -415,6 +417,11 @@
 		C406A0932B91FBC5005A6423 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AddMembersCheckView.xib; sourceTree = "<group>"; };
 		C406A0962B91FBC9005A6423 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AddMembersCheckView.strings; sourceTree = "<group>"; };
 		C406A0982B91FBCD005A6423 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/AddMembersCheckView.strings"; sourceTree = "<group>"; };
+		C40AE3A92B95CB5A007469C0 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/RechargeAmountViewController.xib; sourceTree = "<group>"; };
+		C40AE3AC2B95CB5D007469C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/RechargeAmountViewController.strings; sourceTree = "<group>"; };
+		C40AE3AE2B95CB5F007469C0 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/RechargeAmountViewController.strings"; sourceTree = "<group>"; };
+		C40AE3B02B95E6A7007469C0 /* LanguageSetVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageSetVC.swift; sourceTree = "<group>"; };
+		C40AE3B12B95E6A7007469C0 /* LanguageSetVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LanguageSetVC.xib; sourceTree = "<group>"; };
 		C4110B012B47F53B00B23195 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Main.strings; sourceTree = "<group>"; };
 		C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
 		C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderDetailViewController.swift; sourceTree = "<group>"; };
@@ -492,7 +499,6 @@
 		C42AEE262B037BD50045EF66 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/AddEvaluateCell.strings; sourceTree = "<group>"; };
 		C42AEE282B037BD60045EF66 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/AddEvaluateCell.strings"; sourceTree = "<group>"; };
 		C42AEE292B04D9CA0045EF66 /* RechargeAmountViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RechargeAmountViewController.swift; sourceTree = "<group>"; };
-		C42AEE2A2B04D9CA0045EF66 /* RechargeAmountViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RechargeAmountViewController.xib; sourceTree = "<group>"; };
 		C42BB5532ADD457B003FF663 /* RegisteViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisteViewController.swift; sourceTree = "<group>"; };
 		C42BB55A2ADD4C50003FF663 /* CodeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeViewController.swift; sourceTree = "<group>"; };
 		C42BB55F2ADD5045003FF663 /* MCProxyTextViewRx.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MCProxyTextViewRx.swift; sourceTree = "<group>"; };
@@ -989,6 +995,15 @@
 			path = "仿酒店入住";
 			sourceTree = "<group>";
 		};
+		C40AE3AF2B95E642007469C0 /* 语言切换 */ = {
+			isa = PBXGroup;
+			children = (
+				C40AE3B02B95E6A7007469C0 /* LanguageSetVC.swift */,
+				C40AE3B12B95E6A7007469C0 /* LanguageSetVC.xib */,
+			);
+			path = "语言切换";
+			sourceTree = "<group>";
+		};
 		C41DA4A42AFF172B00707C5D /* 积分 */ = {
 			isa = PBXGroup;
 			children = (
@@ -1512,6 +1527,7 @@
 		C46731502AF9F6BB00658C58 /* 设置 */ = {
 			isa = PBXGroup;
 			children = (
+				C40AE3AF2B95E642007469C0 /* 语言切换 */,
 				C45654552B0C9B8F00F3E628 /* 修改信息View */,
 				C46731592AFA0ED100658C58 /* 注销 */,
 				C46731512AF9F6E400658C58 /* PersonalInformationVC.swift */,
@@ -1936,7 +1952,7 @@
 				C4C6D8432AFCCB3900E1AFB5 /* BalanceViewController.swift */,
 				C45B67F12B19DDBB00EA1725 /* BalanceViewController.xib */,
 				C42AEE292B04D9CA0045EF66 /* RechargeAmountViewController.swift */,
-				C42AEE2A2B04D9CA0045EF66 /* RechargeAmountViewController.xib */,
+				C40AE3AA2B95CB5A007469C0 /* RechargeAmountViewController.xib */,
 			);
 			path = "余额";
 			sourceTree = "<group>";
@@ -2530,8 +2546,9 @@
 				C44CFA552AFB5308000D592D /* OrderDetailFootView.xib in Resources */,
 				C4A73B502B18E4D200A1595A /* SalesmanFirstShowView.xib in Resources */,
 				C4C6D83A2AFC100400E1AFB5 /* phoneCallView.xib in Resources */,
+				C40AE3B32B95E6A7007469C0 /* LanguageSetVC.xib in Resources */,
 				C45C1A752B284E0000221FBD /* ApplyAlertView.xib in Resources */,
-				C42AEE2C2B04D9CA0045EF66 /* RechargeAmountViewController.xib in Resources */,
+				C40AE3A82B95CB5A007469C0 /* RechargeAmountViewController.xib in Resources */,
 				C41DA4C32AFF232800707C5D /* IntegralSectiionView.xib in Resources */,
 				C4498ED52B294D57005E43D0 /* ApplyCompanySuccess.xib in Resources */,
 				C4836B662AC7037600E3FA1B /* dateItem.xib in Resources */,
@@ -2795,6 +2812,7 @@
 				C4C51C822AF122A900F4636E /* EditorDeliveryView.swift in Sources */,
 				C4EDD9592AF27DDC00BE8EFF /* UIView+Visualization.m in Sources */,
 				C438E3C82AF795A700F671AE /* OrderTypeEnum.swift in Sources */,
+				C40AE3B22B95E6A7007469C0 /* LanguageSetVC.swift in Sources */,
 				C4577D042AEBCEE9004D9439 /* NSObject+Hint.m in Sources */,
 				C4EDD9632AF27DDC00BE8EFF /* UIView+GlowView.m in Sources */,
 				C45C8A362AD24932009D6C3A /* OrderListCell.swift in Sources */,
@@ -2991,6 +3009,16 @@
 			name = AddMembersCheckView.xib;
 			sourceTree = "<group>";
 		};
+		C40AE3AA2B95CB5A007469C0 /* RechargeAmountViewController.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C40AE3A92B95CB5A007469C0 /* Base */,
+				C40AE3AC2B95CB5D007469C0 /* en */,
+				C40AE3AE2B95CB5F007469C0 /* zh-Hans */,
+			);
+			name = RechargeAmountViewController.xib;
+			sourceTree = "<group>";
+		};
 		C4194E8A2B566AC300B60D41 /* PaySuccessView.xib */ = {
 			isa = PBXVariantGroup;
 			children = (

BIN
ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/UserInterfaceState.xcuserstate


+ 16 - 0
ADHTuanCan/AppDelegate.swift

@@ -21,6 +21,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
 
     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
         // Override point for customization after application launch.
+       
+        
+        let languanges : [String] = UserDefaults.standard.object(forKey: "AppleLanguages") as! [String]
+        let preferredLanguage = languanges.first
+        
+        if Defaults[\.LanguagesStr] != nil{
+            
+        }else{
+            Defaults[\.LanguagesStr] = preferredLanguage
+            
+        }
+        
+        UserDefaults.standard.set([Defaults[\.LanguagesStr]], forKey: "AppleLanguages")
+        UserDefaults.standard.synchronize()
         
         IQKeyboardManager.shared.enable = true
         
@@ -160,5 +174,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         }
     }
 
+  
+    
 }
 

+ 3 - 0
ADHTuanCan/Class/Config/UserDefaultUtil.swift

@@ -49,6 +49,9 @@ extension DefaultsKeys{
     
     ///  购物车ID
     var shopcartId : DefaultsKey<String?>{.init("shopcartId")}
+    
+    ///  语言
+    var LanguagesStr : DefaultsKey<String?>{.init("LanguagesStr")}
 }
 
 

+ 4 - 4
ADHTuanCan/Class/地址/AddressEditorVC.swift

@@ -184,10 +184,10 @@ class AddressEditorVC: ADHBaseVC {
         }
 
         
-        if (self.viewModel.AddAddressRModel.buildName ?? "").isEmptyStr{
-            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入建筑名称", Etext: "Please enter the building name"))
-            return
-        }
+//        if (self.viewModel.AddAddressRModel.buildName ?? "").isEmptyStr{
+//            self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入建筑名称", Etext: "Please enter the building name"))
+//            return
+//        }
         
         if (self.viewModel.AddAddressRModel.unitNum ?? "").isEmptyStr{
             self.hud.showWarning(LanguagesUtil.createTextBy(Ctext: "请输入楼层门牌号", Etext: "Please enter the unitNum"))

+ 3 - 3
ADHTuanCan/Class/地址/en.lproj/AddressEditorVC.strings

@@ -9,10 +9,10 @@
 "AU0-xY-ADb.placeholder" = "postal code";
 
 /* Class = "UILabel"; text = "街区号"; ObjectID = "OeY-ei-Y6J"; */
-"OeY-ei-Y6J.text" = "Block number";
+"OeY-ei-Y6J.text" = "Building number";
 
 /* Class = "UITextField"; placeholder = "街区号"; ObjectID = "QFo-lm-Q1R"; */
-"QFo-lm-Q1R.placeholder" = "block number";
+"QFo-lm-Q1R.placeholder" = "building number";
 
 /* Class = "UITextField"; placeholder = "收货人"; ObjectID = "RV4-MZ-8dT"; */
 "RV4-MZ-8dT.placeholder" = "consignee";
@@ -21,7 +21,7 @@
 "VAe-EB-CTb.placeholder" = "street name";
 
 /* Class = "UITextField"; placeholder = "建筑物名称"; ObjectID = "aeh-2U-Nak"; */
-"aeh-2U-Nak.placeholder" = "building name";
+"aeh-2U-Nak.placeholder" = "building name(optional)";
 
 /* Class = "UILabel"; text = "街道名称"; ObjectID = "fX9-XR-OYP"; */
 "fX9-XR-OYP.text" = "Street name";

+ 3 - 3
ADHTuanCan/Class/地址/zh-Hans.lproj/AddressEditorVC.strings

@@ -9,10 +9,10 @@
 "AU0-xY-ADb.placeholder" = "邮政编码";
 
 /* Class = "UILabel"; text = "街区号"; ObjectID = "OeY-ei-Y6J"; */
-"OeY-ei-Y6J.text" = "街区号";
+"OeY-ei-Y6J.text" = "楼宇号码";
 
 /* Class = "UITextField"; placeholder = "街区号"; ObjectID = "QFo-lm-Q1R"; */
-"QFo-lm-Q1R.placeholder" = "街区号";
+"QFo-lm-Q1R.placeholder" = "楼宇号码";
 
 /* Class = "UITextField"; placeholder = "收货人"; ObjectID = "RV4-MZ-8dT"; */
 "RV4-MZ-8dT.placeholder" = "收货人";
@@ -21,7 +21,7 @@
 "VAe-EB-CTb.placeholder" = "街道名称";
 
 /* Class = "UITextField"; placeholder = "建筑物名称"; ObjectID = "aeh-2U-Nak"; */
-"aeh-2U-Nak.placeholder" = "建筑物名称";
+"aeh-2U-Nak.placeholder" = "建筑物名称(非必填)";
 
 /* Class = "UILabel"; text = "街道名称"; ObjectID = "fX9-XR-OYP"; */
 "fX9-XR-OYP.text" = "街道名称";

+ 4 - 0
ADHTuanCan/Class/我的/MyViewController.swift

@@ -232,11 +232,15 @@ class MyViewController: ADHBaseVC {
     /// - Parameter sender: <#sender description#>
     @IBAction func preferentialCardAction(_ sender: UIButton) {
         
+     
+        
         let vc = DiscountsViewController()
         self.navigationController?.pushViewController(vc, animated: true)
         
     }
     
+    
+    
     /// Invitation
     /// - Parameter sender: <#sender description#>
     @IBAction func InvitationAction(_ sender: UIButton) {

+ 4 - 4
ADHTuanCan/Class/我的/余额/Base.lproj/BalanceViewController.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22130"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -37,8 +37,8 @@
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="s$" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dML-OX-cHz">
-                            <rect key="frame" x="138.66666666666666" y="52.333333333333343" width="19" height="21"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="S$" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dML-OX-cHz">
+                            <rect key="frame" x="136.66666666666666" y="52.333333333333343" width="21" height="21"/>
                             <fontDescription key="fontDescription" type="system" pointSize="17"/>
                             <nil key="textColor"/>
                             <nil key="highlightedColor"/>

+ 16 - 17
ADHTuanCan/Class/我的/余额/RechargeAmountViewController.xib → ADHTuanCan/Class/我的/余额/Base.lproj/RechargeAmountViewController.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22130"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -19,29 +19,28 @@
             <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zVO-9L-J3g">
-                    <rect key="frame" x="24" y="187" width="36" height="17"/>
-                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                    <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="充值方式:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zVO-9L-J3g">
+                    <rect key="frame" x="24" y="187" width="64.666666666666671" height="17"/>
+                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                    <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <nil key="highlightedColor"/>
                 </label>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eTY-ra-GTE">
-                    <rect key="frame" x="80" y="175.66666666666666" width="288" height="40"/>
+                    <rect key="frame" x="108.66666666666666" y="175.66666666666666" width="259.33333333333337" height="40"/>
                     <subviews>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="***银行" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1OV-CG-Ilj">
-                            <rect key="frame" x="0.0" y="11.333333333333343" width="48" height="17"/>
-                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
-                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="PayNow" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1OV-CG-Ilj">
+                            <rect key="frame" x="0.0" y="10.333333333333341" width="61.333333333333336" height="19.333333333333329"/>
+                            <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
+                            <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="右箭头" translatesAutoresizingMaskIntoConstraints="NO" id="a0N-X3-7hI">
-                            <rect key="frame" x="272" y="12" width="16" height="16"/>
+                            <rect key="frame" x="243.33333333333331" y="12" width="16" height="16"/>
                         </imageView>
                     </subviews>
-                    <color key="backgroundColor" red="0.92941176469999998" green="0.92941176469999998" blue="0.92941176469999998" alpha="1" colorSpace="calibratedRGB"/>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
                         <constraint firstAttribute="trailing" secondItem="a0N-X3-7hI" secondAttribute="trailing" id="1j2-lP-ECH"/>
-                        <constraint firstItem="a0N-X3-7hI" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="1OV-CG-Ilj" secondAttribute="trailing" constant="5" id="Oev-rN-L3V"/>
                         <constraint firstItem="1OV-CG-Ilj" firstAttribute="centerY" secondItem="eTY-ra-GTE" secondAttribute="centerY" id="TG7-QI-E7E"/>
                         <constraint firstAttribute="height" constant="40" id="qAm-pd-9lE"/>
                         <constraint firstItem="a0N-X3-7hI" firstAttribute="centerY" secondItem="eTY-ra-GTE" secondAttribute="centerY" id="tfz-Aa-dA3"/>
@@ -57,14 +56,14 @@
                             <nil key="textColor"/>
                             <nil key="highlightedColor"/>
                         </label>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="s$" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OVN-EH-Xg3">
-                            <rect key="frame" x="24" y="61" width="29" height="30"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="S$" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OVN-EH-Xg3">
+                            <rect key="frame" x="24" y="61" width="32" height="30"/>
                             <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="25"/>
                             <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="98789789789" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Mno-jT-7PD">
-                            <rect key="frame" x="63" y="59.999999999999993" width="306" height="31.666666666666664"/>
+                            <rect key="frame" x="66" y="51" width="303" height="50"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="50" id="gD4-L5-fso"/>
                             </constraints>

+ 9 - 0
ADHTuanCan/Class/我的/余额/en.lproj/RechargeAmountViewController.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "PayNow"; ObjectID = "1OV-CG-Ilj"; */
+"1OV-CG-Ilj.text" = "PayNow";
+
+/* Class = "UILabel"; text = "充值金额"; ObjectID = "x9f-tA-Vrg"; */
+"x9f-tA-Vrg.text" = "Recharge amount";
+
+/* Class = "UILabel"; text = "充值方式:"; ObjectID = "zVO-9L-J3g"; */
+"zVO-9L-J3g.text" = "Recharge method:";

+ 9 - 0
ADHTuanCan/Class/我的/余额/zh-Hans.lproj/RechargeAmountViewController.strings

@@ -0,0 +1,9 @@
+
+/* Class = "UILabel"; text = "PayNow"; ObjectID = "1OV-CG-Ilj"; */
+"1OV-CG-Ilj.text" = "PayNow";
+
+/* Class = "UILabel"; text = "充值金额"; ObjectID = "x9f-tA-Vrg"; */
+"x9f-tA-Vrg.text" = "充值金额";
+
+/* Class = "UILabel"; text = "充值方式:"; ObjectID = "zVO-9L-J3g"; */
+"zVO-9L-J3g.text" = "充值方式:";

+ 5 - 4
ADHTuanCan/Class/我的/白团权限申请/Base.lproj/ApplyWhiteManagerController.xib

@@ -141,10 +141,10 @@
                             <nil key="highlightedColor"/>
                         </label>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nqD-0B-LWz">
-                            <rect key="frame" x="267.33333333333331" y="350.66666666666669" width="101.66666666666669" height="48"/>
+                            <rect key="frame" x="109.33333333333334" y="350.66666666666669" width="259.66666666666663" height="48"/>
                             <subviews>
                                 <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="联系人姓名" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Tgo-b5-j8V">
-                                    <rect key="frame" x="15" y="0.0" width="71.666666666666671" height="48"/>
+                                    <rect key="frame" x="14.999999999999986" y="0.0" width="229.66666666666663" height="48"/>
                                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="48" id="5PL-RJ-Ne5"/>
@@ -174,10 +174,10 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yoo-eb-Mu3">
-                            <rect key="frame" x="267.33333333333331" y="410.66666666666669" width="101.66666666666669" height="48"/>
+                            <rect key="frame" x="109.33333333333334" y="410.66666666666669" width="259.66666666666663" height="48"/>
                             <subviews>
                                 <textField opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="248" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="联系电话" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="aLS-zT-DMH">
-                                    <rect key="frame" x="15" y="0.0" width="71.666666666666671" height="48"/>
+                                    <rect key="frame" x="14.999999999999986" y="0.0" width="229.66666666666663" height="48"/>
                                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="48" id="Mb9-iy-2iP"/>
@@ -353,6 +353,7 @@
                         <constraint firstItem="tHc-z1-Qug" firstAttribute="centerY" secondItem="S5u-Wp-Mcl" secondAttribute="centerY" id="B44-o5-uQu"/>
                         <constraint firstItem="hHR-rk-9xc" firstAttribute="leading" secondItem="vGi-j9-l6G" secondAttribute="trailing" constant="20" id="DzE-L2-0y8"/>
                         <constraint firstItem="dkx-kN-Be5" firstAttribute="leading" secondItem="Eww-UH-ptK" secondAttribute="leading" constant="24" id="ED4-Qs-hyW"/>
+                        <constraint firstItem="nqD-0B-LWz" firstAttribute="leading" secondItem="FKg-xo-i0X" secondAttribute="leading" id="F1C-Z5-1LS"/>
                         <constraint firstAttribute="trailing" secondItem="b1J-rY-ck6" secondAttribute="trailing" constant="30" id="GmA-r4-6lD"/>
                         <constraint firstAttribute="trailing" secondItem="plt-NB-R8g" secondAttribute="trailing" constant="30" id="Gz1-x7-QLX"/>
                         <constraint firstAttribute="trailing" secondItem="hHR-rk-9xc" secondAttribute="trailing" constant="24" id="HF1-7r-yBt"/>

+ 51 - 2
ADHTuanCan/Class/我的/设置/Base.lproj/PersonalInformationVC.xib

@@ -273,7 +273,7 @@
                             </constraints>
                         </view>
                         <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e8V-3U-Tr3">
-                            <rect key="frame" x="0.0" y="260" width="393" height="306.66666666666674"/>
+                            <rect key="frame" x="0.0" y="260" width="393" height="426.66666666666674"/>
                             <subviews>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="账号信息" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PAl-YV-XgO">
                                     <rect key="frame" x="25" y="20" width="73.666666666666671" height="21"/>
@@ -533,15 +533,64 @@
                                         </userDefinedRuntimeAttribute>
                                     </userDefinedRuntimeAttributes>
                                 </view>
+                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="通用" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cbm-BO-ZfV">
+                                    <rect key="frame" x="25" y="326.66666666666663" width="37" height="21"/>
+                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                                    <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="calibratedRGB"/>
+                                    <nil key="highlightedColor"/>
+                                </label>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lut-Fi-YeW">
+                                    <rect key="frame" x="25" y="356.66666666666663" width="343" height="60"/>
+                                    <subviews>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="语言" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PfT-5S-Zwp">
+                                            <rect key="frame" x="15.000000000000002" y="21" width="30.666666666666671" height="18"/>
+                                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="calibratedRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="右箭头" translatesAutoresizingMaskIntoConstraints="NO" id="wbW-DK-XJq">
+                                            <rect key="frame" x="307" y="22" width="16" height="16"/>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xvw-jo-kWW">
+                                            <rect key="frame" x="0.0" y="0.0" width="343" height="60"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                            <connections>
+                                                <action selector="languageSetAction:" destination="-1" eventType="touchUpInside" id="8OX-oi-5Do"/>
+                                            </connections>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstItem="xvw-jo-kWW" firstAttribute="top" secondItem="lut-Fi-YeW" secondAttribute="top" id="0pv-Nw-ulF"/>
+                                        <constraint firstAttribute="bottom" secondItem="xvw-jo-kWW" secondAttribute="bottom" id="GBY-bX-1ga"/>
+                                        <constraint firstAttribute="trailing" secondItem="wbW-DK-XJq" secondAttribute="trailing" constant="20" id="IaT-Za-ffM"/>
+                                        <constraint firstItem="PfT-5S-Zwp" firstAttribute="centerY" secondItem="lut-Fi-YeW" secondAttribute="centerY" id="VPL-bE-gfv"/>
+                                        <constraint firstItem="xvw-jo-kWW" firstAttribute="leading" secondItem="lut-Fi-YeW" secondAttribute="leading" id="Z1H-3k-R3m"/>
+                                        <constraint firstItem="wbW-DK-XJq" firstAttribute="centerY" secondItem="lut-Fi-YeW" secondAttribute="centerY" id="dtu-s1-dwG"/>
+                                        <constraint firstAttribute="trailing" secondItem="xvw-jo-kWW" secondAttribute="trailing" id="m7q-7L-dK7"/>
+                                        <constraint firstItem="PfT-5S-Zwp" firstAttribute="leading" secondItem="lut-Fi-YeW" secondAttribute="leading" constant="15" id="wbm-VG-wiE"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="24"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
                                 <constraint firstItem="PAl-YV-XgO" firstAttribute="leading" secondItem="e8V-3U-Tr3" secondAttribute="leading" constant="25" id="EDz-mg-q1h"/>
-                                <constraint firstAttribute="bottom" secondItem="kEC-oD-Gg9" secondAttribute="bottom" id="LMe-Ob-oSX"/>
+                                <constraint firstItem="lut-Fi-YeW" firstAttribute="leading" secondItem="e8V-3U-Tr3" secondAttribute="leading" constant="25" id="EyX-0w-1sI"/>
+                                <constraint firstItem="cbm-BO-ZfV" firstAttribute="top" secondItem="kEC-oD-Gg9" secondAttribute="bottom" constant="20" id="IrH-AR-uFd"/>
+                                <constraint firstAttribute="bottom" secondItem="kEC-oD-Gg9" secondAttribute="bottom" constant="120" id="LMe-Ob-oSX"/>
                                 <constraint firstAttribute="trailing" secondItem="kEC-oD-Gg9" secondAttribute="trailing" constant="25" id="NMf-zN-HbS"/>
                                 <constraint firstItem="PAl-YV-XgO" firstAttribute="top" secondItem="e8V-3U-Tr3" secondAttribute="top" constant="20" id="Pi8-DD-B8k"/>
                                 <constraint firstItem="kEC-oD-Gg9" firstAttribute="top" secondItem="e8V-3U-Tr3" secondAttribute="top" constant="50" id="bFw-vQ-hrh"/>
+                                <constraint firstItem="lut-Fi-YeW" firstAttribute="top" secondItem="kEC-oD-Gg9" secondAttribute="bottom" constant="50" id="cdf-pR-1wK"/>
+                                <constraint firstItem="cbm-BO-ZfV" firstAttribute="leading" secondItem="e8V-3U-Tr3" secondAttribute="leading" constant="25" id="ipJ-kg-OQ2"/>
                                 <constraint firstItem="kEC-oD-Gg9" firstAttribute="leading" secondItem="e8V-3U-Tr3" secondAttribute="leading" constant="25" id="mpd-GK-hRE"/>
+                                <constraint firstAttribute="trailing" secondItem="lut-Fi-YeW" secondAttribute="trailing" constant="25" id="wsB-GN-Eqn"/>
+                                <constraint firstAttribute="bottom" secondItem="lut-Fi-YeW" secondAttribute="bottom" constant="10" id="ySa-1V-Nim"/>
                             </constraints>
                         </view>
                     </subviews>

+ 8 - 0
ADHTuanCan/Class/我的/设置/PersonalInformationVC.swift

@@ -192,6 +192,14 @@ class PersonalInformationVC: ADHBaseVC {
         let vc = UnsubscribeViewController()
         self.navigationController?.pushViewController(vc, animated: true)
     }
+    
+    ///语言设置
+    @IBAction func languageSetAction(_ sender: UIButton) {
+        let vc = LanguageSetVC()
+        self.navigationController?.pushViewController(vc, animated: true)
+        
+    }
+    
     ///退出登录
     @IBAction func loginOutAction(_ sender: UIButton) {
         

+ 6 - 0
ADHTuanCan/Class/我的/设置/en.lproj/PersonalInformationVC.strings

@@ -43,3 +43,9 @@
 
 /* Class = "UILabel"; text = "辅助邮箱"; ObjectID = "tWh-VY-a8r"; */
 "tWh-VY-a8r.text" = "Email";
+
+/* Class = "UILabel"; text = "通用"; ObjectID = "cbm-BO-ZfV"; */
+"cbm-BO-ZfV.text" = "General";
+
+/* Class = "UILabel"; text = "语言"; ObjectID = "PfT-5S-Zwp"; */
+"PfT-5S-Zwp.text" = "Language";

+ 6 - 0
ADHTuanCan/Class/我的/设置/zh-Hans.lproj/PersonalInformationVC.strings

@@ -58,3 +58,9 @@
 
 /* Class = "UILabel"; text = "辅助邮箱"; ObjectID = "tWh-VY-a8r"; */
 "tWh-VY-a8r.text" = "辅助邮箱";
+
+/* Class = "UILabel"; text = "通用"; ObjectID = "cbm-BO-ZfV"; */
+"cbm-BO-ZfV.text" = "通用";
+
+/* Class = "UILabel"; text = "语言"; ObjectID = "PfT-5S-Zwp"; */
+"PfT-5S-Zwp.text" = "语言";

+ 56 - 0
ADHTuanCan/Class/我的/设置/语言切换/LanguageSetVC.swift

@@ -0,0 +1,56 @@
+//
+//  LanguageSetVC.swift
+//  ADHTuanCan
+//
+//  Created by 敖德亨 on 2024/3/4.
+//
+
+import UIKit
+import SwiftyUserDefaults
+
+class LanguageSetVC: ADHBaseVC {
+
+    @IBOutlet weak var topCon: NSLayoutConstraint!
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+
+        self.topCon.constant = kNavAndStatuHeight + 1
+        let navStyle = MCNavBarStyle()
+        navStyle.styleForBackImage = UIImage.init(named: "黑色返回")!
+        navStyle.styleForTitleColor = UIColor.black
+        self.navBar = MCNavBarView.init(title: LanguagesUtil.createTextBy(Ctext: "语言设置", Etext: "Language setting"), subTitle: nil,style: navStyle)
+        self.navBar?.backgroundColor = UIColor.white
+    }
+
+
+    @IBAction func setCHAction(_ sender: UIButton) {
+        
+        let adhAV = Bundle.main.loadNibNamed("ADHAlertView", owner: nil, options: nil)?.last as? ADHAlertView
+        adhAV?.showWith(title: LanguagesUtil.createTextBy(Ctext: "语言设置成功后需要重启App", Etext: "After the language is set successfully, restart the App"))
+        
+        adhAV?.sureActionBlock = {[weak self] in
+            Defaults[\.LanguagesStr] = "zh-Hans"
+            UserDefaults.standard.set([Defaults[\.LanguagesStr]], forKey: "AppleLanguages")
+            UserDefaults.standard.synchronize()
+            self?.restartApplication()
+        }
+
+    }
+    
+    @IBAction func SetEnglishAction(_ sender: UIButton) {
+        let adhAV = Bundle.main.loadNibNamed("ADHAlertView", owner: nil, options: nil)?.last as? ADHAlertView
+        adhAV?.showWith(title: LanguagesUtil.createTextBy(Ctext: "语言设置成功后需要重启App", Etext: "After the language is set successfully, restart the App"))
+        
+        adhAV?.sureActionBlock = {[weak self] in
+            Defaults[\.LanguagesStr] = "en"
+            UserDefaults.standard.set([Defaults[\.LanguagesStr]], forKey: "AppleLanguages")
+            UserDefaults.standard.synchronize()
+            self?.restartApplication()
+        }
+    }
+    
+    func restartApplication(){
+        exit(0)
+    }
+}

+ 93 - 0
ADHTuanCan/Class/我的/设置/语言切换/LanguageSetVC.xib

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LanguageSetVC" customModule="ADHTuanCan" customModuleProvider="target">
+            <connections>
+                <outlet property="topCon" destination="cZc-AV-NFT" id="Ji9-4b-wQN"/>
+                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iME-WE-CTi">
+                    <rect key="frame" x="0.0" y="83" width="393" height="100"/>
+                    <subviews>
+                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pTl-Mf-6k5">
+                            <rect key="frame" x="0.0" y="49.666666666666657" width="393" height="0.6666666666666643"/>
+                            <color key="backgroundColor" red="0.84705882349999995" green="0.84705882349999995" blue="0.84705882349999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="0.5" id="vDi-Dm-qHo"/>
+                            </constraints>
+                        </view>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="简体中文" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jpT-fa-anA">
+                            <rect key="frame" x="25" y="14.999999999999998" width="65.333333333333329" height="19.333333333333329"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                            <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="English" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kxy-sk-FyO">
+                            <rect key="frame" x="25.000000000000004" y="65.333333333333343" width="52.333333333333343" height="19.333333333333329"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="16"/>
+                            <color key="textColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zny-zM-HuY">
+                            <rect key="frame" x="0.0" y="0.0" width="393" height="49.666666666666664"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <connections>
+                                <action selector="setCHAction:" destination="-1" eventType="touchUpInside" id="BYF-fX-10x"/>
+                            </connections>
+                        </button>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="K7X-26-rI9">
+                            <rect key="frame" x="0.0" y="50.333333333333343" width="393" height="49.666666666666657"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal">
+                                <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                            </state>
+                            <connections>
+                                <action selector="SetEnglishAction:" destination="-1" eventType="touchUpInside" id="PZq-Q6-mCm"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="K7X-26-rI9" secondAttribute="trailing" id="28R-7c-iXg"/>
+                        <constraint firstAttribute="height" constant="100" id="5Pd-DK-4rv"/>
+                        <constraint firstItem="kxy-sk-FyO" firstAttribute="top" secondItem="pTl-Mf-6k5" secondAttribute="bottom" constant="15" id="8Es-km-Ctc"/>
+                        <constraint firstItem="zny-zM-HuY" firstAttribute="top" secondItem="iME-WE-CTi" secondAttribute="top" id="Afa-1d-LzV"/>
+                        <constraint firstAttribute="trailing" secondItem="pTl-Mf-6k5" secondAttribute="trailing" id="Ee8-Fo-AwF"/>
+                        <constraint firstItem="jpT-fa-anA" firstAttribute="top" secondItem="iME-WE-CTi" secondAttribute="top" constant="15" id="ICr-Ub-WaE"/>
+                        <constraint firstItem="K7X-26-rI9" firstAttribute="leading" secondItem="iME-WE-CTi" secondAttribute="leading" id="O60-Cq-6Kf"/>
+                        <constraint firstAttribute="bottom" secondItem="K7X-26-rI9" secondAttribute="bottom" id="PeV-Cb-9m8"/>
+                        <constraint firstItem="pTl-Mf-6k5" firstAttribute="leading" secondItem="iME-WE-CTi" secondAttribute="leading" id="QAK-UP-1VG"/>
+                        <constraint firstItem="jpT-fa-anA" firstAttribute="leading" secondItem="iME-WE-CTi" secondAttribute="leading" constant="25" id="Rpp-e8-R4R"/>
+                        <constraint firstItem="pTl-Mf-6k5" firstAttribute="top" secondItem="zny-zM-HuY" secondAttribute="bottom" id="WPq-ik-t3x"/>
+                        <constraint firstItem="K7X-26-rI9" firstAttribute="top" secondItem="pTl-Mf-6k5" secondAttribute="bottom" id="cMc-Of-xhl"/>
+                        <constraint firstItem="zny-zM-HuY" firstAttribute="leading" secondItem="iME-WE-CTi" secondAttribute="leading" id="dqN-eO-d8L"/>
+                        <constraint firstItem="kxy-sk-FyO" firstAttribute="leading" secondItem="iME-WE-CTi" secondAttribute="leading" constant="25" id="pMU-Us-UMV"/>
+                        <constraint firstAttribute="trailing" secondItem="zny-zM-HuY" secondAttribute="trailing" id="sTI-hd-WOI"/>
+                        <constraint firstItem="pTl-Mf-6k5" firstAttribute="centerY" secondItem="iME-WE-CTi" secondAttribute="centerY" id="wdd-s3-f5c"/>
+                    </constraints>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/>
+            <color key="backgroundColor" red="0.92941176469999998" green="0.92941176469999998" blue="0.92941176469999998" alpha="1" colorSpace="calibratedRGB"/>
+            <constraints>
+                <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="iME-WE-CTi" secondAttribute="trailing" id="NHL-VV-he5"/>
+                <constraint firstItem="iME-WE-CTi" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="83" id="cZc-AV-NFT"/>
+                <constraint firstItem="iME-WE-CTi" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="z42-Rf-cs7"/>
+            </constraints>
+            <point key="canvasLocation" x="48" y="0.0"/>
+        </view>
+    </objects>
+</document>

+ 1 - 1
ADHTuanCan/Class/登录/修改支付密码/EditPayPSWViewController.swift

@@ -59,7 +59,7 @@ class EditPayPSWViewController: ADHBaseVC {
         topCons.constant = kNavAndStatuHeight - 25
         
         if Defaults[\.isSetPayPassword] === 0{
-            self.backBtn.isHidden = true
+//            self.backBtn.isHidden = true
             self.typeLab.text = LanguagesUtil.createTextBy(Ctext: "设置支付密码", Etext: "Set a pay password")
         }
         

+ 18 - 0
ADHTuanCan/Class/购物车/view/ADHAlertView.swift

@@ -10,6 +10,9 @@ import UIKit
 class ADHAlertView: UIView {
 
     @IBOutlet weak var blackView: UIView!
+   
+    @IBOutlet weak var title: UILabel!
+    
     var sureActionBlock : (()->Void)?
     
     override func awakeFromNib() {
@@ -29,6 +32,21 @@ class ADHAlertView: UIView {
             self.blackView.alpha = 0.3
         }
     }
+    
+    public func showWith(title : String){
+        self.title.text = title
+        kAppDelegateWindow.addSubview(self)
+        self.blackView.alpha = 0
+        self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: 0, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.blackView.alpha = 0.3
+        }
+    }
+    
     /// 隐藏
     public func hidden(){
         self.blackView.alpha = 0

+ 11 - 8
ADHTuanCan/Class/购物车/view/Base.lproj/ADHAlertView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -18,16 +18,16 @@
                     <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                 </view>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8Wq-Lw-K34">
-                    <rect key="frame" x="25" y="356" width="343" height="140"/>
+                    <rect key="frame" x="25" y="354" width="343" height="144.33333333333337"/>
                     <subviews>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="确定要清空菜品吗?" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mJQ-yR-i04">
-                            <rect key="frame" x="98" y="35" width="147" height="19.333333333333329"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="确定要清空菜品吗?" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mJQ-yR-i04">
+                            <rect key="frame" x="10" y="35" width="323" height="19.333333333333329"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
                             <nil key="textColor"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5Jg-uS-2em">
-                            <rect key="frame" x="181.66666666666666" y="75" width="111.33333333333334" height="40"/>
+                            <rect key="frame" x="181.66666666666666" y="79.333333333333314" width="111.33333333333334" height="40"/>
                             <color key="backgroundColor" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="40" id="zkf-KC-mko"/>
@@ -46,7 +46,7 @@
                             </connections>
                         </button>
                         <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="G0P-Zw-Qe9">
-                            <rect key="frame" x="50.000000000000007" y="75" width="111.66666666666669" height="40"/>
+                            <rect key="frame" x="50.000000000000007" y="79.333333333333314" width="111.66666666666669" height="40"/>
                             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="40" id="EhC-XP-0Xx"/>
@@ -73,14 +73,16 @@
                     </subviews>
                     <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                     <constraints>
+                        <constraint firstAttribute="trailing" secondItem="mJQ-yR-i04" secondAttribute="trailing" constant="10" id="4nl-XB-Izg"/>
                         <constraint firstItem="mJQ-yR-i04" firstAttribute="centerX" secondItem="8Wq-Lw-K34" secondAttribute="centerX" id="6Vq-vc-Dik"/>
                         <constraint firstItem="G0P-Zw-Qe9" firstAttribute="centerY" secondItem="5Jg-uS-2em" secondAttribute="centerY" id="BXU-rc-rIr"/>
+                        <constraint firstItem="5Jg-uS-2em" firstAttribute="top" secondItem="mJQ-yR-i04" secondAttribute="bottom" constant="25" id="Eqt-Qw-PWy"/>
                         <constraint firstAttribute="bottom" secondItem="5Jg-uS-2em" secondAttribute="bottom" constant="25" id="GVo-2W-s5E"/>
                         <constraint firstItem="mJQ-yR-i04" firstAttribute="top" secondItem="8Wq-Lw-K34" secondAttribute="top" constant="35" id="IVH-oI-oPm"/>
                         <constraint firstItem="G0P-Zw-Qe9" firstAttribute="leading" secondItem="8Wq-Lw-K34" secondAttribute="leading" constant="50" id="KmI-Ju-TWW"/>
+                        <constraint firstItem="mJQ-yR-i04" firstAttribute="leading" secondItem="8Wq-Lw-K34" secondAttribute="leading" constant="10" id="M7n-u6-ysA"/>
                         <constraint firstItem="5Jg-uS-2em" firstAttribute="leading" secondItem="G0P-Zw-Qe9" secondAttribute="trailing" constant="20" id="PHg-BR-0Rf"/>
                         <constraint firstAttribute="trailing" secondItem="5Jg-uS-2em" secondAttribute="trailing" constant="50" id="XeS-jt-jWB"/>
-                        <constraint firstAttribute="height" constant="140" id="lQ7-c6-urA"/>
                         <constraint firstItem="5Jg-uS-2em" firstAttribute="width" secondItem="G0P-Zw-Qe9" secondAttribute="width" id="vvh-GR-edY"/>
                     </constraints>
                     <userDefinedRuntimeAttributes>
@@ -104,6 +106,7 @@
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
             <connections>
                 <outlet property="blackView" destination="zsY-Q8-wEe" id="1Ya-Ed-1Yp"/>
+                <outlet property="title" destination="mJQ-yR-i04" id="yhm-ow-7OC"/>
             </connections>
             <point key="canvasLocation" x="364" y="-246"/>
         </view>

+ 0 - 1
ADHTuanCan/Class/首页/HomeViewController.swift

@@ -51,7 +51,6 @@ class HomeViewController: ADHBaseVC {
     let checkShoppingCarView = Bundle.main.loadNibNamed("ShoppingCarDetailView", owner: nil, options: nil)?.last as? ShoppingCarDetailView
     
     
-    //业务员必填页
     let SalesmanView = Bundle.main.loadNibNamed("SalesmanFirstShowView", owner: nil, options: nil)?.last as? SalesmanFirstShowView
     
     

+ 21 - 0
ADHTuanCan/Class/首页/普团首页/HomeSecondViewController.swift

@@ -42,7 +42,9 @@ class HomeSecondViewController: ADHBaseVC {
     //查看购物车View
     let checkShoppingCarView = Bundle.main.loadNibNamed("ShoppingCarDetailView", owner: nil, options: nil)?.last as? ShoppingCarDetailView
     
+    let SalesmanView = Bundle.main.loadNibNamed("SalesmanFirstShowView", owner: nil, options: nil)?.last as? SalesmanFirstShowView
     
+    let flotageBtn : WMFloatButton = WMFloatButton.init(frame: CGRect(x: kSCREEN_WIDTH - 70, y: kSCREEN_HEIGHT - kNavAndStatuHeight - 50, width: 50, height: 50))
     
     let timeRangeView = UINib.view(withType: timeManageSheetView.self)
     
@@ -151,6 +153,19 @@ class HomeSecondViewController: ADHBaseVC {
         self.getHomeFoodTypes()
         //获取时间段范围
 //        self./*getTimeRangDetail*/()
+        
+        flotageBtn.setTitle("漂浮", for: .normal)
+        flotageBtn.backgroundColor = UIColor.white
+        flotageBtn.typesss = 2;
+        flotageBtn.layer.cornerRadius = 25;
+        flotageBtn.setImage(UIImage.init(named: "漂浮图片"), for: .normal)
+//        flotageBtn.layer.masksToBounds = true
+        flotageBtn.layer.shadowColor = kThemeBlackColor.cgColor;
+        flotageBtn.layer.shadowOpacity = 0.5;//阴影透明度,默认0
+        flotageBtn.layer.shadowRadius = 5;
+        flotageBtn.layer.shadowOffset = CGSizeMake(4, 4);
+        flotageBtn.addTarget(self, action: #selector(reSetOrderDetail), for: .touchUpInside)
+        self.view.addSubview(flotageBtn)
     }
     
     func refreshData(){
@@ -260,6 +275,12 @@ class HomeSecondViewController: ADHBaseVC {
 
     }
     
+    //MARK: 重写业务员订单信息
+    @objc func reSetOrderDetail(){
+        self.SalesmanView?.shopType = self.shopType
+        self.SalesmanView?.showWithShopcartId(shopcartId: self.shopcartId ?? 0, vc: self)
+    }
+    
     //MARK: 获取餐品类型
     func getHomeFoodTypes(){