添加多语言,剩下的ccspatialvideodisplaycontroller也是改了多语言,但是本次提交暂时忽略

This commit is contained in:
bluesea 2024-03-29 20:07:28 +08:00
parent bfbf17b997
commit bc7d441f0c
29 changed files with 559 additions and 217 deletions

View File

@ -16,6 +16,7 @@
009662462BB3B39900FCA65F /* External.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 009662452BB3B39900FCA65F /* External.storyboard */; };
0096624A2BB3B45200FCA65F /* ExternalSceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009662492BB3B45200FCA65F /* ExternalSceneDelegate.swift */; };
0096624D2BB3BA3B00FCA65F /* ZZHExternalViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0096624C2BB3BA3B00FCA65F /* ZZHExternalViewController.swift */; };
0096625A2BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 009662592BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift */; };
00B946232B67B26D00DA668F /* ddd_video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 00B946222B67B26D00DA668F /* ddd_video.mp4 */; };
00B946252B67B7DE00DA668F /* CCSpatialPlayView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00B946242B67B7DE00DA668F /* CCSpatialPlayView.swift */; };
00C665732BAA81F900C309C3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 00C665722BAA81F900C309C3 /* GoogleService-Info.plist */; };
@ -109,6 +110,7 @@
009662452BB3B39900FCA65F /* External.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = External.storyboard; sourceTree = "<group>"; };
009662492BB3B45200FCA65F /* ExternalSceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExternalSceneDelegate.swift; sourceTree = "<group>"; };
0096624C2BB3BA3B00FCA65F /* ZZHExternalViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ZZHExternalViewController.swift; sourceTree = "<group>"; };
009662592BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CCSpatialVideoDisplayForVideoTask.swift; sourceTree = "<group>"; };
00B946222B67B26D00DA668F /* ddd_video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; path = ddd_video.mp4; sourceTree = "<group>"; };
00B946242B67B7DE00DA668F /* CCSpatialPlayView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CCSpatialPlayView.swift; sourceTree = "<group>"; };
00C665722BAA81F900C309C3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
@ -225,6 +227,15 @@
path = ExternalScreen;
sourceTree = "<group>";
};
009662582BB5527200FCA65F /* CCSpatialVideoDisplayController */ = {
isa = PBXGroup;
children = (
1E1EA2932B9364F000A5D5D2 /* CCSpatialVideoDisplayController.swift */,
009662592BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift */,
);
path = CCSpatialVideoDisplayController;
sourceTree = "<group>";
};
1E02C9302B89909000DD3143 /* DeviceOperation */ = {
isa = PBXGroup;
children = (
@ -245,11 +256,11 @@
1E39459C2B83837900D0F5CA /* RecordingVideo */ = {
isa = PBXGroup;
children = (
009662582BB5527200FCA65F /* CCSpatialVideoDisplayController */,
1EE5C5F62B8F973A00EDFC2F /* CCSpatialShootController.swift */,
1E39459F2B8398B000D0F5CA /* VRVideoTransformController.swift */,
1EFAF0BF2B8B7A59002A1773 /* VRPhotoTransformController.swift */,
1E1EA2872B9325D300A5D5D2 /* CCSpatialPhotoDisplayController.swift */,
1E1EA2932B9364F000A5D5D2 /* CCSpatialVideoDisplayController.swift */,
);
path = RecordingVideo;
sourceTree = "<group>";
@ -737,6 +748,7 @@
AF2120AF2B4E930400400B7F /* RootManager.swift in Sources */,
1E02C9322B8990C600DD3143 /* CCDeviceOperationListView.swift in Sources */,
AF2120DA2B4E9BD400400B7F /* CCAlert.swift in Sources */,
0096625A2BB552E700FCA65F /* CCSpatialVideoDisplayForVideoTask.swift in Sources */,
1EFB8C702B88DA4800C72119 /* CCBottomMenuCell.swift in Sources */,
AF2120FA2B4EA5BD00400B7F /* CCHomeController.swift in Sources */,
00ED6B342BA04AC200915BDE /* PlayByTransferConvertor.swift in Sources */,

View File

@ -49,12 +49,6 @@
ReferencedContainer = "container:SwiftProject.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "-FIRDebugEnabled"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"

View File

@ -387,8 +387,8 @@
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialShootController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1199"
endingLineNumber = "1199"
startingLineNumber = "1200"
endingLineNumber = "1200"
landmarkName = "compositeSpatialPhoto()"
landmarkType = "7">
</BreakpointContent>
@ -467,8 +467,8 @@
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialPhotoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "256"
endingLineNumber = "256"
startingLineNumber = "257"
endingLineNumber = "257"
landmarkName = "setttinisScreenMirroring(isScreenMirroring:)"
landmarkType = "7">
<Locations>
@ -508,16 +508,112 @@
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B47C33EC-9F24-438A-8666-A5370A6FBE6F"
uuid = "D37B77BA-EBC8-4DD9-BE5F-E0FF53223C57"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "83"
endingLineNumber = "83"
landmarkName = "convertFrame(request:)"
landmarkType = "7">
<Locations>
<Location
uuid = "D37B77BA-EBC8-4DD9-BE5F-E0FF53223C57 - e6cc3a15a2d9caad"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "SwiftProject.CCSpatialVideoDisplayController.convertFrame(request: __C.AVAsynchronousCIImageFilteringRequest) -&gt; ()"
moduleName = "SwiftProject"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "83"
endingLineNumber = "83"
offsetFromSymbolStart = "556">
</Location>
<Location
uuid = "D37B77BA-EBC8-4DD9-BE5F-E0FF53223C57 - e6cc3a15a2d9caad"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "SwiftProject.CCSpatialVideoDisplayController.convertFrame(request: __C.AVAsynchronousCIImageFilteringRequest) -&gt; ()"
moduleName = "SwiftProject"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "83"
endingLineNumber = "83"
offsetFromSymbolStart = "524">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C3AB3C59-7E1D-4AE8-8D10-25F7B54C5B5B"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "87"
endingLineNumber = "87"
landmarkName = "convertFrame(request:)"
landmarkType = "7">
<Locations>
<Location
uuid = "C3AB3C59-7E1D-4AE8-8D10-25F7B54C5B5B - e6cc3a15a2d9cb11"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "SwiftProject.CCSpatialVideoDisplayController.convertFrame(request: __C.AVAsynchronousCIImageFilteringRequest) -&gt; ()"
moduleName = "SwiftProject"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "87"
endingLineNumber = "87"
offsetFromSymbolStart = "668">
</Location>
<Location
uuid = "C3AB3C59-7E1D-4AE8-8D10-25F7B54C5B5B - e6cc3a15a2d9cb11"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "SwiftProject.CCSpatialVideoDisplayController.convertFrame(request: __C.AVAsynchronousCIImageFilteringRequest) -&gt; ()"
moduleName = "SwiftProject"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/aaa/Documents/IOS%20Dev/VR/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayForVideoTask.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "87"
endingLineNumber = "87"
offsetFromSymbolStart = "564">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "AC3AF843-C4D6-4749-834A-B1DCA686B7CC"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "SwiftProject/CCKit/Base/BaseVirtualController.swift"
filePath = "SwiftProject/Project/Controller/RecordingVideo/CCSpatialVideoDisplayController/CCSpatialVideoDisplayController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "179"
endingLineNumber = "179"
landmarkName = "setNavgaionTitle(string:)"
startingLineNumber = "437"
endingLineNumber = "437"
landmarkName = "navgationButtonClick2(sender:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Card@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Card_1_en.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Card@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Card_2_en.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Card_en.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Card@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -80,7 +80,8 @@ class BaseController: BaseVirtualController {
override func viewDidLoad() {
super.viewDidLoad()
self.setNavgationBarColorImg(color: tabBarTintSelectColor)
self.setNavgationBarColorImg(color: .black)
// self.setNavgationBarColorImg(color: tabBarTintSelectColor)
self.setNavgationBarLine(color: BackGroundColor)
self.setNavgationTitleAttribute(font: UIFont.systemFont(ofSize: 18), color: UIColor.hexStringToColor(hexString: "#ffffff"))
if(_isRoot == false){

View File

@ -188,6 +188,11 @@ class BaseVirtualController: UIViewController {
// }
titleLab?.centerX = (navtionImgView?.width)! * 0.5
titleLab?.centerY = StatuBar_Height + NavBar_Height * 0.5;
}
public func setNavgationTitleForCaptureVC(string:String) {
setNavgaionTitle(string: string)
titleLab?.backgroundColor = .red
titleLab?.layer.cornerRadius = 2
titleLab?.layer.masksToBounds = true

View File

@ -126,7 +126,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mTopCenterBtn!.layer.cornerRadius = mTopCenterBtn!.height * 0.5
mTopCenterBtn!.layer.borderWidth = 0.5
mTopCenterBtn!.layer.borderColor = UIColor.white.cgColor
mTopCenterBtn!.setTitle("未连接VR设备", for: UIControl.State.normal)
mTopCenterBtn!.setTitle(NSLocalizedString("未连接VR设备", comment: ""), for: UIControl.State.normal)
mTopCenterBtn!.setTitleColor(UIColor.white, for: UIControl.State.normal)
mTopCenterBtn!.titleLabel?.font = UIFont.systemFont(ofSize: 12)
mTopCenterBtn!.isEnabled = false
@ -154,7 +154,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
output.portType == AVAudioSession.Port.airPlay
}
mTopCenterBtn!.setTitle((isAirPlayActive ? "已连接外部设备" : "未连接VR设备"), for: UIControl.State.normal)
mTopCenterBtn!.setTitle((isAirPlayActive ? NSLocalizedString("已连接外部设备", comment: "") : NSLocalizedString("未连接VR设备", comment: "")), for: UIControl.State.normal)
mTopCenterBtn!.backgroundColor = isAirPlayActive ? UIColor.colorWithRGBINT(_r: 73, _g: 34, _b: 208) : UIColor.hexStringToColor(hexString: "#060507")
isAirPlayActive ? mTopCenterBtn!.setImage(UIImage.init(named: "linked_button"), for: .normal) : mTopCenterBtn!.setImage(nil,for: .normal)
isAirPlayActive ? mTopCenterBtn!.updateBtnEdgeInsets(style: .Left, space: 5):mTopCenterBtn!.updateBtnEdgeInsets(style: .Left, space: 0)
@ -206,7 +206,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mCenLab1!.textColor = UIColor.white
mCenLab1!.font = UIFont.boldSystemFont(ofSize: 18)
self.view.addSubview(mCenLab1!)
mCenLab1!.text = "Tips.1 拍摄空间照片以及视频"
mCenLab1!.text = NSLocalizedString("Tips.1 拍摄空间照片以及视频", comment: "")
mCenLab1!.sizeToFit()
mCenLab1!.top = cycleScrollView!.bottom + 32
mCenLab1!.centerX = SCREEN_Width * 0.5
@ -218,7 +218,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mCenLab2!.textColor = UIColor.hexStringToColor(hexString: "#CDCDCD")
mCenLab2!.font = UIFont.systemFont(ofSize: 14)
self.view.addSubview(mCenLab2!)
mCenLab2!.text = "一键拍摄空间格式的照片以及视频,留住美好瞬间"
mCenLab2!.text = NSLocalizedString("一键拍摄空间格式的照片以及视频,留住美好瞬间", comment: "")
mCenLab2!.sizeToFit()
mCenLab2!.top = mCenLab1!.bottom + 16
mCenLab2!.centerX = SCREEN_Width * 0.5
@ -227,10 +227,10 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
//
func cycleScrollView(_ cycleScrollView: LLCycleScrollView, scrollTo index: NSInteger) {
// print("\(index)")
let arr1 = ["Tips.1 拍摄空间照片以及视频","Tips.2 视频转码","Tips.3 直连VR设备"]
let arr2 = ["一键拍摄空间格式的照片以及视频,留住美好瞬间",
"可以将任意格式视频转码为 VR 或 3D 格式",
"可以通过链接VR设备直接观看转码内容"]
let arr1 = [NSLocalizedString("Tips.1 拍摄空间照片以及视频", comment: ""),NSLocalizedString("Tips.2 视频转码", comment: ""),NSLocalizedString("Tips.3 直连VR设备", comment: "")]
let arr2 = [NSLocalizedString("一键拍摄空间格式的照片以及视频,留住美好瞬间", comment: ""),
NSLocalizedString("可以将任意格式视频转码为 VR 或 3D 格式", comment: ""),
NSLocalizedString("可以通过链接VR设备直接观看转码内容", comment: "")]
DispatchQueue.main.async { [weak self] in
self!.mCenLab1!.width = SCREEN_Width - 30
self!.mCenLab1!.text = arr1[index]
@ -264,7 +264,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mBottomBtn1?.frame = CGRect(x: 24, y: 10, width: wd1, height: hi1)
mBottomBtn1!.bottom = SCREEN_Height - SafeAreaBottom_Height - 200
mBottomBtn1!.titleLabel?.font = UIFont.systemFont(ofSize: 12)
mBottomBtn1?.setBackgroundImage(UIImage.init(named: "Card"), for: UIControl.State.normal)
mBottomBtn1?.setBackgroundImage(UIImage.init(named: NSLocalizedString("home_card", comment: "")), for: UIControl.State.normal)
mBottomBtn2 = UIButton.init(type: UIButton.ButtonType.custom)
self.view.addSubview(mBottomBtn2!)
@ -274,7 +274,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mBottomBtn2?.frame = CGRect(x: 24, y: 10, width: wd1, height: hi1)
mBottomBtn2!.top = mBottomBtn1!.bottom + 12
mBottomBtn2!.titleLabel?.font = UIFont.systemFont(ofSize: 12)
mBottomBtn2?.setBackgroundImage(UIImage.init(named: "Card_1"), for: UIControl.State.normal)
mBottomBtn2?.setBackgroundImage(UIImage.init(named: NSLocalizedString("home_card_1", comment: "")), for: UIControl.State.normal)
mBottomBtn3 = UIButton.init(type: UIButton.ButtonType.custom)
self.view.addSubview(mBottomBtn3!)
@ -284,7 +284,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mBottomBtn3?.frame = CGRect(x: 24, y: mBottomBtn1!.top, width: wd1, height: hi2)
mBottomBtn3!.left = mBottomBtn1!.right + 10
mBottomBtn3!.titleLabel?.font = UIFont.systemFont(ofSize: 12)
mBottomBtn3?.setBackgroundImage(UIImage.init(named: "Card_2"), for: UIControl.State.normal)
mBottomBtn3?.setBackgroundImage(UIImage.init(named: NSLocalizedString("home_card_2", comment: "")), for: UIControl.State.normal)
}
@objc public func navgationButtonClick2(sender:UIButton){
@ -304,7 +304,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
// gotoSpatialPlayVC()
// CCBottomMenuPopView.share.show(imageNameArray: ["Icon_PopUp_Icon_Scenes","Icon_PopUp_Icon_Photo","Icon_PopUp_Icon_Folder"], textArray: ["簿","",""]) { index in
CCBottomMenuPopView.share.show(imageNameArray: ["Icon_PopUp_Icon_Scenes","Icon_PopUp_Icon_Photo"], textArray: ["空间相簿","照片图库"]) { index in
CCBottomMenuPopView.share.show(imageNameArray: ["Icon_PopUp_Icon_Scenes","Icon_PopUp_Icon_Photo"], textArray: [NSLocalizedString("空间相簿", comment: ""),NSLocalizedString("照片图库", comment: "")]) { index in
if index == 0 {
self.spaceAlbum()
@ -364,15 +364,15 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mineView!.handle = {dic in
print(dic["name"] as Any)
if((dic["name"] as! String).elementsEqual("隐私政策")){
if((dic["name"] as! String).elementsEqual(NSLocalizedString("隐私政策", comment: ""))){
let vc:CCWebController = CCWebController()
let sizeUrl = NSLocalizedString("siteUrl", comment: "隐私政策")
let sizeUrl = NSLocalizedString("siteUrl", comment: "隐私政策url")
vc.urlString = sizeUrl
self.navigationController?.pushViewController(vc, animated: true)
}
else if((dic["name"] as! String).elementsEqual("联系我们")) {//
else if((dic["name"] as! String).elementsEqual(NSLocalizedString("联系我们", comment: ""))) {//
if !MFMailComposeViewController.canSendMail() {
SVProgressHUD.showInfo(withStatus: "请先前往系统设置配置发送的邮箱信息")
SVProgressHUD.showInfo(withStatus: NSLocalizedString("请先前往系统设置配置发送的邮箱信息", comment: ""))
return
}
@ -380,7 +380,7 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate,MFMailComposeV
mailComposeViewController.mailComposeDelegate = self
mailComposeViewController.setSubject("")
mailComposeViewController.setMessageBody("请在此处描述您需要反馈的问题.", isHTML: false)
mailComposeViewController.setMessageBody(NSLocalizedString("请在此处描述您需要反馈的问题.", comment: ""), isHTML: false)
mailComposeViewController.setToRecipients(["fangaoqdi@163.com"])
self.present(mailComposeViewController, animated: true)
@ -467,12 +467,12 @@ extension CCHomeController: TZImagePickerControllerDelegate,UINavigationControll
let status = AVCaptureDevice.authorizationStatus(for: .video)
if status == AVAuthorizationStatus.restricted || status == AVAuthorizationStatus.denied {
let alertC = UIAlertController(title: "Unable to use camera", message: "Please allow access to the camera in “Settings Privacy Camera” on iPhone", preferredStyle: .alert)
let alertC = UIAlertController(title: NSLocalizedString(NSLocalizedString("无法使用相机", comment: ""), comment: ""), message: NSLocalizedString("请前往[设置->隐私安全]中开启访问授权", comment: ""), preferredStyle: .alert)
// let actionCancel = UIAlertAction(title: "Cancel", style: .cancel) { (action:UIAlertAction) in
// }
let actionSet = UIAlertAction(title: "Setting", style: .cancel) { (action:UIAlertAction) in
let actionSet = UIAlertAction(title: NSLocalizedString("设置", comment: ""), style: .cancel) { (action:UIAlertAction) in
let url:URL = URL(string: UIApplication.openSettingsURLString)!
UIApplication.shared.open(url, options: [:], completionHandler: nil)

View File

@ -18,8 +18,9 @@ class CCWebController: BaseController, WKNavigationDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.white
self.setNavgaionTitle(string: "隐私协议")
self.titleLab?.width = 200
self.setNavgaionTitle(string: NSLocalizedString("隐私政策", comment: ""))
self.titleLab?.sizeToFit()
// WKWebView
webView = WKWebView()
view.addSubview(webView)
@ -37,6 +38,6 @@ class CCWebController: BaseController, WKNavigationDelegate {
// WKNavigationDelegate
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.setNavgaionTitle(string: webView.title!)
// self.setNavgaionTitle(string: webView.title!)
}
}

View File

@ -92,11 +92,12 @@ class CCSpatialPhotoDisplayController: BaseController {
button.layer.cornerRadius = 18
button.layer.borderWidth = 1
button.layer.borderColor = UIColor.white.cgColor
button.setTitle("平行眼", for: UIControl.State.normal)
button.setTitle(NSLocalizedString("平行眼", comment: ""), for: UIControl.State.normal)
button.setImage(UIImage.init(named: "type_button_arrow_down"), for: .normal)
button.updateBtnEdgeInsets(style: .Right, space: 10)
button.setTitleColor(UIColor.white, for: UIControl.State.normal)
button.titleLabel?.font = KFont_Medium(14)
button.updateBtnEdgeInsets(style: .Right, space: 5)
return button
}()
@ -111,11 +112,11 @@ class CCSpatialPhotoDisplayController: BaseController {
return imageView
}()
var typeData:[(icon:String,title:String,isHiden:Bool)] = [(icon:"type_check",title:"平行眼",isHiden:false),
(icon:"type_check",title:"单眼2D",isHiden:false),
var typeData:[(icon:String,title:String,isHiden:Bool)] = [(icon:"type_check",title:NSLocalizedString("平行眼", comment: ""),isHiden:false),
(icon:"type_check",title:NSLocalizedString("单眼2D", comment: ""),isHiden:false),
(icon:"type_check",title:"红蓝立体",isHiden:false),
(icon:"type_check",title:"交叉眼",isHiden:false)]
(icon:"type_check",title:NSLocalizedString("红蓝立体", comment: ""),isHiden:false),
(icon:"type_check",title:NSLocalizedString("交叉眼", comment: ""),isHiden:false)]
lazy var menuView: CCSpatialDisplayTypeView = {
//icon

View File

@ -60,7 +60,7 @@ class CCSpatialShootController: BaseController {
label.backgroundColor = UIColor.darkGray
label.font = KFont_Medium(12)
label.textColor = KTextColor_White
label.text = "你只需捕捉美好,转码交给我们"
label.text = ""//"
label.textAlignment = .center
label.alpha = 1.0
label.layer.cornerRadius = 8
@ -93,7 +93,7 @@ class CCSpatialShootController: BaseController {
label.backgroundColor = UIColor.clear
label.font = KFont_Medium(14)
label.textColor = KTextColor_White
label.text = "将iPhone旋转为横向"
label.text = NSLocalizedString("将iPhone旋转为横向", comment: "")
label.alpha = 0.0
label.isHidden = true
return label
@ -230,7 +230,7 @@ class CCSpatialShootController: BaseController {
label.backgroundColor = UIColor.clear
label.font = KFont_Medium(12)
label.textColor = UIColor(hexString: "#ffffff", alpha: 0.6)
label.text = "拍照"
label.text = NSLocalizedString("拍照", comment: "")
label.isHidden = false
return label
}()
@ -240,7 +240,7 @@ class CCSpatialShootController: BaseController {
label.backgroundColor = UIColor.clear
label.font = KFont_Medium(12)
label.textColor = UIColor(hexString: "#ffffff", alpha: 0.6)
label.text = "摄像"
label.text = NSLocalizedString("摄像", comment: "")
label.isHidden = true
return label
}()
@ -785,7 +785,8 @@ class CCSpatialShootController: BaseController {
count += 1
let timeText = self.transToHourMinSec(second: count)
DispatchQueue.main.async {
self.setNavgaionTitle(string: timeText)
// self.setNavgaionTitle(string: timeText)
self.setNavgationTitleForCaptureVC(string: timeText)
}
}
})
@ -1014,13 +1015,13 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
print("Video recording finished with error: \(error.localizedDescription)")
DispatchQueue.main.async {
SVProgressHUD.showSuccess(withStatus: "合成过程出现问题")
SVProgressHUD.showSuccess(withStatus: NSLocalizedString("合成过程出现问题", comment: ""))
}
} else {
DispatchQueue.main.async {
SVProgressHUD.show(withStatus: "处理中...")
SVProgressHUD.show(withStatus: NSLocalizedString("处理中...", comment: ""))
}
@ -1080,10 +1081,10 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
// SVProgressHUD.showSuccess(withStatus: "")
// }
} else if let error = error {
print("生成空间视频失败:\(error.localizedDescription)")
DispatchQueue.main.async {
SVProgressHUD.showInfo(withStatus: "空间视频保存失败:\(error.localizedDescription)")
SVProgressHUD.showInfo(withStatus: "\(NSLocalizedString("空间视频保存失败", comment: "")):\(error.localizedDescription)")
}
}
}
@ -1233,7 +1234,7 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
if let error = error {
print("Error saving photo to library: \(error.localizedDescription)")
DispatchQueue.main.async {
SVProgressHUD.showInfo(withStatus: "空间图片保存失败: \(error.localizedDescription)")
SVProgressHUD.showInfo(withStatus: "\(NSLocalizedString("空间图片保存失败", comment: "")): \(error.localizedDescription)")
}
} else {
print("Photo saved to library successfully.")

View File

@ -72,7 +72,7 @@ class VRPhotoTransformController: BaseController {
ZZHHelper.setNowTimeToUserDefaultWithKey(kNowTimeToUserDefaultKey_PhotoTransformController)
self.view.backgroundColor = UIColor.black
self.navLine?.isHidden = true
self.setNavgaionTitle(string: "图片转码")
self.setNavgaionTitle(string: NSLocalizedString("图片转码", comment: ""))
//393*236
mTopImgView = UIImageView(frame: CGRect(x: 0, y: 0, width: SCREEN_Width, height: SCREEN_Height * 236/393))
@ -142,7 +142,7 @@ class VRPhotoTransformController: BaseController {
mBottomBtn!.bottom = SCREEN_Height - SafeAreaBottom_Height - 30
mBottomBtn!.clipsToBounds = true
mBottomBtn!.layer.cornerRadius = 8
mBottomBtn!.setTitle("转码导出", for: UIControl.State.normal)
mBottomBtn!.setTitle(NSLocalizedString("转码导出", comment: ""), for: UIControl.State.normal)
mBottomBtn!.setTitleColor(UIColor.white, for: UIControl.State.normal)
mBottomBtn!.titleLabel?.font = UIFont.systemFont(ofSize: 14)
@ -210,7 +210,7 @@ class VRPhotoTransformController: BaseController {
mLabel!.textColor = UIColor.hexStringToColor(hexString: "#6A696A")
mLabel!.font = UIFont.systemFont(ofSize: 14)
self.view.addSubview(mLabel!)
mLabel!.text = "格式"
mLabel!.text = NSLocalizedString("格式", comment: "")
mLabel!.sizeToFit()
mLabel!.top = mCenView!.bottom + 32
mLabel!.left = 24
@ -234,7 +234,7 @@ class VRPhotoTransformController: BaseController {
func setSpatialParametersListData() {
let popData = [
(type:CCTransformParameterType.hsbs_3D,title:"3D 格式",name:"3D HSBS")]
(type:CCTransformParameterType.hsbs_3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS")]
mTabView?.setSpatialParametersData(data: popData)
}
@ -242,15 +242,15 @@ class VRPhotoTransformController: BaseController {
@objc public func navgationButtonClick2(sender:UIButton){
//
if(sender.tag == 10){
showProgress()
//
// let isSpatial = isSpatialImage(imageURL: sourceImageURL!)
let isSpatial = isSpatialImage(originalData: sourceImageData!)
if !isSpatial {
print("")
return SVProgressHUD.showInfo(withStatus: "这不是一张空间图片,无法进行转码")
return SVProgressHUD.showInfo(withStatus: NSLocalizedString("这不是一张空间图片,无法进行转码", comment: ""))
}
showProgress()
DispatchQueue.main.async {
self.progressView?.updateProgress(value: 1)
}
@ -288,12 +288,12 @@ class VRPhotoTransformController: BaseController {
if let error = error {
print("保存失败:\(error)")
DispatchQueue.main.async {
self.progressView?.updateInfo(title: "导出相册失败", desc: "请查看相册权限")
self.progressView?.updateInfo(title:NSLocalizedString( "导出相册失败", comment: ""), desc: NSLocalizedString("请查看相册权限", comment: ""))
}
} else {
DispatchQueue.main.async {
self.progressView?.updateProgress(value: 1)
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容已存储到相册中")
self.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容已存储到相册中", comment: ""))
}
}
}
@ -322,34 +322,34 @@ class VRPhotoTransformController: BaseController {
3D FOU
*/
let action1 = UIAlertAction(title: "3D HSBS半宽左右格式" , style: .default) { [self] (action:UIAlertAction) in
let action1 = UIAlertAction(title: NSLocalizedString("3D HSBS半宽左右格式", comment: "") , style: .default) { [self] (action:UIAlertAction) in
print("3D HSBS半宽左右格式")
let popData = [
(type:CCTransformParameterType.hsbs_3D,title:"3D 格式",name:"3D HSBS")]
(type:CCTransformParameterType.hsbs_3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS")]
mTabView?.setSpatialParametersData(data: popData)
}
let action2 = UIAlertAction(title: "3D FSBS全宽左右格式" , style: .default) { [self] (action:UIAlertAction) in
let action2 = UIAlertAction(title: NSLocalizedString("3D FSBS全宽左右格式", comment: "") , style: .default) { [self] (action:UIAlertAction) in
print("3D FSBS全宽左右格式")
let popData = [
(type:CCTransformParameterType.fsbs_3D,title:"3D 格式",name:"3D FSBS")]
(type:CCTransformParameterType.fsbs_3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D FSBS")]
mTabView?.setSpatialParametersData(data: popData)
}
let action3 = UIAlertAction(title: "3D HOU半高上下格式" , style: .default) { [self] (action:UIAlertAction) in
let action3 = UIAlertAction(title: NSLocalizedString("3D HOU半高上下格式" , comment: ""), style: .default) { [self] (action:UIAlertAction) in
print("3D HOU半高上下格式")
let popData = [
(type:CCTransformParameterType.hou_3d,title:"3D 格式",name:"3D HOU")]
(type:CCTransformParameterType.hou_3d,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HOU")]
mTabView?.setSpatialParametersData(data: popData)
}
let action4 = UIAlertAction(title: "3D FOU全高上下格式" , style: .default) { [self] (action:UIAlertAction) in
let action4 = UIAlertAction(title: NSLocalizedString("3D FOU全高上下格式", comment: "") , style: .default) { [self] (action:UIAlertAction) in
print("3D FOU全高上下格式")
let popData = [
(type:CCTransformParameterType.fou_3D,title:"3D 格式",name:"3D FOU")]
(type:CCTransformParameterType.fou_3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D FOU")]
mTabView?.setSpatialParametersData(data: popData)
}
let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let cancelAction = UIAlertAction(title: NSLocalizedString("取消", comment: ""), style: .cancel, handler: nil)
alert.addAction(action1)
alert.addAction(action2)
alert.addAction(action3)

View File

@ -120,10 +120,12 @@ class VRVideoTransformController: BaseController {
override func viewDidLoad() {
super.viewDidLoad()
ZZHHelper.setNowTimeToUserDefaultWithKey(kNowTimeToUserDefaultKey_VideoTransformController)
self.view.backgroundColor = UIColor.black
self.navLine?.isHidden = true
self.setNavgaionTitle(string: "视频转码")
self.setNavgaionTitle(string: NSLocalizedString("视频转码", comment: ""))
//393*236
mTopImgView = UIImageView(frame: CGRect(x: 0, y: 0, width: SCREEN_Width, height: SCREEN_Height * 236/393))
@ -156,7 +158,6 @@ class VRVideoTransformController: BaseController {
}
self.creatUI()
setSpatialParametersListData()
}
@ -173,7 +174,7 @@ class VRVideoTransformController: BaseController {
mBottomBtn!.bottom = SCREEN_Height - SafeAreaBottom_Height - 30
mBottomBtn!.clipsToBounds = true
mBottomBtn!.layer.cornerRadius = 8
mBottomBtn!.setTitle("转码导出", for: UIControl.State.normal)
mBottomBtn!.setTitle(NSLocalizedString("转码导出", comment: ""), for: UIControl.State.normal)
mBottomBtn!.setTitleColor(UIColor.white, for: UIControl.State.normal)
mBottomBtn!.titleLabel?.font = UIFont.systemFont(ofSize: 14)
@ -241,7 +242,7 @@ class VRVideoTransformController: BaseController {
mLabel!.textColor = UIColor.hexStringToColor(hexString: "#6A696A")
mLabel!.font = UIFont.systemFont(ofSize: 14)
self.view.addSubview(mLabel!)
mLabel!.text = "格式"
mLabel!.text = NSLocalizedString("格式", comment: "")
mLabel!.sizeToFit()
mLabel!.top = mCenView!.bottom + 32
mLabel!.left = 24
@ -249,25 +250,26 @@ class VRVideoTransformController: BaseController {
let maxHi = mBottomBtn!.top - mCenView!.bottom - 110
var hi = 62.0*5
if(hi > maxHi){hi = maxHi}
mTabView = CCSpatialPlayView.init(frame: CGRect(x: 24, y: mCenView!.bottom + 70, width: SCREEN_Width - 48, height: hi))
// mTabView = CCSpatialPlayView.init(frame: CGRect(x: 24, y: mCenView!.bottom + 70, width: SCREEN_Width - 48, height: hi))
mTabView = CCSpatialPlayView.init(frame: CGRect(x: 0, y: mCenView!.bottom + 70, width: SCREEN_Width, height: hi))
self.view.addSubview(mTabView!)
mTabView!.backgroundColor = UIColor.hexStringToColor(hexString: "#1F1E20")
mTabView?.clipsToBounds = true
mTabView?.layer.cornerRadius = 12
mTabView?.handle = {dic in
print(dic)
self.selectedCellAction(dic)
mTabView!.backgroundColor = UIColor.clear//UIColor.hexStringToColor(hexString: "#1F1E20")
// mTabView?.clipsToBounds = true
// mTabView?.layer.cornerRadius = 33
mTabView?.handle = {[weak self] dic in
// print(dic)
self?.selectedCellAction(dic)
}
}
func setSpatialParametersListData() {
let popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:"原始"),
(type:CCTransformParameterType.bitRate,title:"比特率",name:"最佳"),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:"H.265"),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:"水平视差调整",name:"0")]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: "" ),name:NSLocalizedString("原始", comment: "")),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:NSLocalizedString("最佳", comment: "")),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:"H.265"),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:NSLocalizedString("水平视差调整", comment: ""),name:"0")]
mTabView?.setSpatialParametersData(data: popData)
}
@ -289,10 +291,10 @@ class VRVideoTransformController: BaseController {
}
//MARK: -
func according3DFormatShowList(format:Video3DFormat) {
var presetText = "原始"
var presetText = NSLocalizedString("原始", comment: "")
switch self.selectedPreset {
case .mvhevc1440x1440:
presetText = "原始"
presetText = NSLocalizedString("原始", comment: "")
break
case .hevc3840x2160:
presetText = "4K"
@ -309,19 +311,19 @@ class VRVideoTransformController: BaseController {
var bitText = "最佳"
var bitText = NSLocalizedString("最佳", comment: "")
switch self.selectedBitsPerPixel {
case .best:
bitText = "最佳"
bitText = NSLocalizedString("最佳", comment: "")
break
case .high:
bitText = ""
bitText = NSLocalizedString("", comment: "")
break
case .medium:
bitText = ""
bitText = NSLocalizedString("", comment: "")
break
case .low:
bitText = ""
bitText = NSLocalizedString("", comment: "")
break
}
@ -345,46 +347,46 @@ class VRVideoTransformController: BaseController {
//
var popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:presetText),
(type:CCTransformParameterType.bitRate,title:"比特率",name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:"水平视差调整",name:"0")]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:presetText),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:NSLocalizedString("水平视差调整", comment: ""),name:"0")]
switch format {
case .HSBS:
popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:presetText),
(type:CCTransformParameterType.bitRate,title:"比特率",name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:"水平视差调整",name:"0")]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:presetText),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:NSLocalizedString("水平视差调整", comment: ""),name:"0")]
break
case .FSBS:
popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D FSBS"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:presetText),
(type:CCTransformParameterType.bitRate,title:"比特率",name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:codecTypeText)]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D FSBS"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:presetText),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:codecTypeText)]
break
case .HOU:
popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D HOU"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:presetText),
(type:CCTransformParameterType.bitRate,title:"比特率",name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:"水平视差调整",name:"0")]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HOU"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:presetText),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:codecTypeText),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:NSLocalizedString("水平视差调整", comment: ""),name:"0")]
break
case .FOU:
popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D FOU"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:presetText),
(type:CCTransformParameterType.bitRate,title:"比特率",name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:codecTypeText)]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D FOU"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:presetText),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:bitText),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:codecTypeText)]
break
}
@ -418,23 +420,23 @@ class VRVideoTransformController: BaseController {
3D HOU
3D FOU
*/
let action1 = UIAlertAction(title: "3D HSBS半宽左右格式" , style: .default) { (action:UIAlertAction) in
self.selected3DFormat = .HSBS
self.according3DFormatShowList(format: .HSBS)
let action1 = UIAlertAction(title: NSLocalizedString("3D HSBS半宽左右格式" , comment: ""), style: .default) {[weak self] (action:UIAlertAction) in
self?.selected3DFormat = .HSBS
self?.according3DFormatShowList(format: .HSBS)
}
let action2 = UIAlertAction(title: "3D FSBS全宽左右格式" , style: .default) { (action:UIAlertAction) in
self.selected3DFormat = .FSBS
self.according3DFormatShowList(format: .FSBS)
let action2 = UIAlertAction(title: NSLocalizedString("3D FSBS全宽左右格式", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self?.selected3DFormat = .FSBS
self?.according3DFormatShowList(format: .FSBS)
}
let action3 = UIAlertAction(title: "3D HOU半高上下格式" , style: .default) { (action:UIAlertAction) in
self.selected3DFormat = .HOU
self.according3DFormatShowList(format: .HOU)
let action3 = UIAlertAction(title: NSLocalizedString("3D HOU半高上下格式", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self?.selected3DFormat = .HOU
self?.according3DFormatShowList(format: .HOU)
}
let action4 = UIAlertAction(title: "3D FOU全高上下格式" , style: .default) { (action:UIAlertAction) in
self.selected3DFormat = .FOU
self.according3DFormatShowList(format: .FOU)
let action4 = UIAlertAction(title: NSLocalizedString("3D FOU全高上下格式", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self?.selected3DFormat = .FOU
self?.according3DFormatShowList(format: .FOU)
}
let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let cancelAction = UIAlertAction(title: NSLocalizedString("取消", comment: ""), style: .cancel, handler: nil)
alert.addAction(action1)
alert.addAction(action2)
alert.addAction(action3)
@ -452,31 +454,31 @@ class VRVideoTransformController: BaseController {
4K 3840x2160 1
*/
let action1 = UIAlertAction(title: "原始" , style: .default) { (action:UIAlertAction) in
self.selectedPreset = .mvhevc1440x1440
self.videoWidth = 1440
self.videoHeight = 1440
self.according3DFormatShowList(format: self.selected3DFormat)
let action1 = UIAlertAction(title: NSLocalizedString("原始", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self?.selectedPreset = .mvhevc1440x1440
self?.videoWidth = 1440
self?.videoHeight = 1440
self?.according3DFormatShowList(format: self!.selected3DFormat)
}
let action2 = UIAlertAction(title: "4K" , style: .default) { (action:UIAlertAction) in
self.selectedPreset = .hevc3840x2160
self.videoWidth = 3840
self.videoHeight = 2160
self.according3DFormatShowList(format: self.selected3DFormat)
let action2 = UIAlertAction(title: "4K" , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedPreset = .hevc3840x2160
self!.videoWidth = 3840
self!.videoHeight = 2160
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action3 = UIAlertAction(title: "1080p" , style: .default) { (action:UIAlertAction) in
self.selectedPreset = .hevc1920x1080
self.videoWidth = 1920
self.videoHeight = 1080
self.according3DFormatShowList(format: self.selected3DFormat)
let action3 = UIAlertAction(title: "1080p" , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedPreset = .hevc1920x1080
self!.videoWidth = 1920
self!.videoHeight = 1080
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action4 = UIAlertAction(title: "720p" , style: .default) { (action:UIAlertAction) in
self.selectedPreset = .preset1280x720
self.videoWidth = 1280
self.videoHeight = 720
self.according3DFormatShowList(format: self.selected3DFormat)
let action4 = UIAlertAction(title: "720p" , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedPreset = .preset1280x720
self!.videoWidth = 1280
self!.videoHeight = 720
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let cancelAction = UIAlertAction(title: NSLocalizedString("取消", comment: ""), style: .cancel, handler: nil)
alert.addAction(action1)
alert.addAction(action2)
alert.addAction(action3)
@ -495,23 +497,23 @@ class VRVideoTransformController: BaseController {
25%
*/
let action1 = UIAlertAction(title: "最佳" , style: .default) { (action:UIAlertAction) in
self.selectedBitsPerPixel = .best
self.according3DFormatShowList(format: self.selected3DFormat)
let action1 = UIAlertAction(title: NSLocalizedString("最佳", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedBitsPerPixel = .best
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action2 = UIAlertAction(title: "" , style: .default) { (action:UIAlertAction) in
self.selectedBitsPerPixel = .high
self.according3DFormatShowList(format: self.selected3DFormat)
let action2 = UIAlertAction(title: NSLocalizedString("", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedBitsPerPixel = .high
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action3 = UIAlertAction(title: "" , style: .default) { (action:UIAlertAction) in
self.selectedBitsPerPixel = .medium
self.according3DFormatShowList(format: self.selected3DFormat)
let action3 = UIAlertAction(title: NSLocalizedString("", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedBitsPerPixel = .medium
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action4 = UIAlertAction(title: "" , style: .default) { (action:UIAlertAction) in
self.selectedBitsPerPixel = .low
self.according3DFormatShowList(format: self.selected3DFormat)
let action4 = UIAlertAction(title: NSLocalizedString("", comment: "") , style: .default) {[weak self] (action:UIAlertAction) in
self!.selectedBitsPerPixel = .low
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let cancelAction = UIAlertAction(title: NSLocalizedString("取消", comment: ""), style: .cancel, handler: nil)
alert.addAction(action1)
alert.addAction(action2)
alert.addAction(action3)
@ -528,17 +530,17 @@ class VRVideoTransformController: BaseController {
H.264
*/
let action1 = UIAlertAction(title: "H.265" , style: .default) { (action:UIAlertAction) in
let action1 = UIAlertAction(title: "H.265" , style: .default) {[weak self] (action:UIAlertAction) in
//HEVC H.265MPEG-H Part 2
self.selectedCodecType = AVVideoCodecType.hevc
self.according3DFormatShowList(format: self.selected3DFormat)
self!.selectedCodecType = AVVideoCodecType.hevc
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let action2 = UIAlertAction(title: "H.264" , style: .default) { (action:UIAlertAction) in
self.selectedCodecType = AVVideoCodecType.h264
self.according3DFormatShowList(format: self.selected3DFormat)
let action2 = UIAlertAction(title: "H.264" , style: .default) { [weak self] (action:UIAlertAction) in
self!.selectedCodecType = AVVideoCodecType.h264
self!.according3DFormatShowList(format: self!.selected3DFormat)
}
let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
let cancelAction = UIAlertAction(title: NSLocalizedString("取消", comment: ""), style: .cancel, handler: nil)
alert.addAction(action1)
alert.addAction(action2)
alert.addAction(cancelAction)
@ -567,7 +569,7 @@ extension VRVideoTransformController {
let videoOriginalAsset:AVAsset? = AVAsset(url: sourceVideoURL!)
if !ZZHHelper.isSpatialVideo(asset: videoOriginalAsset!) {
SVProgressHUD.showInfo(withStatus: "非空间视频不能转码")
SVProgressHUD.showInfo(withStatus: NSLocalizedString("非空间视频不能转码", comment: ""))
return
}
@ -630,7 +632,7 @@ extension VRVideoTransformController {
guard let exportSession = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetPassthrough) else {
// print("Failed to create export session")
DispatchQueue.main.async {
self.progressView?.updateInfo(title: "转码失败", desc: "导出会话创建失败")
self.progressView?.updateInfo(title: NSLocalizedString("转码失败", comment: ""), desc: NSLocalizedString("导出会话创建失败", comment: ""))
}
completion(nil)
@ -643,7 +645,7 @@ extension VRVideoTransformController {
guard let assetTrack = asset.tracks(withMediaType: .video).first else {
// print("Failed to get video track from asset")
DispatchQueue.main.async {
self.progressView?.updateInfo(title: "转码失败", desc: "未能成功加载视频轨道")
self.progressView?.updateInfo(title: NSLocalizedString("转码失败", comment: ""), desc: NSLocalizedString("未能成功加载视频轨道", comment: ""))
}
completion(nil)
return
@ -654,7 +656,7 @@ extension VRVideoTransformController {
} catch {
// print("Failed to insert video track into composition")
DispatchQueue.main.async {
self.progressView?.updateInfo(title: "转码失败", desc: "未能成功插入视频轨道")
self.progressView?.updateInfo(title: NSLocalizedString("转码失败", comment: ""), desc: NSLocalizedString("未能成功插入视频轨道", comment: ""))
}
completion(nil)
return
@ -711,7 +713,7 @@ extension VRVideoTransformController {
// SVProgressHUD.showInfo(withStatus: "")
// }
DispatchQueue.main.async {
self.progressView?.updateInfo(title: "转码失败", desc: "创建媒体写入失败")
self.progressView?.updateInfo(title: NSLocalizedString("转码失败", comment: ""), desc: NSLocalizedString("创建媒体写入失败", comment: ""))
}
completion(nil)
return
@ -726,12 +728,12 @@ extension VRVideoTransformController {
exportSession.outputFileType = AVFileType.mov
exportSession.outputURL = outputURL
exportSession.exportAsynchronously { [self] in
exportSession.exportAsynchronously { [weak self] in
switch exportSession.status {
case .completed:
let exportedAsset = AVAsset(url: outputURL)
DispatchQueue.main.async {
self.saveVideoToAlbum(url: outputURL)
self?.saveVideoToAlbum(url: outputURL)
completion(exportedAsset)
}
case .failed:
@ -739,13 +741,13 @@ extension VRVideoTransformController {
print("Export failed with error: \(error.localizedDescription)")
DispatchQueue.main.async {
// SVProgressHUD.showInfo(withStatus: "\(error.localizedDescription)")
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容失败")
self?.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容失败", comment: ""))
}
} else {
print("Export failed")
DispatchQueue.main.async {
// SVProgressHUD.showInfo(withStatus: "")
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容失败")
self?.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容失败", comment: ""))
}
}
@ -754,7 +756,7 @@ extension VRVideoTransformController {
print("Export cancelled")
DispatchQueue.main.async {
// SVProgressHUD.showInfo(withStatus: " cancelled")
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容失败")
self?.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容失败", comment: ""))
}
completion(nil)
default:
@ -767,18 +769,18 @@ extension VRVideoTransformController {
func saveVideoToAlbum(url: URL) {
PHPhotoLibrary.shared().performChanges {
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
} completionHandler: { success, error in
} completionHandler: {[weak self] success, error in
if success {
print("Video saved to album")
DispatchQueue.main.async {
//SVProgressHUD.showSuccess(withStatus: "")
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容已存储到相册中")
self?.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容已存储到相册中", comment: ""))
}
} else {
print("Failed to save video to album: \(error?.localizedDescription ?? "Unknown error")")
DispatchQueue.main.async {
//SVProgressHUD.showInfo(withStatus: "\(error?.localizedDescription ?? "Unknown error")")
self.progressView?.updateInfo(title: "转码完成", desc: "导出内容失败")
self?.progressView?.updateInfo(title: NSLocalizedString("转码完成", comment: ""), desc: NSLocalizedString("导出内容失败", comment: ""))
}
}

View File

@ -17,8 +17,10 @@ class PlayByTransferConvertor {
func convertVideo(asset:AVAsset, assetOutput:AVAssetReaderTrackOutput,type:SpatialType,time: CMTime)->(CIImage?) {
var newpb:CIImage? = nil
while let nextSampleBuffer = assetOutput.copyNextSampleBuffer() {
print("PlayByTransferConvertor while")
let presentationTime = CMSampleBufferGetPresentationTimeStamp(nextSampleBuffer)
if presentationTime == time {
print("PlayByTransferConvertor while break")
guard let taggedBuffers = nextSampleBuffer.taggedBuffers else { break }
let leftEyeBuffer = taggedBuffers.first(where: {
@ -68,6 +70,7 @@ class PlayByTransferConvertor {
break
}
}
CMSampleBufferInvalidate(nextSampleBuffer)
break
}
}

View File

@ -157,10 +157,10 @@ class CCSpaceAlbumFilterPopView2: UIView {
lazy var cancelButton: UIButton = {
let button = UIButton.init()
button.setTitle("取消", for: .normal)
button.setTitle(NSLocalizedString("取消", comment: ""), for: .normal)
button.setTitleColor(UIColor(red: 165.0/255, green: 137.0/255, blue: 1, alpha: 1), for: .normal)
button.titleLabel?.font = KFont_Medium(16)
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.font = UIFont.systemFont(ofSize: 16)//KFont_Medium(16)
// button.titleLabel?.adjustsFontSizeToFitWidth = true
button.contentHorizontalAlignment = .center
button.addTarget(self, action: #selector(cancelAction), for: .touchUpInside)
@ -196,7 +196,7 @@ class CCSpaceAlbumFilterPopView2: UIView {
}()
lazy var segmentBtn:UISegmentedControl = {
let sbtn = UISegmentedControl.init(items: ["全部","图片","视频"])
let sbtn = UISegmentedControl.init(items: [NSLocalizedString("全部", comment: ""),NSLocalizedString("图片", comment: ""),NSLocalizedString("视频", comment: "")])
sbtn.addTarget(self, action: #selector(filterAction(btn:)), for: .valueChanged)
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.white], for: .normal)
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.black], for: .selected)
@ -244,7 +244,7 @@ class CCSpaceAlbumFilterPopView2: UIView {
cancelButton.snp.makeConstraints { (make) in
make.leading.equalTo(topView.snp.leading).offset(16)
make.centerY.equalTo(topView.snp.centerY)
make.width.equalTo(32)
make.width.equalTo(56)
make.height.equalTo(24)
}
@ -275,7 +275,7 @@ class CCSpaceAlbumFilterPopView2: UIView {
self?.reloadData()
break
default:
SVProgressHUD.showError(withStatus: "无法访问相册,请前往设置中开发访问授权")
SVProgressHUD.showError(withStatus: NSLocalizedString("无法访问相册,请前往设置中开发访问授权", comment: ""))
break
}
}
@ -284,7 +284,7 @@ class CCSpaceAlbumFilterPopView2: UIView {
case .restricted:
break
case .denied:
SVProgressHUD.showError(withStatus: "无法访问相册,请前往设置中开发访问授权")
SVProgressHUD.showError(withStatus: NSLocalizedString("无法访问相册,请前往设置中开发访问授权", comment: ""))
break
case .authorized,.limited:
reloadData()
@ -450,7 +450,7 @@ extension CCSpaceAlbumFilterPopView2:UICollectionViewDataSource, UICollectionVie
if model.assetType == .image {
cell.frameCountLabel.text = "空间"
cell.frameCountLabel.text = NSLocalizedString("空间", comment: "")
cell.frameCountLabel.isHidden = true
cell.timeLabel.isHidden = true
}else if model.assetType == .video {

View File

@ -86,9 +86,9 @@ class CCMineView: UIView,UITableViewDelegate,UITableViewDataSource{
// "name":""]]
let arr = [["img":"Icon_Menu_all_Icon_Connect",
"name":"联系我们"],
"name":NSLocalizedString(NSLocalizedString("联系我们", comment: ""), comment: "")],
["img":"Icon_Menu_all_Icon_Privacy",
"name":"隐私政策"]]
"name":NSLocalizedString(NSLocalizedString("隐私政策", comment: ""), comment: "")]]
datas.addObjects(from: arr)

View File

@ -174,10 +174,10 @@ public class CCSpatialDisplayTypeView: UIView {
showBottomView.isHidden = !isShow
showBottomTextLabel.text = showText
if showText == "结束串流" {
if showText == NSLocalizedString("结束串流", comment: "") {
showBottomTextLabel.backgroundColor = UIColor(hexString: "#D23027")
}else if showText == "开始串流" {
}else if showText == NSLocalizedString("开始串流", comment: "") {
showBottomTextLabel.backgroundColor = UIColor(hexString: "#03A449")
}
}

View File

@ -34,7 +34,8 @@ class CCSpatialPlayView: UIView,UITableViewDelegate,UITableViewDataSource{
// self.backgroundColor = UIColor.colorWithRGB(_r: 28, _g: 28, _b: 29)
self.mTableView = UITableView.init(frame: self.bounds, style: UITableView.Style.grouped)
self.mTableView = UITableView.init(frame: self.bounds, style: UITableView.Style.insetGrouped)
self.addSubview(self.mTableView!)
self.mTableView!.delegate = (self as UITableViewDelegate)
self.mTableView!.dataSource = (self as UITableViewDataSource)
@ -44,8 +45,8 @@ class CCSpatialPlayView: UIView,UITableViewDelegate,UITableViewDataSource{
self.mTableView!.sectionHeaderHeight = 0
self.mTableView!.sectionFooterHeight = 0
self.mTableView!.estimatedRowHeight = 70
self.mTableView?.contentInset = UIEdgeInsets.init(top: 0, left: 0, bottom: 0, right: 0)
self.mTableView!.scrollIndicatorInsets = self.mTableView!.contentInset
// self.mTableView?.contentInset = UIEdgeInsets.init(top: 0, left: 0, bottom: 0, right: 0)
// self.mTableView!.scrollIndicatorInsets = self.mTableView!.contentInset
self.mTableView!.separatorStyle = UITableViewCell.SeparatorStyle.none
mTableView!.register(CCSpatialPlayCell1.classForCoder(), forCellReuseIdentifier: CCSpatialPlayCell1Id)
@ -67,11 +68,11 @@ class CCSpatialPlayView: UIView,UITableViewDelegate,UITableViewDataSource{
// "name":"0"]]
let popData = [
(type:CCTransformParameterType.format3D,title:"3D 格式",name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:"分辨率",name:"1080P"),
(type:CCTransformParameterType.bitRate,title:"比特率",name:"最佳"),
(type:CCTransformParameterType.formatVideoEncoding,title:"视频编码格式",name:"H.265"),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:"水平视差调整",name:"0")]
(type:CCTransformParameterType.format3D,title:NSLocalizedString("3D 格式", comment: ""),name:"3D HSBS"),
(type:CCTransformParameterType.resolution,title:NSLocalizedString("分辨率", comment: ""),name:"1080P"),
(type:CCTransformParameterType.bitRate,title:NSLocalizedString("比特率", comment: ""),name:NSLocalizedString("最佳", comment: "")),
(type:CCTransformParameterType.formatVideoEncoding,title:NSLocalizedString("视频编码格式", comment: ""),name:"H.265"),
(type:CCTransformParameterType.horizontalDialogueAdjustment,title:NSLocalizedString("水平视差调整", comment: ""),name:"0")]
datas = popData
self.mTableView!.reloadData()
@ -114,6 +115,7 @@ class CCSpatialPlayView: UIView,UITableViewDelegate,UITableViewDataSource{
}else{
cell.mLine?.isHidden = false
}
cell.backgroundColor = UIColor.hexStringToColor(hexString: "#1F1E20")
return cell
}else{
let cell:CCSpatialPlayCell2 = tableView.dequeueReusableCell(withIdentifier: CCSpatialPlayCell2Id)! as! CCSpatialPlayCell2
@ -125,6 +127,7 @@ class CCSpatialPlayView: UIView,UITableViewDelegate,UITableViewDataSource{
}else{
cell.mLine?.isHidden = false
}
cell.backgroundColor = UIColor.hexStringToColor(hexString: "#1F1E20")
return cell
}

View File

@ -30,7 +30,7 @@ class CCTransformProgressPopView: UIView {
label.backgroundColor = UIColor.clear
label.font = KFont_Regular(18)
label.textColor = KTextColor_White
label.text = "导出中..."
label.text = NSLocalizedString("导出中...", comment: "")
return label
}()
@ -39,7 +39,7 @@ class CCTransformProgressPopView: UIView {
label.backgroundColor = UIColor.clear
label.font = KFont_Regular(14)
label.textColor = UIColor(hexString: "#9B9B9C")
label.text = "请不要锁屏或者退出APP"
label.text = NSLocalizedString("请不要锁屏或者退出APP", comment: "")
return label
}()
@ -70,7 +70,7 @@ class CCTransformProgressPopView: UIView {
button.clipsToBounds = true
button.titleLabel?.font = KFont_Medium(14)
button.titleLabel?.textColor = KTextColor_White
button.setTitle("转码导出", for: .normal)
button.setTitle(NSLocalizedString("转码导出", comment: ""), for: .normal)
button.setTitleColor(KTextColor_White, for: .normal)
button.addTarget(self, action: #selector(transformButtonAction(_:)), for: .touchUpInside)
@ -88,7 +88,7 @@ class CCTransformProgressPopView: UIView {
button.clipsToBounds = true
button.titleLabel?.font = KFont_Medium(14)
button.titleLabel?.textColor = KTextColor_White
button.setTitle("回到首页", for: .normal)
button.setTitle(NSLocalizedString("回到首页", comment: ""), for: .normal)
button.setTitleColor(KTextColor_White, for: .normal)
button.addTarget(self, action: #selector(closeButtonAction), for: .touchUpInside)
@ -159,8 +159,8 @@ class CCTransformProgressPopView: UIView {
}
func resetUI() {
titleLabel.text = "导出中..."
detailLabel.text = "请不要锁屏或者退出APP"
titleLabel.text = NSLocalizedString("导出中...", comment: "")
detailLabel.text = NSLocalizedString("请不要锁屏或者退出APP", comment: "")
progressLabel.text = "0%"
transformButton.isHidden = true
closeButton.isHidden = true
@ -171,18 +171,18 @@ class CCTransformProgressPopView: UIView {
func updateProgress(value:Float) {
if value > 0.98 {
titleLabel.text = "转码完成"
detailLabel.text = "正在导出内容至相册中"//""
titleLabel.text = NSLocalizedString("转码完成", comment: "")
detailLabel.text = NSLocalizedString("正在导出内容至相册中", comment: "")//""
progressLabel.isHidden = true
transformButton.setTitle("继续转码", for: .normal)
transformButton.setTitle(NSLocalizedString("继续转码", comment: ""), for: .normal)
transformButton.isHidden = false
closeButton.isHidden = false
progressView.isHidden = true
iconImageView.image = UIImage.init(named: "asset_exported")
}else{
titleLabel.text = "转码中..."
detailLabel.text = "请不要锁屏或者退出APP"
titleLabel.text = NSLocalizedString("处理中...", comment: "")
detailLabel.text = NSLocalizedString("请不要锁屏或者退出APP", comment: "")
progressLabel.text = String.init(format: "%.f%%", value*100)
transformButton.isHidden = true
closeButton.isHidden = true

View File

@ -1,2 +1,79 @@
"siteUrl" = "https://ingenious-taro-hvwxmk.mystrikingly.com";
"home_card" = "Card_en";
"home_card_1" = "Card_1_en";
"home_card_2" = "Card_2_en";
"未连接VR设备" = "Not Connected";
"隐私政策" = "Privacy Policy";
"联系我们" = "Contact Us";
"请先前往系统设置配置发送的邮箱信息" = "Please Configure Email in System Settings First";
"空间相簿" = "Spatial Album";
"照片图库" = "Photo Gallery";
"Tips.1 拍摄空间照片以及视频" = "Tips.1 Capture Spatial Photos and Videos";
"Tips.2 视频转码" = "Tips.2 Video Transcoding";
"Tips.3 直连VR设备" = "Tips.3 Directly Connect to VR Device";
"一键拍摄空间格式的照片以及视频,留住美好瞬间" = "One-click Capture of Spatial Photos and Videos, Preserve Wonderful Moments";
"可以将任意格式视频转码为 VR 或 3D 格式" = "Transcode Any Video to VR or 3D Format";
"可以通过链接VR设备直接观看转码内容" = "Watch Transcoded Content Directly by Linking VR Device";
"已连接外部设备" = "Device Connected";
"平行眼" = "Parallel View";
"单眼2D" = "Mono 2D";
"红蓝立体" = "Red-Blue 3D";
"交叉眼" = "Cross-Eye";
"图片转码" = "Transcoding";
"转码导出" = "Transcoding Export";
"格式" = "Format";
"3D 格式" = "3D Format";
"这不是一张空间图片,无法进行转码" = "This is Not a Spatial Image, Cannot Transcode";
"导出相册失败" = "Export to Album Failed";
"请查看相册权限" = "Please Check Album Permissions";
"转码完成" = "Transcoding Complete";
"导出内容已存储到相册中" = "Exported Content Stored in Album";
"3D HSBS半宽左右格式" = "3D HSBS (Half-width Side-by-Side)";
"3D FSBS全宽左右格式" = "3D FSBS (Full-width Side-by-Side)";
"3D HOU半高上下格式" = "3D HOU (Half Over-Under)";
"3D FOU全高上下格式" = "3D FOU (Full Over-Under)";
"取消" = "Cancel";
"视频转码" = "Transcoding";
"分辨率" = "Resolution";
"原始" = "Original";
"比特率" = "Bitrate";
"最佳" = "Best";
"高" = "High";
"中" = "Medium";
"低" = "Low";
"视频编码格式" = "Video Encoding Format";
"水平视差调整" = "Horizontal Parallax Adjustment";
"非空间视频不能转码" = "Non-Spatial Video Cannot Be Transcoded";
"转码失败" = "Transcoding Failed";
"导出会话创建失败" = "Export Session Creation Failed";
"未能成功加载视频轨道" = "Failed to Load Video Track";
"未能成功插入视频轨道" = "Failed to Insert Video Track";
"创建媒体写入失败" = "Media Writing Creation Failed";
"导出内容失败" = "Export Content Failed";
"导出内容已存储到相册中" = "Exported Content Stored in Album";
"将iPhone旋转为横向" = "Rotate iPhone to Landscape";
"拍照" = "Take Photo";
"摄像" = "Record Video";
"合成过程出现问题" = "Issues in Synthesis Process";
"处理中..." = "Processing...";
"全部" = "All";
"图片" = "Photos";
"视频" = "Videos";
"无法访问相册,请前往设置中开发访问授权" = "Unable to Access Album, Please Grant Access in Settings";
"空间" = "Spatial";
"导出中..." = "Exporting...";
"请不要锁屏或者退出APP" = "Do Not Lock Screen or Exit APP";
"回到首页" = "Back to Home";
"正在导出内容至相册中" = "Exporting Content to Album";
"继续转码" = "Continue Transcoding";
"无法使用相机" = "Cannot Use Camera";
"请前往[设置->隐私安全]中开启访问授权" = "Please Enable Access in [Settings->Privacy & Security]";
"设置" = "Settings";
"结束串流" = "End Streaming";
"外部串流中" = "External Streaming";
"开始串流" = "Start Streaming";
"空间图片保存失败" = "Spatial Photo Save Failed";
"空间视频保存失败" = "Spatial Video Save Failed";

View File

@ -1,2 +1,82 @@
"siteUrl" = "https://www.wolai.com/9BZr3sEbpbXJEUorHEyAoP";
"home_card" = "Card";
"home_card_1" = "Card_1";
"home_card_2" = "Card_2";
"未连接VR设备" = "未连接VR设备";
"隐私政策" = "隐私政策";
"联系我们" = "联系我们";
"请先前往系统设置配置发送的邮箱信息" = "请先前往系统设置配置发送的邮箱信息";
"空间相簿" = "空间相簿";
"照片图库" = "照片图库";
"Tips.1 拍摄空间照片以及视频" = "Tips.1 拍摄空间照片以及视频";
"Tips.2 视频转码" = "Tips.2 视频转码";
"Tips.3 直连VR设备" = "Tips.3 直连VR设备";
"一键拍摄空间格式的照片以及视频,留住美好瞬间" = "一键拍摄空间格式的照片以及视频,留住美好瞬间";
"可以将任意格式视频转码为 VR 或 3D 格式" = "可以将任意格式视频转码为 VR 或 3D 格式";
"可以通过链接VR设备直接观看转码内容" = "可以通过链接VR设备直接观看转码内容";
"已连接外部设备" = "已连接外部设备";
"平行眼" = "平行眼";
"单眼2D" = "单眼2D";
"红蓝立体" = "红蓝立体";
"交叉眼" = "交叉眼";
"图片转码" = "图片转码";
"转码导出" = "转码导出";
"格式" = "格式";
"3D 格式" = "3D 格式";
"这不是一张空间图片,无法进行转码" = "这不是一张空间图片,无法进行转码";
"导出相册失败" = "导出相册失败";
"请查看相册权限" = "请查看相册权限";
"转码完成" = "转码完成";
"导出内容已存储到相册中" = "导出内容已存储到相册中";
"3D HSBS半宽左右格式" = "3D HSBS半宽左右格式";
"3D FSBS全宽左右格式" = "3D FSBS全宽左右格式";
"3D HOU半高上下格式" = "3D HOU半高上下格式";
"3D FOU全高上下格式" = "3D FOU全高上下格式";
"取消" = "取消";
"视频转码" = "视频转码";
"分辨率" = "分辨率";
"原始" = "原始";
"比特率" = "比特率";
"最佳" = "最佳";
"高" = "高";
"中" = "中";
"低" = "低";
"视频编码格式" = "视频编码格式";
"水平视差调整" = "水平视差调整";
"非空间视频不能转码" = "非空间视频不能转码";
"转码失败" = "转码失败";
"导出会话创建失败" = "导出会话创建失败";
"未能成功加载视频轨道" = "未能成功加载视频轨道";
"未能成功插入视频轨道" = "未能成功插入视频轨道";
"创建媒体写入失败" = "创建媒体写入失败";
"导出内容失败" = "导出内容失败";
"导出内容已存储到相册中" = "导出内容已存储到相册中";
"将iPhone旋转为横向" = "将iPhone旋转为横向";
"拍照" = "拍照";
"摄像" = "摄像";
"合成过程出现问题" = "合成过程出现问题";
"处理中..." = "处理中...";
"全部" = "全部";
"图片" = "图片";
"视频" = "视频";
"无法访问相册,请前往设置中开发访问授权" = "无法访问相册,请前往设置中开发访问授权";
"空间" = "空间";
"导出中..." = "导出中...";
"请不要锁屏或者退出APP" = "请不要锁屏或者退出APP";
"回到首页" = "回到首页";
"正在导出内容至相册中" = "正在导出内容至相册中";
"继续转码" = "继续转码";
"无法使用相机" = "无法使用相机";
"请前往[设置->隐私安全]中开启访问授权" = "请前往[设置->隐私安全]中开启访问授权";
"设置" = "设置";
"结束串流" = "结束串流";
"外部串流中" = "外部串流中";
"开始串流" = "开始串流";
"空间图片保存失败" = "";
"空间视频保存失败" = "";