// // StringExts.swift // XuXuCheck // // Created by henseycai on 2025/8/1. // import Foundation import CryptoKit /// code using CryptoKit https://stackoverflow.com/a/56578995/5893286 extension String { var md5: String { guard let data = data(using: .utf8) else { assertionFailure("something wrong with string: \(self)") return self } let digest = Insecure.MD5.hash(data: data) return digest.map { String(format: "%02hhx", $0) }.joined() } } //https://developer.apple.com/documentation/xcode/exporting-localizations/ //https://simplelocalize.io/docs/file-formats/localizable-xcstrings/ //following article tell me how to add : Lets translate a string holds Zero, singular and plural values. //https://medium.com/@muruganandhamkuppan/ios-localization-in-xcode-15-using-string-catalogs-ff5257a28506 //solution1 --> https://github.com/XcodesOrg/xcodes this is a latest solution supported by apple func localizeString(_ key: String, comment: String = "") -> String { return String(localized: String.LocalizationValue(key)) } //********* but, Applite project using default language as IOS system //Applite project is best solution //other solutions //project SwiftUIBlueprint using en.lproj files , this is a old solution //Example: //Text("Login.PasswordField.Title".localized) //extension String { // var localized: String { // return NSLocalizedString(self, comment: "") // } // func localized(arguments: CVarArg...) -> String { // return String(format: self.localized, arguments: arguments) // } //} //project OnlySwitch using same solution to SwiftUIBlueprint //public extension String { // func localized() -> String { // return NSLocalizedString(self, tableName: nil, bundle: Bundle.localizedBundle(), value: "", comment: "") // } // // func localizeWithFormat(arguments: CVarArg...) -> String{ // return String(format: self.localized(), arguments: arguments) // } //}