瀏覽代碼

修复一批 bug

100Years 4 周之前
父節點
當前提交
ca7cce23c7
共有 29 個文件被更改,包括 99 次插入764 次删除
  1. 1 2
      TSLiveWallpaper/Business/TSAIListVC/TSAIListHistoryVC/View/TSAIListHistoryCell.swift
  2. 1 1
      TSLiveWallpaper/Business/TSAIListVC/TSAIListVC/TSAIListVC.swift
  3. 5 1
      TSLiveWallpaper/Business/TSAIListVC/TSAIListVideoPlayerVC/TSAIListVideoPlayerVC.swift
  4. 1 1
      TSLiveWallpaper/Business/TSBusinessWebVC/TSBusinessWebVC.swift
  5. 14 3
      TSLiveWallpaper/Business/TSMineVC/TSChangeLanguageVC/TSChangeLanguageVC.swift
  6. 1 1
      TSLiveWallpaper/Business/TSMusic/MusicBase/SaveSuccessTipsView.swift
  7. 3 3
      TSLiveWallpaper/Common/Purchase/TSPurchaseManager.swift
  8. 25 10
      TSLiveWallpaper/Common/Tool/LanguageManager.swift
  9. 3 0
      TSLiveWallpaper/ar.lproj/Localizable.strings
  10. 1 1
      TSLiveWallpaper/de.lproj/InfoPlist.strings
  11. 1 146
      TSLiveWallpaper/de.lproj/LaunchScreen.strings
  12. 5 3
      TSLiveWallpaper/de.lproj/Localizable.strings
  13. 3 0
      TSLiveWallpaper/en.lproj/Localizable.strings
  14. 3 0
      TSLiveWallpaper/es.lproj/Localizable.strings
  15. 1 1
      TSLiveWallpaper/fr.lproj/InfoPlist.strings
  16. 0 146
      TSLiveWallpaper/fr.lproj/LaunchScreen.strings
  17. 4 1
      TSLiveWallpaper/fr.lproj/Localizable.strings
  18. 1 1
      TSLiveWallpaper/it.lproj/InfoPlist.strings
  19. 1 146
      TSLiveWallpaper/it.lproj/LaunchScreen.strings
  20. 4 1
      TSLiveWallpaper/it.lproj/Localizable.strings
  21. 3 0
      TSLiveWallpaper/ja.lproj/Localizable.strings
  22. 3 0
      TSLiveWallpaper/ko.lproj/Localizable.strings
  23. 1 1
      TSLiveWallpaper/pt-BR.lproj/InfoPlist.strings
  24. 1 146
      TSLiveWallpaper/pt-BR.lproj/LaunchScreen.strings
  25. 4 1
      TSLiveWallpaper/pt-BR.lproj/Localizable.strings
  26. 1 1
      TSLiveWallpaper/pt-PT.lproj/InfoPlist.strings
  27. 1 146
      TSLiveWallpaper/pt-PT.lproj/LaunchScreen.strings
  28. 4 1
      TSLiveWallpaper/pt-PT.lproj/Localizable.strings
  29. 3 0
      TSLiveWallpaper/zh-Hant.lproj/Localizable.strings

+ 1 - 2
TSLiveWallpaper/Business/TSAIListVC/TSAIListHistoryVC/View/TSAIListHistoryCell.swift

@@ -104,8 +104,7 @@ class TSAIListHistoryCell: TSBaseCollectionCell {
         blurEffect.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(clickUnlockVip)))
         let bgView = UIView()
         blurEffect.contentView.addSubview(bgView)
