Browse Source

3.6.16(3)修改一些翻译

100Years 6 days ago
parent
commit
2922b44e4c

+ 2 - 2
TSLiveWallpaper.xcodeproj/project.pbxproj

@@ -1509,7 +1509,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 2;
+				CURRENT_PROJECT_VERSION = 3;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_APP_SANDBOX = NO;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
@@ -1550,7 +1550,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 2;
+				CURRENT_PROJECT_VERSION = 3;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_APP_SANDBOX = NO;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;

+ 48 - 1
TSLiveWallpaper/Common/ViewTool/TSPhotoPickerManager/TSUserdPhotoDiskTool.swift

@@ -40,15 +40,62 @@ class TSUserdPhotoDiskTool {
 
 import Foundation
 import CommonCrypto
+import CoreImage
 
 extension UIImage {
     func uniqueIdentifier() -> String? {
+        dePrint("uniqueIdentifier 1")
         guard let imageData = self.jpegData(compressionQuality: 0.1) else { return nil }
         
         var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
         imageData.withUnsafeBytes {
             _ = CC_SHA256($0.baseAddress, CC_LONG(imageData.count), &digest)
         }
-        return digest.map { String(format: "%02hhx", $0) }.joined()
+        let string = digest.map { String(format: "%02hhx", $0) }.joined()
+        dePrint("uniqueIdentifier 2")
+        return string
     }
+    
+//    func uniqueIdentifier() -> String? {
+//        dePrint("uniqueIdentifier 1")
+//        guard let ciImage = CIImage(image: self) else { return nil }
+//        let filter = CIFilter(name: "CIAreaAverage", parameters: [kCIInputImageKey: ciImage])
+//        guard let outputImage = filter?.outputImage else { return nil }
+//        
+//        var bitmap = [UInt8](repeating: 0, count: 4)
+//        let context = CIContext(options: [.workingColorSpace: kCFNull!])
+//        context.render(outputImage,
+//                      toBitmap: &bitmap,
+//                      rowBytes: 4,
+//                      bounds: CGRect(x: 0, y: 0, width: 1, height: 1),
+//                      format: .RGBA8,
+//                      colorSpace: nil)
+//        let string = bitmap.map { String(format: "%02hhx", $0) }.joined()
+//        dePrint("uniqueIdentifier 2")
+//        return string
+//    }
+//    
+//    
+//    func uniqueIdentifier() -> String? {
+//        dePrint("uniqueIdentifier 1")
+//        guard let ciImage = CIImage(image: self) else { return nil }
+//        
+//        // 使用CIFeature检测关键点(比计算整个图像哈希快)
+//        let options = [CIDetectorAccuracy: CIDetectorAccuracyLow]
+//        let detector = CIDetector(ofType: CIDetectorTypeFace, context: nil, options: options)
+//        let features = detector?.features(in: ciImage)
+//        
+//        // 使用特征点位置生成简化的哈希
+//        let featureData = features?.map { "\($0.bounds.origin.x)_\($0.bounds.origin.y)" }.joined()
+//        let string = featureData?.data(using: .utf8)?.md5Hash()
+//        dePrint("uniqueIdentifier 2")
+//        return string
+//    }
 }
+//extension Data {
+//    func md5Hash() -> String {
+//        var digest = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
+//        _ = self.withUnsafeBytes { CC_MD5($0.baseAddress, CC_LONG(self.count), &digest) }
+//        return digest.map { String(format: "%02hhx", $0) }.joined()
+//    }
+//}

+ 2 - 2
TSLiveWallpaper/ar.lproj/Localizable.strings

@@ -222,9 +222,9 @@
 "You haven’t used any photos yet." = "لم تستخدم أي صور بعد.";
 "Restore" = "يعيد";
 
-"Anime" = "أنيمي";
+"Anime" = "جيبلي";
 "Polaroid" = "بولارويد";
-"Emoji" = "الرموز التعبيرية";
+"Emoji" = "Emoji";
 "Pix 3D" = "بيكسار ثلاثي الأبعاد";
 "90s Anime" = "أنمي قديم";
 "Action Figure" = "شخصية الحركة";

+ 1 - 1
TSLiveWallpaper/de.lproj/Localizable.strings

@@ -213,7 +213,7 @@
 "You haven’t used any photos yet." = "Sie haben noch keine Fotos verwendet.";
 "Restore" = "Wiederherstellen";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroid";
 "Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";

+ 1 - 1
TSLiveWallpaper/es.lproj/Localizable.strings

@@ -226,7 +226,7 @@
 "You haven’t used any photos yet." = "Aún no has utilizado ninguna fotografía";
 "Restore" = "Restaurar";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroid";
 "Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";

+ 2 - 2
TSLiveWallpaper/fr.lproj/Localizable.strings

@@ -214,9 +214,9 @@
 "You haven’t used any photos yet." = "Vous n’avez pas encore utilisé de photos.";
 "Restore" = "Restaurer";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroïd";
-"Emoji" = "Émoji";
+"Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";
 "90s Anime" = "Anime rétro";
 "Action Figure" = "Figurine d'action";

+ 1 - 1
TSLiveWallpaper/it.lproj/Localizable.strings

@@ -223,7 +223,7 @@
 "You haven’t used any photos yet." = "Non hai ancora utilizzato alcuna foto.";
 "Restore" = "Ripristinare";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroid";
 "Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";

+ 2 - 2
TSLiveWallpaper/ja.lproj/Localizable.strings

@@ -220,9 +220,9 @@
 "You haven’t used any photos yet." = "まだ写真を使用していません。";
 "Restore" = "復元する";
 
-"Anime" = "アニメ";
+"Anime" = "ジブリ";
 "Polaroid" = "ポラロイド";
-"Emoji" = "絵文字";
+"Emoji" = "Emoji";
 "Pix 3D" = "ピクサー 3D";
 "90s Anime" = "レトロアニメ";
 "Action Figure" = "アクションフィギュア";

+ 2 - 2
TSLiveWallpaper/ko.lproj/Localizable.strings

@@ -220,9 +220,9 @@
 "You haven’t used any photos yet." = "아직 사진을 사용하지 않았습니다.";
 "Restore" = "복원하다";
 
-"Anime" = "일본 만화 영화";
+"Anime" = "지브리";
 "Polaroid" = "폴라로이드";
-"Emoji" = "이모티콘";
+"Emoji" = "Emoji";
 "Pix 3D" = "픽사 3D";
 "90s Anime" = "레트로 애니메이션";
 "Action Figure" = "액션 피규어";

+ 1 - 1
TSLiveWallpaper/pt-BR.lproj/Localizable.strings

@@ -214,7 +214,7 @@
 "You haven’t used any photos yet." = "Você ainda não usou nenhuma foto.";
 "Restore" = "Restaurar";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroid";
 "Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";

+ 1 - 1
TSLiveWallpaper/pt-PT.lproj/Localizable.strings

@@ -214,7 +214,7 @@
 "You haven’t used any photos yet." = "Você ainda não usou nenhuma foto.";
 "Restore" = "Restaurar";
 
-"Anime" = "Anime";
+"Anime" = "Ghibli";
 "Polaroid" = "Polaroid";
 "Emoji" = "Emoji";
 "Pix 3D" = "Pixar 3D";

+ 3 - 3
TSLiveWallpaper/zh-Hant.lproj/Localizable.strings

@@ -212,7 +212,7 @@
 "View" = "查看";
 "We've detected unusually high generation activity. You may be a bot. Please try again tomorrow." = "我們偵測到異常高的生成活動。您可能是機器人。請明天再試。";
 "Unlimited Photo Edits" = "無限照片編輯";
-"%d Video Generations" = "%d視頻";
+"%d Video Generations" = "%d視頻";
 "Faster&Higher Quality" = "更快、更高品質";
 "100% Ad-Free" = "100% 無廣告";
 
@@ -220,9 +220,9 @@
 "You haven’t used any photos yet." = "您尚未使用任何照片。";
 "Restore" = "恢復";
 
-"Anime" = "日本卡通";
+"Anime" = "吉蔔力";
 "Polaroid" = "拍立得";
-"Emoji" = "表情符號";
+"Emoji" = "Emoji";
 "Pix 3D" = "皮克斯 3D";
 "90s Anime" = "復古動漫";
 "Action Figure" = "手辦模型";