-        bgView.snp.makeConstraints { make in
-            make.center.equalToSuperview()
+        bgView.snp.makeConstraints { make in            make.center.equalToSuperview()
         }
 
         let vipImageView = UIImageView.createImageView(image: .vipColorIcon)

+ 1 - 1
TSLiveWallpaper/Business/TSAIListVC/TSAIListVC/TSAIListVC.swift

@@ -172,7 +172,7 @@ extension TSAIListVC: UICollectionViewDataSource ,UICollectionViewDelegate,UICol
 
 func kShowGenerateBusyView(view:UIView) ->Bool{
     if TSGenerateBasePhotoOperationQueue.shared.isAvailability == false {
-        kTextToastShared.show(atView: view,text: "1 task is processing"){
+        kTextToastShared.show(atView: view,text: "1 task is processing".localized){
             TSAIListHistoryVC.showPosition()
         }
         return true

+ 5 - 1
TSLiveWallpaper/Business/TSAIListVC/TSAIListVideoPlayerVC/TSAIListVideoPlayerVC.swift

@@ -96,7 +96,10 @@ class TSAIListVideoPlayerVC: UIViewController {
             self.playPause()
             self.setControlsView(isHidden: false)
         }
-        NotificationCenter.default.addObserver(forName: UIApplication.willEnterForegroundNotification, object: nil, queue: .main) { _ in }
+        NotificationCenter.default.addObserver(forName: UIApplication.willEnterForegroundNotification, object: nil, queue: .main) { _ in
+            self.playPlay()
+            self.setControlsView(isHidden: true)
+        }
     }
     
 //    override func viewDidLayoutSubviews() {
@@ -182,6 +185,7 @@ class TSAIListVideoPlayerVC: UIViewController {
         if let playerLayer = playerLayer {
             playerContainerView.layer.insertSublayer(playerLayer, at: 0)
             playerLayer.frame = viewFrame ?? view.bounds
+            playerLayer.videoGravity = .resizeAspectFill
         }
         
         // Add time observer to update progress

+ 1 - 1
TSLiveWallpaper/Business/TSBusinessWebVC/TSBusinessWebVC.swift

@@ -11,7 +11,7 @@ class TSBusinessWebVC: TSBaseVC , WKNavigationDelegate {
     
     enum UrlType:String {
         case privacy = "http://100yearslater.com/Privacy.html"
-        case terms = "https://doc-hosting.flycricket.io/livelive-terms-of-use/7ec53e98-eb9d-49e0-b01d-bf315ba4384b/terms"
+        case terms = "http://100yearslater.com/Terms.html"
 
         func getTitle() -> String {
             switch self {

+ 14 - 3
TSLiveWallpaper/Business/TSMineVC/TSChangeLanguageVC/TSChangeLanguageVC.swift

@@ -32,7 +32,7 @@ class TSChangeLanguageVC: TSBaseVC {
     override func createView() {
         setPageTitle("Change Language".localized)
         
-        _ = setNavigationItem("Save".localized, imageName: "", direction: .right, action: #selector(clickSave))
+//        _ = setNavigationItem("Save".localized, imageName: "", direction: .right, action: #selector(clickSave))
         
         contentView.addSubview(simpleTableView)
         simpleTableView.snp.makeConstraints { make in
@@ -66,7 +66,8 @@ extension TSChangeLanguageVC : UITableViewDataSource, UITableViewDelegate {
     public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         if let cell = tableView.dequeueReusableCell(withIdentifier: "TSChangeLanguageCell") as? TSChangeLanguageCell{
             if let language = dataArray.safeObj(At: indexPath.row){
-                cell.leftLab.text = language.displayName
+                cell.leftLab.text = language.flag
+                cell.textLab.text = language.displayName
                 cell.rightImageView.image = selectedIndex ==  indexPath.row ? .check : .unCheck
             }
             return cell
@@ -78,6 +79,7 @@ extension TSChangeLanguageVC : UITableViewDataSource, UITableViewDelegate {
     public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
         selectedIndex = indexPath.row
         simpleTableView.reloadData()
+        clickSave()
     }
 }
 
@@ -108,7 +110,10 @@ class TSChangeLanguageCell: UITableViewCell {
     lazy var leftLab: UILabel = {
         return UILabel.createLabel(font: .font(name:.ZillaSlab,size: 14),textColor: .white)
     }()
-     
+    
+    lazy var textLab: UILabel = {
+        return UILabel.createLabel(font: .font(name:.ZillaSlab,size: 14),textColor: .white)
+    }()
 
     lazy var rightImageView: UIImageView = {
         return UIImageView.createRightArrow()
@@ -117,6 +122,7 @@ class TSChangeLanguageCell: UITableViewCell {
 
     func creatUI() {
         bgContentView.addSubview(leftLab)
+        bgContentView.addSubview(textLab)
         bgContentView.addSubview(rightImageView)
 
         leftLab.snp.makeConstraints { make in
@@ -124,6 +130,11 @@ class TSChangeLanguageCell: UITableViewCell {
             make.centerY.equalToSuperview()
         }
     
+        textLab.snp.makeConstraints { make in
+            make.leading.equalTo(leftLab.snp.trailing).offset(12)
+            make.centerY.equalToSuperview()
+        }
+        
         rightImageView.snp.makeConstraints { make in
             make.trailing.equalTo(-16)
             make.centerY.equalToSuperview()

+ 1 - 1
TSLiveWallpaper/Business/TSMusic/MusicBase/SaveSuccessTipsView.swift

@@ -15,7 +15,7 @@ class SaveSuccessTipsView: UIView {
     lazy var viewButton: UIButton = {
         let btn = UIButton()
         btn.backgroundColor = .hexColor("#111111")
-        btn.setTitle("View", for: .normal)
+        btn.setTitle("View".localized, for: .normal)
         btn.setTitleColor(.hexColor("#6EF4F4"), for: .normal)
         btn.titleLabel?.font = .boldSystemFont16
         btn.layer.cornerRadius = 14

+ 3 - 3
TSLiveWallpaper/Common/Purchase/TSPurchaseManager.swift

@@ -82,9 +82,9 @@ public class PurchaseManager: NSObject {
     }
 
     @objc public var isVip: Bool {
-//        #if DEBUG
-//        return true
-//        #endif
+        #if DEBUG
+        return true
+        #endif
         guard let expiresDate = expiredDate else {
             return false
         }

+ 25 - 10
TSLiveWallpaper/Common/Tool/LanguageManager.swift

@@ -42,16 +42,31 @@ class LanguageManager {
         
         var displayName: String {
             switch self {
-            case .en: return "🇬🇧 English"
-            case .ja: return "🇯🇵 日本語"
-            case .ar: return "🇸🇦 العربية"
-            case .zhHant: return "🇭🇰 繁體中文"
-            case .es: return "🇪🇸 Español"
-            case .ko: return "🇰🇷 한국어"
-            case .fr: return "🇫🇷 Français"
-            case .de: return "🇩🇪 Deutsch"
-            case .it: return "🇮🇹 Italiano"
-            case .pt: return "🇵🇹 Português"
+            case .en: return "English"
+            case .ja: return "日本語"
+            case .ar: return "العربية"
+            case .zhHant: return "繁體中文"
+            case .es: return "Español"
+            case .ko: return "한국어"
+            case .fr: return "Français"
+            case .de: return "Deutsch"
+            case .it: return "Italiano"
+            case .pt: return "Português"
+            }
+        }
+        
+        var flag: String {
+            switch self {
+            case .en: return "🇺🇸"
+            case .ja: return "🇯🇵"
+            case .ar: return "🇸🇦"
+            case .zhHant: return "🇭🇰"
+            case .es: return "🇪🇸"
+            case .ko: return "🇰🇷"
+            case .fr: return "🇫🇷"
+            case .de: return "🇩🇪"
+            case .it: return "🇮🇹"
+            case .pt: return "🇧🇷"
             }
         }
     }

+ 3 - 0
TSLiveWallpaper/ar.lproj/Localizable.strings

@@ -152,3 +152,6 @@
 "Select the unwanted area and remove them easily" = "حدد المنطقة غير المرغوب فيها ثم قم بإزالتها بسهولة";
 "Remove Objects" = "إزالة الكائنات";
 "Remove" = "يزيل";
+
+"Change Language" = "تغيير اللغة";
+"Unlock Result" = "فتح النتيجة";

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

@@ -5,4 +5,4 @@
   Created by 100Years on 2025/6/18.
   
 */
-NSPhotoLibraryUsageDescription = "Allow us to access to upload photos to process and save processed photos to your device.";
+NSPhotoLibraryUsageDescription = "Erlauben Sie uns den Zugriff, um Fotos hochzuladen, zu verarbeiten und verarbeitete Fotos auf Ihrem Gerät zu speichern.";

+ 1 - 146
TSLiveWallpaper/de.lproj/LaunchScreen.strings

@@ -1,146 +1 @@
-"Say Hi" = "Sag Hallo";
-"Smile" = "Lächeln";
-"Hug" = "Umarmung";
-"Heart Gesture" = "Herzgeste";
-"Forehead Kiss" = "Kuss auf die Stirn";
-"Kiss" = "Kuss";
-"Blow Kiss" = "Kuss";
-"Stroll" = "Spaziergang";
-"Select the unwanted area and remove them easily" = "Wählen Sie den unerwünschten Bereich aus und entfernen Sie ihn einfach";
-"Remove Objects" = "Objekte entfernen";
-"Remove" = "Entfernen";
-"AI Tools" = "KI-Tools";
-"Update to PRO" = "Update auf PRO";
-"Adjust Light Tips" = "Lichttipps anpassen";
-"Animated Photo" = "Animiertes Foto";
-"Turn photos into live moments" = "Verwandeln Sie Fotos in Live-Momente";
-"Animate Tips" = "Animate-Tipps";
-"Good quality portrair color photos" = "Hochwertige Porträtfarbfotos";
-"B&W or Severely damaged photos" = "Schwarzweißfotos oder stark beschädigte Fotos";
-"Description" = "Beschreibung";
-"Optional" = "Optional";
-"Describe the animation effect you want" = "Beschreiben Sie den gewünschten Animationseffekt";
-"New Update Available!" = "Neues Update verfügbar!";
-"🎨 Fresh styles, more vibrant than ever" = "🎨 Frische Styles, lebendiger als je zuvor";
-"✨ Trendy effects for more magic" = "✨ Trendige Effekte für mehr Magie";
-"⚡ Even faster speed" = "⚡ Noch schnellere Geschwindigkeit";
-"Update now to unlock the best experience" = "Jetzt aktualisieren, um das beste Erlebnis freizuschalten";
-"Update" = "Aktualisieren";
-"Your photo may contain copyright infringement, nudity, gore or violence that does not comply with the Health Policy, please replace the photo and try again." = "Ihr Foto enthält möglicherweise Urheberrechtsverletzungen, Nacktheit, Blut oder Gewalt, die nicht den Gesundheitsrichtlinien entsprechen. Bitte ersetzen Sie das Foto und versuchen Sie es erneut.";
-"There's nothing here yet" = "Hier gibt es noch nichts";
-"Try Again" = "Versuchen Sie es erneut";
-"Payment Failed" = "Zahlung fehlgeschlagen";
-"The subscription was canceled" = "Das Abonnement wurde gekündigt";
-"This task has expired" = "Diese Aufgabe ist abgelaufen";
-"Processing you photo" = "Ihr Foto wird verarbeitet";
-"Enlighten Tips" = "Enlighten-Tipps";
-"Verify receipt failed" = "Bestätigung der Quittung fehlgeschlagen";
-"Purchasing now" = "Jetzt kaufen";
-"Got it" = "Habe es";
-"Reselect photos" = "Fotos erneut auswählen";
-"Sorry there was a slight problem with the image processing, please try again later." = "Entschuldigen Sie, es gab ein kleines Problem bei der Bildverarbeitung. Bitte versuchen Sie es später erneut.";
-"No network, please check your network and try again." = "Kein Netzwerk. Bitte überprüfen Sie Ihr Netzwerk und versuchen Sie es erneut.";
-"Your photo may contain nudity, gore or violence that does not comply with the health policy, please replace the photo and try again." = "Ihr Foto enthält möglicherweise Nacktheit, Blut oder Gewalt, die nicht den Gesundheitsrichtlinien entsprechen. Bitte ersetzen Sie das Foto und versuchen Sie es erneut.";
-"Process in the background" = "Prozess im Hintergrund";
-"History" = "Geschichte";
-"Upgrade" = "Upgrade";
-"Well-exposed or severely damaged photos" = "Gut belichtete oder stark beschädigte Fotos";
-"Over-dark or over-light, overexposed, or underexposed photos" = "Zu dunkle oder zu helle, überbelichtete oder unterbelichtete Fotos";
-"Recreate Tips" = "Tipps zum Nachstellen";
-"Recreate" = "Neu erstellen";
-"Bring new life to old photos" = "Erwecken Sie alte Fotos zu neuem Leben";
-"Adjust Light" = "Licht anpassen";
-"Easily fix lighting issues on photos" = "Beheben Sie Beleuchtungsprobleme auf Fotos ganz einfach";
-"View" = "Sicht";
-"Example" = "Beispiel";
-"Limited Time Discount" = "Zeitlich begrenzter Rabatt";
-"Allow us to access to upload photos to process and save processed photos to your device." = "Erlauben Sie uns den Zugriff, um Fotos hochzuladen, zu verarbeiten und verarbeitete Fotos auf Ihrem Gerät zu speichern.";
-"Add Color to Memories" = "Bringen Sie Farbe in Ihre Erinnerungen";
-"Your photo is now vibrantly colorized, bringing memories to life" = "Ihr Foto ist jetzt lebendig koloriert und erweckt Erinnerungen zum Leben";
-"%d%" = "%d%";
-"Erase Scratches" = "Kratzer löschen";
-"Scratches and blemishes have vanished" = "Kratzer und Schönheitsfehler sind verschwunden";
-"Make photos clearer" = "Fotos klarer machen";
-"Your photo has become clearer,and the details are more noticeable" = "Ihr Foto ist klarer geworden und die Details sind deutlicher erkennbar";
-"Continue" = "Weitermachen";
-"Colorize Photo" = "Foto kolorieren";
-"Remove Scratches" = "Kratzer entfernen";
-"Enhance Photo" = "Foto verbessern";
-"Get PRO Access" = "Holen Sie sich PRO-Zugriff";
-"Unlimited Process" = "Unbegrenzter Prozess";
-"Unlock All Features" = "Alle Funktionen freischalten";
-"High Speed & Quality" = "Hohe Geschwindigkeit und Qualität";
-"100%\nNo Ads" = "100 % keine Werbung";
-"Yearly" = "Jährlich";
-"Weekly" = "Wöchentlich";
-"Just" = "Nur";
-"Per Year" = "Pro Jahr";
-"Per Week" = "Für die Woche";
-"Save" = "Speichern";
-"per week" = "für eine Woche";
-"Continue" = "Weitermachen";
-"Recurring billing,cancel anytime." = "Wiederkehrende Abrechnung, jederzeit kündbar.";
-"Payment will be charged to your iTunes account at confirmation of purchase. Subscriptions automatically renew for the same applicable term and price, unless auto-renew is turned off at least 24 hours before the end of the current period." = "Die Zahlung wird Ihrem iTunes-Konto nach Kaufbestätigung belastet. Abonnements verlängern sich automatisch um die gleiche Laufzeit und den gleichen Preis, sofern die automatische Verlängerung nicht mindestens 24 Stunden vor Ablauf des aktuellen Zeitraums deaktiviert wird.";
-"Terms of us" = "Unsere Bedingungen";
-"Privacy Policy" = "Datenschutzrichtlinie";
-"Restore" = "Wiederherstellen";
-"Enhance" = "Erweitern";
-"Remove blur, sharpen, add details" = "Unschärfe entfernen, schärfen, Details hinzufügen";
-"Try" = "Versuchen";
-"Colorize" = "Kolorieren";
-"Add colors to black-and-white photos" = "Schwarzweißfotos mit Farbe versehen";
-"Descratch" = "Kratzer entfernen";
-"Remove scratches and dirt" = "Kratzer und Schmutz entfernen";
-"Enhance Tips" = "Tipps verbessern";
-"Suitable" = "Geeignet";
-"Portraits, Low-resolution and photos, faces should be visible" = "Porträts, Fotos mit niedriger Auflösung und Gesichter sollten sichtbar sein";
-"Unsuitable" = "Ungeeignet";
-"High resulotion, Severaly damaged and Difficult to recognize the face" = "Hohe Auflösung, stark beschädigt und das Gesicht ist schwer zu erkennen";
-"Colorize Tips" = "Tipps zum Kolorieren";
-"Clear outline black-and-white photos" = "Klare Schwarzweißfotos";
-"Colorful or Severely damaged photos" = "Bunte oder stark beschädigte Fotos";
-"Descratch Tips" = "Descratch-Tipps";
-"Scratched and Damaged photos
-" = "Zerkratzte und beschädigte Fotos";
-"High-resolution, Not damaged, and Clear photos" = "Hochauflösende, unbeschädigte und klare Fotos";
-"Upload Photo" = "Foto hochladen";
-"Enhance Photo" = "Foto verbessern";
-"Colorize Photo" = "Foto kolorieren";
-"Descratch Photo" = "Foto entkratzen";
-"Enlighten Photo" = "Enlighten Foto";
-"Recreate Photo" = "Foto neu erstellen";
-"You haven't saved the photo yet. Are you sure to quit?" = "Sie haben das Foto noch nicht gespeichert. Möchten Sie wirklich beenden?";
-"Quit" = "Aufhören";
-"Save" = "Speichern";
-"As you leave, your task will be interrupted and no result." = "Wenn Sie gehen, wird Ihre Aufgabe unterbrochen und es kommt zu keinem Ergebnis.";
-"Leave" = "Verlassen";
-"Wait" = "Warten";
-"Processing" = "Verarbeitung";
-"Uploading Photo" = "Foto hochladen";
-"Process successfully" = "Erfolgreich verarbeiten";
-"Save Successfully" = "Erfolgreich speichern";
-"1 task is processing" = "1 Aufgabe wird verarbeitet";
-"~ %d mins" = "~ %d Min.";
-"Lots of people are processing images right now, so this might take a bit." = "Viele Leute verarbeiten gerade Bilder, daher kann dies etwas dauern.";
-"Home" = "Heim";
-"Result" = "Ergebnis";
-"Are you sure to delete?" = "Möchten Sie wirklich löschen?";
-"Retain" = "Zurückbehalten";
-"Delete" = "Löschen";
-"Delete this error history?" = "Diesen Fehlerverlauf löschen?";
-"Due Date:" = "Zwei Termine:";
-"Share us" = "Teilen Sie uns";
-"Rate us" = "Bewerten Sie uns";
-"User Agreement" = "Benutzervereinbarung";
-"Privacy Policy" = "Datenschutzrichtlinie";
-"About us" = "Über uns";
-"Lifetime" = "Lebensdauer";
-"Congratulation you have become VIP" = "Herzlichen Glückwunsch, Sie sind VIP geworden";
-"Finish" = "Beenden";
-"Restoring now" = "Wird jetzt wiederhergestellt";
-"Couldn't Restore Subscription" = "Abonnement konnte nicht wiederhergestellt werden";
-"Getting price" = "Preis erhalten";
-"Failed to get the price, will automatically retry in 5 seconds" = "Der Preis konnte nicht abgerufen werden. Es wird in 5 Sekunden automatisch ein neuer Versuch gestartet.";
-"Failed to restore subscribe, please try again" = "Das Abonnement konnte nicht wiederhergestellt werden. Bitte versuchen Sie es erneut.";
-"Verifying receipt..." = "Beleg wird überprüft...";
-"Failed to validate receipt" = "Bestätigung des Belegs fehlgeschlagen";
+

+ 5 - 3
TSLiveWallpaper/de.lproj/Localizable.strings

@@ -57,7 +57,7 @@
 "Allow us to access to upload photos to process and save processed photos to your device." = "Erlauben Sie uns den Zugriff, um Fotos hochzuladen, zu verarbeiten und verarbeitete Fotos auf Ihrem Gerät zu speichern.";
 "Add Color to Memories" = "Bringen Sie Farbe in Ihre Erinnerungen";
 "Your photo is now vibrantly colorized, bringing memories to life" = "Ihr Foto ist jetzt lebendig koloriert und erweckt Erinnerungen zum Leben";
-"%d%" = "%d%";
+"%d%" = "%d%%";
 "Erase Scratches" = "Kratzer löschen";
 "Scratches and blemishes have vanished" = "Kratzer und Schönheitsfehler sind verschwunden";
 "Make photos clearer" = "Fotos klarer machen";
@@ -100,8 +100,7 @@
 "Clear outline black-and-white photos" = "Klare Schwarzweißfotos";
 "Colorful or Severely damaged photos" = "Bunte oder stark beschädigte Fotos";
 "Descratch Tips" = "Descratch-Tipps";
-"Scratched and Damaged photos
-" = "Zerkratzte und beschädigte Fotos";
+"Scratched and Damaged photos" = "Zerkratzte und beschädigte Fotos";
 "High-resolution, Not damaged, and Clear photos" = "Hochauflösende, unbeschädigte und klare Fotos";
 "Upload Photo" = "Foto hochladen";
 "Enhance Photo" = "Foto verbessern";
@@ -144,3 +143,6 @@
 "Failed to restore subscribe, please try again" = "Das Abonnement konnte nicht wiederhergestellt werden. Bitte versuchen Sie es erneut.";
 "Verifying receipt..." = "Beleg wird überprüft...";
 "Failed to validate receipt" = "Bestätigung des Belegs fehlgeschlagen";
+
+"Change Language" = "Sprache ändern";
+"Unlock Result" = "Ergebnis freischalten";

+ 3 - 0
TSLiveWallpaper/en.lproj/Localizable.strings

@@ -151,3 +151,6 @@
 "Select the unwanted area and remove them easily" = "Select the unwanted area and remove them easily";
 "Remove Objects" = "Remove Objects";
 "Remove" = "Remove";
+
+"Change Language" = "Change Language";
+"Unlock Result" = "Unlock Result";

+ 3 - 0
TSLiveWallpaper/es.lproj/Localizable.strings

@@ -152,3 +152,6 @@
 "Select the unwanted area and remove them easily" = "Seleccione el área no deseada y elimínela fácilmente";
 "Remove Objects" = "Eliminar objetos";
 "Remove" = "Eliminar";
+
+"Change Language" = "Cambiar idioma";
+"Unlock Result" = "Desbloquear resultado";

+ 1 - 1
TSLiveWallpaper/fr.lproj/InfoPlist.strings

@@ -5,4 +5,4 @@
   Created by 100Years on 2025/6/18.
   
 */
-NSPhotoLibraryUsageDescription = "Allow us to access to upload photos to process and save processed photos to your device.";
+NSPhotoLibraryUsageDescription = "Permettez-nous d'accéder au téléchargement de photos à traiter et d'enregistrer les photos traitées sur votre appareil.";

+ 0 - 146
TSLiveWallpaper/fr.lproj/LaunchScreen.strings

@@ -1,147 +1 @@
-"Say Hi" = "Dis bonjour";
-"Smile" = "Sourire";
-"Hug" = "Câlin";
-"Heart Gesture" = "Geste du cœur";
-"Forehead Kiss" = "Baiser sur le front";
-"Kiss" = "Baiser";
-"Blow Kiss" = "Souffler un baiser";
-"Stroll" = "Flâner";
-"Select the unwanted area and remove them easily" = "Sélectionnez la zone indésirable et supprimez-la facilement";
-"Remove Objects" = "Supprimer des objets";
-"Remove" = "Retirer";
-"AI Tools" = "Outils d'IA";
-"Update to PRO" = "Mise à jour vers PRO";
-"Adjust Light Tips" = "Conseils pour ajuster la lumière";
-"Animated Photo" = "Photo animée";
-"Turn photos into live moments" = "Transformez vos photos en moments vivants";
-"Animate Tips" = "Conseils d'animation";
-"Good quality portrair color photos" = "Photos couleur de portrait de bonne qualité";
-"B&W or Severely damaged photos" = "Photos N&B ou gravement endommagées";
-"Description" = "Description";
-"Optional" = "Facultatif";
-"Describe the animation effect you want" = "Décrivez l'effet d'animation que vous souhaitez";
-"New Update Available!" = "Nouvelle mise à jour disponible !";
-"🎨 Fresh styles, more vibrant than ever" = "🎨 Des styles frais, plus dynamiques que jamais";
-"✨ Trendy effects for more magic" = "✨ Des effets tendance pour plus de magie";
-"⚡ Even faster speed" = "⚡ Une vitesse encore plus rapide";
-"Update now to unlock the best experience" = "Mettez à jour maintenant pour profiter de la meilleure expérience";
-"Update" = "Mise à jour";
-"Your photo may contain copyright infringement, nudity, gore or violence that does not comply with the Health Policy, please replace the photo and try again." = "Votre photo peut contenir une violation du droit d'auteur, de la nudité, du sang ou de la violence qui ne sont pas conformes à la politique de santé, veuillez remplacer la photo et réessayer.";
-"There's nothing here yet" = "Il n'y a encore rien ici";
-"Try Again" = "Essayer à nouveau";
-"Payment Failed" = "Paiement échoué";
-"The subscription was canceled" = "L'abonnement a été annulé";
-"This task has expired" = "Cette tâche a expiré";
-"Processing you photo" = "Traitement de votre photo";
-"Enlighten Tips" = "Conseils d'éclairage";
-"Verify receipt failed" = "La vérification du reçu a échoué";
-"Purchasing now" = "Acheter maintenant";
-"Got it" = "J'ai compris";
-"Reselect photos" = "Resélectionner les photos";
-"Sorry there was a slight problem with the image processing, please try again later." = "Désolé, il y a eu un léger problème avec le traitement de l'image, veuillez réessayer plus tard.";
-"No network, please check your network and try again." = "Pas de réseau, veuillez vérifier votre réseau et réessayer.";
-"Your photo may contain nudity, gore or violence that does not comply with the health policy, please replace the photo and try again." = "Votre photo peut contenir de la nudité, du sang ou de la violence qui ne respecte pas la politique de santé, veuillez remplacer la photo et réessayer.";
-"Process in the background" = "Processus en arrière-plan";
-"History" = "Histoire";
-"Upgrade" = "Mise à niveau";
-"Well-exposed or severely damaged photos" = "Photos bien exposées ou gravement endommagées";
-"Over-dark or over-light, overexposed, or underexposed photos" = "Photos trop sombres ou trop claires, surexposées ou sous-exposées";
-"Recreate Tips" = "Conseils de recréation";
-"Recreate" = "Recréer";
-"Bring new life to old photos" = "Donnez une nouvelle vie à vos vieilles photos";
-"Adjust Light" = "Ajuster la lumière";
-"Easily fix lighting issues on photos" = "Résoudre facilement les problèmes d'éclairage sur les photos";
-"View" = "Voir";
-"Example" = "Exemple";
-"Limited Time Discount" = "Remise à durée limitée";
-"Allow us to access to upload photos to process and save processed photos to your device." = "Permettez-nous d'accéder au téléchargement de photos à traiter et d'enregistrer les photos traitées sur votre appareil.";
-"Add Color to Memories" = "Ajoutez de la couleur aux souvenirs";
-"Your photo is now vibrantly colorized, bringing memories to life" = "Votre photo est désormais colorée de manière vibrante, donnant vie à vos souvenirs";
-"%d%" = "%d%";
-"Erase Scratches" = "Effacer les rayures";
-"Scratches and blemishes have vanished" = "Les rayures et les imperfections ont disparu";
-"Make photos clearer" = "Rendre les photos plus claires";
-"Your photo has become clearer,and the details are more noticeable" = "Votre photo est devenue plus claire et les détails sont plus visibles";
-"Continue" = "Continuer";
-"Colorize Photo" = "Coloriser une photo";
-"Remove Scratches" = "Enlever les rayures";
-"Enhance Photo" = "Améliorer la photo";
-"Get PRO Access" = "Obtenez un accès PRO";
-"Unlimited Process" = "Processus illimité";
-"Unlock All Features" = "Débloquez toutes les fonctionnalités";
-"High Speed & Quality" = "Haute vitesse et qualité";
-"100%\nNo Ads" = "100% sans publicité";
-"Yearly" = "Annuel";
-"Weekly" = "Hebdomadaire";
-"Just" = "Juste";
-"Per Year" = "Par année";
-"Per Week" = "Pour la semaine";
-"Save" = "Sauvegarder";
-"per week" = "pour la semaine";
-"Continue" = "Continuer";
-"Recurring billing,cancel anytime." = "Facturation récurrente, annulable à tout moment.";
-"Payment will be charged to your iTunes account at confirmation of purchase. Subscriptions automatically renew for the same applicable term and price, unless auto-renew is turned off at least 24 hours before the end of the current period." = "Le paiement sera débité de votre compte iTunes lors de la confirmation de l'achat. Les abonnements sont automatiquement renouvelés pour la même durée et le même prix, sauf si le renouvellement automatique est désactivé au moins 24 heures avant la fin de la période en cours.";
-"Terms of us" = "Conditions générales d'utilisation";
-"Privacy Policy" = "politique de confidentialité";
-"Restore" = "Restaurer";
-"Enhance" = "Améliorer";
-"Remove blur, sharpen, add details" = "Supprimer le flou, affiner, ajouter des détails";
-"Try" = "Essayer";
-"Colorize" = "Coloriser";
-"Add colors to black-and-white photos" = "Ajoutez des couleurs aux photos en noir et blanc";
-"Descratch" = "Dégratter";
-"Remove scratches and dirt" = "Élimine les rayures et la saleté";
-"Enhance Tips" = "Conseils d'amélioration";
-"Suitable" = "Approprié";
-"Portraits, Low-resolution and photos, faces should be visible" = "Portraits, photos et basse résolution, les visages doivent être visibles";
-"Unsuitable" = "Inapproprié";
-"High resulotion, Severaly damaged and Difficult to recognize the face" = "Haute résolution, plusieurs dommages et difficile à reconnaître le visage";
-"Colorize Tips" = "Conseils de colorisation";
-"Clear outline black-and-white photos" = "Photos en noir et blanc aux contours clairs";
-"Colorful or Severely damaged photos" = "Photos colorées ou gravement endommagées";
-"Descratch Tips" = "Conseils de décapage";
-"Scratched and Damaged photos
-" = "Photos rayées et endommagées";
-"High-resolution, Not damaged, and Clear photos" = "Photos haute résolution, non endommagées et claires";
-"Upload Photo" = "Télécharger une photo";
-"Enhance Photo" = "Améliorer la photo";
-"Colorize Photo" = "Coloriser une photo";
-"Descratch Photo" = "Décaper la photo";
-"Enlighten Photo" = "Éclairer la photo";
-"Recreate Photo" = "Recréer une photo";
-"You haven't saved the photo yet. Are you sure to quit?" = "Vous n'avez pas encore enregistré la photo. Voulez-vous vraiment quitter ?";
-"Quit" = "Quitter";
-"Save" = "Sauvegarder";
-"As you leave, your task will be interrupted and no result." = "En partant, votre tâche sera interrompue et aucun résultat.";
-"Leave" = "Partir";
-"Wait" = "Attendez";
-"Processing" = "Traitement";
-"Uploading Photo" = "Téléchargement de photos";
-"Process successfully" = "Processus réussi";
-"Save Successfully" = "Enregistrer avec succès";
-"1 task is processing" = "1 tâche est en cours de traitement";
-"~ %d mins" = "~ %d min";
-"Lots of people are processing images right now, so this might take a bit." = "De nombreuses personnes traitent actuellement des images, cela peut donc prendre un peu de temps.";
-"Home" = "Maison";
-"Result" = "Résultat";
-"Are you sure to delete?" = "Êtes-vous sûr de vouloir supprimer ?";
-"Retain" = "Retenir";
-"Delete" = "Supprimer";
-"Delete this error history?" = "Supprimer cet historique d'erreurs ?";
-"Due Date:" = "Deux dates :";
-"Share us" = "Partagez-nous";
-"Rate us" = "Évaluez-nous";
-"User Agreement" = "Contrat d'utilisation";
-"Privacy Policy" = "politique de confidentialité";
-"About us" = "À propos de nous";
-"Lifetime" = "Durée de vie";
-"Congratulation you have become VIP" = "Félicitations, vous êtes devenu VIP";
-"Finish" = "Finition";
-"Restoring now" = "Restauration maintenant";
-"Couldn't Restore Subscription" = "Impossible de restaurer l'abonnement";
-"Getting price" = "Obtenir un prix";
-"Failed to get the price, will automatically retry in 5 seconds" = "Impossible d'obtenir le prix, je réessayerai automatiquement dans 5 secondes";
-"Failed to restore subscribe, please try again" = "Échec de la restauration de l'abonnement, veuillez réessayer";
-"Verifying receipt..." = "Vérification de la réception...";
-"Failed to validate receipt" = "Échec de la validation du reçu";
 

+ 4 - 1
TSLiveWallpaper/fr.lproj/Localizable.strings

@@ -57,7 +57,7 @@
 "Allow us to access to upload photos to process and save processed photos to your device." = "Permettez-nous d'accéder au téléchargement de photos à traiter et d'enregistrer les photos traitées sur votre appareil.";
 "Add Color to Memories" = "Ajoutez de la couleur aux souvenirs";
 "Your photo is now vibrantly colorized, bringing memories to life" = "Votre photo est désormais colorée de manière vibrante, donnant vie à vos souvenirs";
-"%d%" = "%d%";
+"%d%" = "%d%%";
 "Erase Scratches" = "Effacer les rayures";
 "Scratches and blemishes have vanished" = "Les rayures et les imperfections ont disparu";
 "Make photos clearer" = "Rendre les photos plus claires";
@@ -144,3 +144,6 @@
 "Failed to restore subscribe, please try again" = "Échec de la restauration de l'abonnement, veuillez réessayer";
 "Verifying receipt..." = "Vérification de la réception...";
 "Failed to validate receipt" = "Échec de la validation du reçu";
+
+"Change Language" = "Changer de langue";
+"Unlock Result" = "Résultat du déverrouillage";

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

@@ -5,4 +5,4 @@
   Created by 100Years on 2025/6/18.
   
 */
-NSPhotoLibraryUsageDescription = "Allow us to access to upload photos to process and save processed photos to your device.";
+NSPhotoLibraryUsageDescription = "Consentici di accedere per caricare le foto da elaborare e salvare le foto elaborate sul tuo dispositivo.";

+ 1 - 146
TSLiveWallpaper/it.lproj/LaunchScreen.strings

@@ -1,146 +1 @@
-"Say Hi" = "Dire ciao";
-"Smile" = "Sorriso";
-"Hug" = "Abbraccio";
-"Heart Gesture" = "Gesto del cuore";
-"Forehead Kiss" = "Bacio sulla fronte";
-"Kiss" = "Bacio";
-"Blow Kiss" = "Bacio soffiato";
-"Stroll" = "Passeggiare";
-"Select the unwanted area and remove them easily" = "Seleziona l'area indesiderata e rimuovila facilmente";
-"Remove Objects" = "Rimuovi oggetti";
-"Remove" = "Rimuovere";
-"AI Tools" = "Strumenti di intelligenza artificiale";
-"Update to PRO" = "Aggiorna a PRO";
-"Adjust Light Tips" = "Regola i suggerimenti della luce";
-"Animated Photo" = "Foto animata";
-"Turn photos into live moments" = "Trasforma le foto in momenti live";
-"Animate Tips" = "Suggerimenti per l'animazione";
-"Good quality portrair color photos" = "Foto ritratto a colori di buona qualità";
-"B&W or Severely damaged photos" = "Foto in bianco e nero o gravemente danneggiate";
-"Description" = "Descrizione";
-"Optional" = "Opzionale";
-"Describe the animation effect you want" = "Descrivi l'effetto di animazione che desideri";
-"New Update Available!" = "Nuovo aggiornamento disponibile!";
-"🎨 Fresh styles, more vibrant than ever" = "🎨 Stili freschi, più vivaci che mai";
-"✨ Trendy effects for more magic" = "✨ Effetti di tendenza per più magia";
-"⚡ Even faster speed" = "⚡ Velocità ancora maggiore";
-"Update now to unlock the best experience" = "Aggiorna ora per sbloccare la migliore esperienza";
-"Update" = "Aggiornamento";
-"Your photo may contain copyright infringement, nudity, gore or violence that does not comply with the Health Policy, please replace the photo and try again." = "La tua foto potrebbe contenere violazioni del copyright, nudità, sangue o violenza che non rispettano la Politica sanitaria. Ti preghiamo di sostituire la foto e riprovare.";
-"There's nothing here yet" = "Non c'è ancora niente qui";
-"Try Again" = "Riprova";
-"Payment Failed" = "Pagamento non riuscito";
-"The subscription was canceled" = "L'abbonamento è stato annullato";
-"This task has expired" = "Questo compito è scaduto";
-"Processing you photo" = "Elaborazione della tua foto";
-"Enlighten Tips" = "Suggerimenti illuminanti";
-"Verify receipt failed" = "Verifica ricevuta non riuscita";
-"Purchasing now" = "Acquista ora";
-"Got it" = "Fatto";
-"Reselect photos" = "Riseleziona le foto";
-"Sorry there was a slight problem with the image processing, please try again later." = "Ci scusiamo, si è verificato un piccolo problema con l'elaborazione dell'immagine. Riprova più tardi.";
-"No network, please check your network and try again." = "Nessuna rete, controlla la tua rete e riprova.";
-"Your photo may contain nudity, gore or violence that does not comply with the health policy, please replace the photo and try again." = "La tua foto potrebbe contenere nudità, sangue o violenza che non rispettano le norme sanitarie. Sostituisci la foto e riprova.";
-"Process in the background" = "Processo in background";
-"History" = "Storia";
-"Upgrade" = "Aggiornamento";
-"Well-exposed or severely damaged photos" = "Foto ben esposte o gravemente danneggiate";
-"Over-dark or over-light, overexposed, or underexposed photos" = "Foto troppo scure o troppo chiare, sovraesposte o sottoesposte";
-"Recreate Tips" = "Suggerimenti per ricreare";
-"Recreate" = "Ricreare";
-"Bring new life to old photos" = "Dai nuova vita alle vecchie foto";
-"Adjust Light" = "Regola la luce";
-"Easily fix lighting issues on photos" = "Risolvi facilmente i problemi di illuminazione nelle foto";
-"View" = "Visualizzazione";
-"Example" = "Esempio";
-"Limited Time Discount" = "Sconto a tempo limitato";
-"Allow us to access to upload photos to process and save processed photos to your device." = "Consentici di accedere per caricare le foto da elaborare e salvare le foto elaborate sul tuo dispositivo.";
-"Add Color to Memories" = "Aggiungi colore ai ricordi";
-"Your photo is now vibrantly colorized, bringing memories to life" = "La tua foto ora ha colori vivaci, dando vita ai ricordi";
-"%d%" = "%d%";
-"Erase Scratches" = "Cancella i graffi";
-"Scratches and blemishes have vanished" = "Graffi e macchie sono scomparsi";
-"Make photos clearer" = "Rendi le foto più chiare";
-"Your photo has become clearer,and the details are more noticeable" = "La tua foto è diventata più chiara e i dettagli sono più evidenti";
-"Continue" = "Continuare";
-"Colorize Photo" = "Colora la foto";
-"Remove Scratches" = "Rimuovi graffi";
-"Enhance Photo" = "Migliora foto";
-"Get PRO Access" = "Ottieni l'accesso PRO";
-"Unlimited Process" = "Processo illimitato";
-"Unlock All Features" = "Sblocca tutte le funzionalità";
-"High Speed & Quality" = "Alta velocità e qualità";
-"100%\nNo Ads" = "100% senza pubblicità";
-"Yearly" = "Annuale";
-"Weekly" = "Settimanale";
-"Just" = "Appena";
-"Per Year" = "All'anno";
-"Per Week" = "Per Week";
-"Save" = "Salva";
-"per week" = "per week";
-"Continue" = "Continuare";
-"Recurring billing,cancel anytime." = "Fatturazione ricorrente, annullabile in qualsiasi momento.";
-"Payment will be charged to your iTunes account at confirmation of purchase. Subscriptions automatically renew for the same applicable term and price, unless auto-renew is turned off at least 24 hours before the end of the current period." = "Il pagamento verrà addebitato sul tuo account iTunes alla conferma dell'acquisto. Gli abbonamenti si rinnovano automaticamente per la stessa durata e allo stesso prezzo, a meno che il rinnovo automatico non venga disattivato almeno 24 ore prima della fine del periodo in corso.";
-"Terms of us" = "Termini di utilizzo";
-"Privacy Policy" = "politica sulla riservatezza";
-"Restore" = "Ripristinare";
-"Enhance" = "Migliorare";
-"Remove blur, sharpen, add details" = "Rimuovi sfocatura, nitidezza, aggiungi dettagli";
-"Try" = "Tentativo";
-"Colorize" = "Colorare";
-"Add colors to black-and-white photos" = "Aggiungere colori alle foto in bianco e nero";
-"Descratch" = "Gratta e Vinci";
-"Remove scratches and dirt" = "Rimuovi graffi e sporco";
-"Enhance Tips" = "Suggerimenti per migliorare";
-"Suitable" = "Adatto";
-"Portraits, Low-resolution and photos, faces should be visible" = "Ritratti, foto a bassa risoluzione e i volti devono essere visibili";
-"Unsuitable" = "Non adatto";
-"High resulotion, Severaly damaged and Difficult to recognize the face" = "Alta risoluzione, molto danneggiato e difficile riconoscere il volto";
-"Colorize Tips" = "Suggerimenti per colorare";
-"Clear outline black-and-white photos" = "Foto in bianco e nero con contorni chiari";
-"Colorful or Severely damaged photos" = "Foto colorate o gravemente danneggiate";
-"Descratch Tips" = "Suggerimenti per grattare";
-"Scratched and Damaged photos
-" = "Foto graffiate e danneggiate";
-"High-resolution, Not damaged, and Clear photos" = "Foto ad alta risoluzione, non danneggiate e nitide";
-"Upload Photo" = "Carica foto";
-"Enhance Photo" = "Migliora foto";
-"Colorize Photo" = "Colora la foto";
-"Descratch Photo" = "Gratta la foto";
-"Enlighten Photo" = "Illumina la foto";
-"Recreate Photo" = "Ricrea foto";
-"You haven't saved the photo yet. Are you sure to quit?" = "Non hai ancora salvato la foto. Vuoi uscire?";
-"Quit" = "Esentato";
-"Save" = "Salva";
-"As you leave, your task will be interrupted and no result." = "Se te ne vai, il tuo compito verrà interrotto e non otterrai alcun risultato.";
-"Leave" = "Partire";
-"Wait" = "Aspettare";
-"Processing" = "Elaborazione";
-"Uploading Photo" = "Caricamento foto";
-"Process successfully" = "Elaborazione eseguita con successo";
-"Save Successfully" = "Salvataggio riuscito";
-"1 task is processing" = "1 attività è in elaborazione";
-"~ %d mins" = "~ %d minuti";
-"Lots of people are processing images right now, so this might take a bit." = "In questo momento molte persone stanno elaborando le immagini, quindi potrebbe volerci un po' di tempo.";
-"Home" = "Casa";
-"Result" = "Risultato";
-"Are you sure to delete?" = "Vuoi eliminare?";
-"Retain" = "Conservare";
-"Delete" = "Eliminare";
-"Delete this error history?" = "Vuoi eliminare questa cronologia degli errori?";
-"Due Date:" = "Due Date:";
-"Share us" = "Condividici";
-"Rate us" = "Valutaci";
-"User Agreement" = "Contratto d'uso";
-"Privacy Policy" = "politica sulla riservatezza";
-"About us" = "Chi siamo";
-"Lifetime" = "Tutta la vita";
-"Congratulation you have become VIP" = "Congratulazioni sei diventato VIP";
-"Finish" = "Fine";
-"Restoring now" = "Ripristino in corso";
-"Couldn't Restore Subscription" = "Impossibile ripristinare l'abbonamento";
-"Getting price" = "Ottenere il prezzo";
-"Failed to get the price, will automatically retry in 5 seconds" = "Impossibile ottenere il prezzo, verrà effettuato un nuovo tentativo automatico tra 5 secondi";
-"Failed to restore subscribe, please try again" = "Impossibile ripristinare l'iscrizione, riprovare.";
-"Verifying receipt..." = "Verifica della ricevuta...";
-"Failed to validate receipt" = "Impossibile convalidare la ricevuta";
+

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

@@ -57,7 +57,7 @@
 "Allow us to access to upload photos to process and save processed photos to your device." = "Consentici di accedere per caricare le foto da elaborare e salvare le foto elaborate sul tuo dispositivo.";
 "Add Color to Memories" = "Aggiungi colore ai ricordi";
 "Your photo is now vibrantly colorized, bringing memories to life" = "La tua foto ora ha colori vivaci, dando vita ai ricordi";
-"%d%" = "%d%";
+"%d%" = "%d%%";
 "Erase Scratches" = "Cancella i graffi";
 "Scratches and blemishes have vanished" = "Graffi e macchie sono scomparsi";
 "Make photos clearer" = "Rendi le foto più chiare";
@@ -144,3 +144,6 @@
 "Failed to restore subscribe, please try again" = "Impossibile ripristinare l'iscrizione, riprovare.";
 "Verifying receipt..." = "Verifica della ricevuta...";
 "Failed to validate receipt" = "Impossibile convalidare la ricevuta";
+
+"Change Language" = "Cambia lingua";
+"Unlock Result" = "Sblocca il risultato";

+ 3 - 0
TSLiveWallpaper/ja.lproj/Localizable.strings

@@ -150,3 +150,6 @@
 "Select the unwanted area and remove them easily" = "不要な部分を選択して簡単に削除できます";
 "Remove Objects" = "オブジェクトを削除";
 "Remove" = "取り除く";
+
+"Change Language" = "言語を変更";
+"Unlock Result" = "結果のロックを解除";

+ 3 - 0
TSLiveWallpaper/ko.lproj/Localizable.strings

@@ -150,3 +150,6 @@
 "Select the unwanted area and remove them easily" = "원치 않는 영역을 선택하여 쉽게 제거하세요";
 "Remove Objects" = "객체 제거";
 "Remove" = "제거하다";
+
+"Change Language" = "언어 변경";
+"Unlock Result" = "잠금 해제 결과";

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

@@ -5,4 +5,4 @@
   Created by 100Years on 2025/6/18.
   
 */
-NSPhotoLibraryUsageDescription = "Allow us to access to upload photos to process and save processed photos to your device.";
+NSPhotoLibraryUsageDescription = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";

+ 1 - 146
TSLiveWallpaper/pt-BR.lproj/LaunchScreen.strings

@@ -1,146 +1 @@
-"Say Hi" = "Diga oi";
-"Smile" = "Sorriso";
-"Hug" = "Abraço";
-"Heart Gesture" = "Gesto do Coração";
-"Forehead Kiss" = "Beijo na testa";
-"Kiss" = "Beijo";
-"Blow Kiss" = "Beijo de Sopro";
-"Stroll" = "Passeio";
-"Select the unwanted area and remove them easily" = "Selecione a área indesejada e remova-a facilmente";
-"Remove Objects" = "Remover objetos";
-"Remove" = "Remover";
-"AI Tools" = "Ferramentas de IA";
-"Update to PRO" = "Atualizar para PRO";
-"Adjust Light Tips" = "Ajustar pontas de luz";
-"Animated Photo" = "Foto animada";
-"Turn photos into live moments" = "Transforme fotos em momentos ao vivo";
-"Animate Tips" = "Dicas de animação";
-"Good quality portrair color photos" = "Fotos coloridas de retrato de boa qualidade";
-"B&W or Severely damaged photos" = "Fotos em preto e branco ou severamente danificadas";
-"Description" = "Descrição";
-"Optional" = "Opcional";
-"Describe the animation effect you want" = "Descreva o efeito de animação que você deseja";
-"New Update Available!" = "Nova atualização disponível!";
-"🎨 Fresh styles, more vibrant than ever" = "🎨 Estilos novos, mais vibrantes do que nunca";
-"✨ Trendy effects for more magic" = "✨ Efeitos modernos para mais magia";
-"⚡ Even faster speed" = "⚡ Velocidade ainda mais rápida";
-"Update now to unlock the best experience" = "Atualize agora para desbloquear a melhor experiência";
-"Update" = "Atualizar";
-"Your photo may contain copyright infringement, nudity, gore or violence that does not comply with the Health Policy, please replace the photo and try again." = "Sua foto pode conter violação de direitos autorais, nudez, sangue ou violência que não esteja de acordo com a Política de Saúde. Substitua a foto e tente novamente.";
-"There's nothing here yet" = "Ainda não há nada aqui";
-"Try Again" = "Tentar novamente";
-"Payment Failed" = "Falha no pagamento";
-"The subscription was canceled" = "A assinatura foi cancelada";
-"This task has expired" = "Esta tarefa expirou";
-"Processing you photo" = "Processando sua foto";
-"Enlighten Tips" = "Dicas Iluminadoras";
-"Verify receipt failed" = "Falha na verificação do recibo";
-"Purchasing now" = "Comprando agora";
-"Got it" = "Entendi";
-"Reselect photos" = "Reselecionar fotos";
-"Sorry there was a slight problem with the image processing, please try again later." = "Desculpe, ocorreu um pequeno problema com o processamento da imagem. Tente novamente mais tarde.";
-"No network, please check your network and try again." = "Sem rede, verifique sua rede e tente novamente.";
-"Your photo may contain nudity, gore or violence that does not comply with the health policy, please replace the photo and try again." = "Sua foto pode conter nudez, sangue ou violência que não estejam de acordo com a política de saúde. Substitua a foto e tente novamente.";
-"Process in the background" = "Processo em segundo plano";
-"History" = "História";
-"Upgrade" = "Atualizar";
-"Well-exposed or severely damaged photos" = "Fotos bem expostas ou severamente danificadas";
-"Over-dark or over-light, overexposed, or underexposed photos" = "Fotos muito escuras ou muito claras, superexpostas ou subexpostas";
-"Recreate Tips" = "Dicas de recriação";
-"Recreate" = "Recriar";
-"Bring new life to old photos" = "Dê nova vida a fotos antigas";
-"Adjust Light" = "Ajustar luz";
-"Easily fix lighting issues on photos" = "Corrija facilmente problemas de iluminação em fotos";
-"View" = "Visualizar";
-"Example" = "Exemplo";
-"Limited Time Discount" = "Desconto por tempo limitado";
-"Allow us to access to upload photos to process and save processed photos to your device." = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";
-"Add Color to Memories" = "Adicione cor às memórias";
-"Your photo is now vibrantly colorized, bringing memories to life" = "Sua foto agora está com cores vibrantes, dando vida às memórias";
-"%d%" = "%d%";
-"Erase Scratches" = "Apagar arranhões";
-"Scratches and blemishes have vanished" = "Arranhões e manchas desapareceram";
-"Make photos clearer" = "Deixe as fotos mais nítidas";
-"Your photo has become clearer,and the details are more noticeable" = "Sua foto ficou mais nítida e os detalhes são mais visíveis";
-"Continue" = "Continuar";
-"Colorize Photo" = "Colorir foto";
-"Remove Scratches" = "Remover arranhões";
-"Enhance Photo" = "Melhorar foto";
-"Get PRO Access" = "Obtenha acesso PRO";
-"Unlimited Process" = "Processo Ilimitado";
-"Unlock All Features" = "Desbloqueie todos os recursos";
-"High Speed & Quality" = "Alta velocidade e qualidade";
-"100%\nNo Ads" = "100% sem anúncios";
-"Yearly" = "Anual";
-"Weekly" = "Semanalmente";
-"Just" = "Apenas";
-"Per Year" = "Por ano";
-"Per Week" = "Para a semana";
-"Save" = "Salvar";
-"per week" = "por semana";
-"Continue" = "Continuar";
-"Recurring billing,cancel anytime." = "Faturamento recorrente, cancele a qualquer momento.";
-"Payment will be charged to your iTunes account at confirmation of purchase. Subscriptions automatically renew for the same applicable term and price, unless auto-renew is turned off at least 24 hours before the end of the current period." = "O pagamento será cobrado na sua conta do iTunes na confirmação da compra. As assinaturas são renovadas automaticamente pelo mesmo período e preço aplicáveis, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período vigente.";
-"Terms of us" = "Termos de uso";
-"Privacy Policy" = "política de Privacidade";
-"Restore" = "Restaurar";
-"Enhance" = "Melhorar";
-"Remove blur, sharpen, add details" = "Remova o desfoque, aprimore a nitidez e adicione detalhes";
-"Try" = "Tentar";
-"Colorize" = "Colorir";
-"Add colors to black-and-white photos" = "Adicione cores a fotos em preto e branco";
-"Descratch" = "Descratch";
-"Remove scratches and dirt" = "Remova arranhões e sujeira";
-"Enhance Tips" = "Dicas de aprimoramento";
-"Suitable" = "Adequado";
-"Portraits, Low-resolution and photos, faces should be visible" = "Retratos, fotos e fotos de baixa resolução, os rostos devem estar visíveis";
-"Unsuitable" = "Inadequado";
-"High resulotion, Severaly damaged and Difficult to recognize the face" = "Alta resolução, muito danificado e difícil de reconhecer o rosto";
-"Colorize Tips" = "Dicas de Colorir";
-"Clear outline black-and-white photos" = "Fotos em preto e branco com contornos nítidos";
-"Colorful or Severely damaged photos" = "Fotos coloridas ou severamente danificadas";
-"Descratch Tips" = "Dicas do Descratch";
-"Scratched and Damaged photos
-" = "Fotos arranhadas e danificadas";
-"High-resolution, Not damaged, and Clear photos" = "Fotos de alta resolução, sem danos e nítidas";
-"Upload Photo" = "Carregar foto";
-"Enhance Photo" = "Melhorar foto";
-"Colorize Photo" = "Colorir foto";
-"Descratch Photo" = "Descratch Photo";
-"Enlighten Photo" = "Iluminar Foto";
-"Recreate Photo" = "Recriar foto";
-"You haven't saved the photo yet. Are you sure to quit?" = "Você ainda não salvou a foto. Tem certeza de que deseja sair?";
-"Quit" = "Desistir";
-"Save" = "Salvar";
-"As you leave, your task will be interrupted and no result." = "Ao sair, sua tarefa será interrompida e não haverá resultado.";
-"Leave" = "Deixar";
-"Wait" = "Espere";
-"Processing" = "Processamento";
-"Uploading Photo" = "Carregando foto";
-"Process successfully" = "Processar com sucesso";
-"Save Successfully" = "Salvar com sucesso";
-"1 task is processing" = "1 tarefa está sendo processada";
-"~ %d mins" = "~ %d minutos";
-"Lots of people are processing images right now, so this might take a bit." = "Muitas pessoas estão processando imagens agora, então isso pode demorar um pouco.";
-"Home" = "Lar";
-"Result" = "Resultado";
-"Are you sure to delete?" = "Tem certeza de que deseja excluir?";
-"Retain" = "Reter";
-"Delete" = "Excluir";
-"Delete this error history?" = "Excluir este histórico de erros?";
-"Due Date:" = "Duas datas:";
-"Share us" = "Compartilhe conosco";
-"Rate us" = "Avalie-nos";
-"User Agreement" = "Contrato do Usuário";
-"Privacy Policy" = "política de Privacidade";
-"About us" = "Sobre nós";
-"Lifetime" = "Vida";
-"Congratulation you have become VIP" = "Parabéns você se tornou VIP";
-"Finish" = "Terminar";
-"Restoring now" = "Restaurando agora";
-"Couldn't Restore Subscription" = "Não foi possível restaurar a assinatura";
-"Getting price" = "Obtendo preço";
-"Failed to get the price, will automatically retry in 5 seconds" = "Não foi possível obter o preço. Tentaremos novamente automaticamente em 5 segundos.";
-"Failed to restore subscribe, please try again" = "Falha ao restaurar a assinatura, tente novamente";
-"Verifying receipt..." = "Verificando o recebimento...";
-"Failed to validate receipt" = "Falha ao validar o recebimento";
+

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

@@ -57,7 +57,7 @@
 "Allow us to access to upload photos to process and save processed photos to your device." = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";
 "Add Color to Memories" = "Adicione cor às memórias";
 "Your photo is now vibrantly colorized, bringing memories to life" = "Sua foto agora está com cores vibrantes, dando vida às memórias";
-"%d%" = "%d%";
+"%d%" = "%d%%";
 "Erase Scratches" = "Apagar arranhões";
 "Scratches and blemishes have vanished" = "Arranhões e manchas desapareceram";
 "Make photos clearer" = "Deixe as fotos mais nítidas";
@@ -144,3 +144,6 @@
 "Failed to restore subscribe, please try again" = "Falha ao restaurar a assinatura, tente novamente";
 "Verifying receipt..." = "Verificando o recebimento...";
 "Failed to validate receipt" = "Falha ao validar o recebimento";
+
+"Change Language" = "Alterar idioma";
+"Unlock Result" = "Resultado de desbloqueio";

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

@@ -5,4 +5,4 @@
   Created by 100Years on 2025/6/18.
   
 */
-NSPhotoLibraryUsageDescription = "Allow us to access to upload photos to process and save processed photos to your device.";
+NSPhotoLibraryUsageDescription = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";

+ 1 - 146
TSLiveWallpaper/pt-PT.lproj/LaunchScreen.strings

@@ -1,146 +1 @@
-"Say Hi" = "Diga oi";
-"Smile" = "Sorriso";
-"Hug" = "Abraço";
-"Heart Gesture" = "Gesto do Coração";
-"Forehead Kiss" = "Beijo na testa";
-"Kiss" = "Beijo";
-"Blow Kiss" = "Beijo de Sopro";
-"Stroll" = "Passeio";
-"Select the unwanted area and remove them easily" = "Selecione a área indesejada e remova-a facilmente";
-"Remove Objects" = "Remover objetos";
-"Remove" = "Remover";
-"AI Tools" = "Ferramentas de IA";
-"Update to PRO" = "Atualizar para PRO";
-"Adjust Light Tips" = "Ajustar pontas de luz";
-"Animated Photo" = "Foto animada";
-"Turn photos into live moments" = "Transforme fotos em momentos ao vivo";
-"Animate Tips" = "Dicas de animação";
-"Good quality portrair color photos" = "Fotos coloridas de retrato de boa qualidade";
-"B&W or Severely damaged photos" = "Fotos em preto e branco ou severamente danificadas";
-"Description" = "Descrição";
-"Optional" = "Opcional";
-"Describe the animation effect you want" = "Descreva o efeito de animação que você deseja";
-"New Update Available!" = "Nova atualização disponível!";
-"🎨 Fresh styles, more vibrant than ever" = "🎨 Estilos novos, mais vibrantes do que nunca";
-"✨ Trendy effects for more magic" = "✨ Efeitos modernos para mais magia";
-"⚡ Even faster speed" = "⚡ Velocidade ainda mais rápida";
-"Update now to unlock the best experience" = "Atualize agora para desbloquear a melhor experiência";
-"Update" = "Atualizar";
-"Your photo may contain copyright infringement, nudity, gore or violence that does not comply with the Health Policy, please replace the photo and try again." = "Sua foto pode conter violação de direitos autorais, nudez, sangue ou violência que não esteja de acordo com a Política de Saúde. Substitua a foto e tente novamente.";
-"There's nothing here yet" = "Ainda não há nada aqui";
-"Try Again" = "Tentar novamente";
-"Payment Failed" = "Falha no pagamento";
-"The subscription was canceled" = "A assinatura foi cancelada";
-"This task has expired" = "Esta tarefa expirou";
-"Processing you photo" = "Processando sua foto";
-"Enlighten Tips" = "Dicas Iluminadoras";
-"Verify receipt failed" = "Falha na verificação do recibo";
-"Purchasing now" = "Comprando agora";
-"Got it" = "Entendi";
-"Reselect photos" = "Reselecionar fotos";
-"Sorry there was a slight problem with the image processing, please try again later." = "Desculpe, ocorreu um pequeno problema com o processamento da imagem. Tente novamente mais tarde.";
-"No network, please check your network and try again." = "Sem rede, verifique sua rede e tente novamente.";
-"Your photo may contain nudity, gore or violence that does not comply with the health policy, please replace the photo and try again." = "Sua foto pode conter nudez, sangue ou violência que não estejam de acordo com a política de saúde. Substitua a foto e tente novamente.";
-"Process in the background" = "Processo em segundo plano";
-"History" = "História";
-"Upgrade" = "Atualizar";
-"Well-exposed or severely damaged photos" = "Fotos bem expostas ou severamente danificadas";
-"Over-dark or over-light, overexposed, or underexposed photos" = "Fotos muito escuras ou muito claras, superexpostas ou subexpostas";
-"Recreate Tips" = "Dicas de recriação";
-"Recreate" = "Recriar";
-"Bring new life to old photos" = "Dê nova vida a fotos antigas";
-"Adjust Light" = "Ajustar luz";
-"Easily fix lighting issues on photos" = "Corrija facilmente problemas de iluminação em fotos";
-"View" = "Visualizar";
-"Example" = "Exemplo";
-"Limited Time Discount" = "Desconto por tempo limitado";
-"Allow us to access to upload photos to process and save processed photos to your device." = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";
-"Add Color to Memories" = "Adicione cor às memórias";
-"Your photo is now vibrantly colorized, bringing memories to life" = "Sua foto agora está com cores vibrantes, dando vida às memórias";
-"%d%" = "%d%";
-"Erase Scratches" = "Apagar arranhões";
-"Scratches and blemishes have vanished" = "Arranhões e manchas desapareceram";
-"Make photos clearer" = "Deixe as fotos mais nítidas";
-"Your photo has become clearer,and the details are more noticeable" = "Sua foto ficou mais nítida e os detalhes são mais visíveis";
-"Continue" = "Continuar";
-"Colorize Photo" = "Colorir foto";
-"Remove Scratches" = "Remover arranhões";
-"Enhance Photo" = "Melhorar foto";
-"Get PRO Access" = "Obtenha acesso PRO";
-"Unlimited Process" = "Processo Ilimitado";
-"Unlock All Features" = "Desbloqueie todos os recursos";
-"High Speed & Quality" = "Alta velocidade e qualidade";
-"100%\nNo Ads" = "100% sem anúncios";
-"Yearly" = "Anual";
-"Weekly" = "Semanalmente";
-"Just" = "Apenas";
-"Per Year" = "Por ano";
-"Per Week" = "Para a semana";
-"Save" = "Salvar";
-"per week" = "por semana";
-"Continue" = "Continuar";
-"Recurring billing,cancel anytime." = "Faturamento recorrente, cancele a qualquer momento.";
-"Payment will be charged to your iTunes account at confirmation of purchase. Subscriptions automatically renew for the same applicable term and price, unless auto-renew is turned off at least 24 hours before the end of the current period." = "O pagamento será cobrado na sua conta do iTunes na confirmação da compra. As assinaturas são renovadas automaticamente pelo mesmo período e preço aplicáveis, a menos que a renovação automática seja desativada pelo menos 24 horas antes do final do período vigente.";
-"Terms of us" = "Termos de uso";
-"Privacy Policy" = "política de Privacidade";
-"Restore" = "Restaurar";
-"Enhance" = "Melhorar";
-"Remove blur, sharpen, add details" = "Remova o desfoque, aprimore a nitidez e adicione detalhes";
-"Try" = "Tentar";
-"Colorize" = "Colorir";
-"Add colors to black-and-white photos" = "Adicione cores a fotos em preto e branco";
-"Descratch" = "Descratch";
-"Remove scratches and dirt" = "Remova arranhões e sujeira";
-"Enhance Tips" = "Dicas de aprimoramento";
-"Suitable" = "Adequado";
-"Portraits, Low-resolution and photos, faces should be visible" = "Retratos, fotos e fotos de baixa resolução, os rostos devem estar visíveis";
-"Unsuitable" = "Inadequado";
-"High resulotion, Severaly damaged and Difficult to recognize the face" = "Alta resolução, muito danificado e difícil de reconhecer o rosto";
-"Colorize Tips" = "Dicas de Colorir";
-"Clear outline black-and-white photos" = "Fotos em preto e branco com contornos nítidos";
-"Colorful or Severely damaged photos" = "Fotos coloridas ou severamente danificadas";
-"Descratch Tips" = "Dicas do Descratch";
-"Scratched and Damaged photos
-" = "Fotos arranhadas e danificadas";
-"High-resolution, Not damaged, and Clear photos" = "Fotos de alta resolução, sem danos e nítidas";
-"Upload Photo" = "Carregar foto";
-"Enhance Photo" = "Melhorar foto";
-"Colorize Photo" = "Colorir foto";
-"Descratch Photo" = "Descratch Photo";
-"Enlighten Photo" = "Iluminar Foto";
-"Recreate Photo" = "Recriar foto";
-"You haven't saved the photo yet. Are you sure to quit?" = "Você ainda não salvou a foto. Tem certeza de que deseja sair?";
-"Quit" = "Desistir";
-"Save" = "Salvar";
-"As you leave, your task will be interrupted and no result." = "Ao sair, sua tarefa será interrompida e não haverá resultado.";
-"Leave" = "Deixar";
-"Wait" = "Espere";
-"Processing" = "Processamento";
-"Uploading Photo" = "Carregando foto";
-"Process successfully" = "Processar com sucesso";
-"Save Successfully" = "Salvar com sucesso";
-"1 task is processing" = "1 tarefa está sendo processada";
-"~ %d mins" = "~ %d minutos";
-"Lots of people are processing images right now, so this might take a bit." = "Muitas pessoas estão processando imagens agora, então isso pode demorar um pouco.";
-"Home" = "Lar";
-"Result" = "Resultado";
-"Are you sure to delete?" = "Tem certeza de que deseja excluir?";
-"Retain" = "Reter";
-"Delete" = "Excluir";
-"Delete this error history?" = "Excluir este histórico de erros?";
-"Due Date:" = "Duas datas:";
-"Share us" = "Compartilhe conosco";
-"Rate us" = "Avalie-nos";
-"User Agreement" = "Contrato do Usuário";
-"Privacy Policy" = "política de Privacidade";
-"About us" = "Sobre nós";
-"Lifetime" = "Vida";
-"Congratulation you have become VIP" = "Parabéns você se tornou VIP";
-"Finish" = "Terminar";
-"Restoring now" = "Restaurando agora";
-"Couldn't Restore Subscription" = "Não foi possível restaurar a assinatura";
-"Getting price" = "Obtendo preço";
-"Failed to get the price, will automatically retry in 5 seconds" = "Não foi possível obter o preço. Tentaremos novamente automaticamente em 5 segundos.";
-"Failed to restore subscribe, please try again" = "Falha ao restaurar a assinatura, tente novamente";
-"Verifying receipt..." = "Verificando o recebimento...";
-"Failed to validate receipt" = "Falha ao validar o recebimento";
+

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

@@ -57,7 +57,7 @@
 "Allow us to access to upload photos to process and save processed photos to your device." = "Permita que acessemos para carregar fotos para processar e salvar fotos processadas no seu dispositivo.";
 "Add Color to Memories" = "Adicione cor às memórias";
 "Your photo is now vibrantly colorized, bringing memories to life" = "Sua foto agora está com cores vibrantes, dando vida às memórias";
-"%d%" = "%d%";
+"%d%" = "%d%%";
 "Erase Scratches" = "Apagar arranhões";
 "Scratches and blemishes have vanished" = "Arranhões e manchas desapareceram";
 "Make photos clearer" = "Deixe as fotos mais nítidas";
@@ -144,3 +144,6 @@
 "Failed to restore subscribe, please try again" = "Falha ao restaurar a assinatura, tente novamente";
 "Verifying receipt..." = "Verificando o recebimento...";
 "Failed to validate receipt" = "Falha ao validar o recebimento";
+
+"Change Language" = "Alterar idioma";
+"Unlock Result" = "Resultado de desbloqueio";

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

@@ -150,3 +150,6 @@
 "Select the unwanted area and remove them easily" = "選擇不需要的區域並輕鬆刪除它們";
 "Remove Objects" = "移除對象";
 "Remove" = "消除";
+
+"Change Language" = "更改語言";
+"Unlock Result" = "解鎖結果";