57 lines
1.8 KiB
Swift
57 lines
1.8 KiB
Swift
//
|
|
// RoomKitLocalized.swift
|
|
// TUIRoomKit
|
|
//
|
|
// Created by WesleyLei on 2022/9/13.
|
|
// Copyright © 2022 Tencent. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
import TUICore
|
|
|
|
func localized(_ key: String) -> String {
|
|
if let bundlePath = tuiRoomKitBundle().path(forResource: TUIGlobalization.tk_localizableLanguageKey() ?? "", ofType: "lproj"),
|
|
let bundle = Bundle(path: bundlePath) {
|
|
return bundle.localizedString(forKey: key, value: "", table: "TUIRoomKitLocalized")
|
|
}
|
|
return TUIRoomKitLocalized.sharedBundle.localizedString(forKey: key, value: "", table: "TUIRoomKitLocalized")
|
|
}
|
|
|
|
func localizedReplace(_ origin: String, replace: String) -> String {
|
|
return origin.replacingOccurrences(of: "xx", with: replace)
|
|
}
|
|
|
|
func tuiRoomKitBundle() -> Bundle {
|
|
return TUIRoomKitLocalized.sharedBundle
|
|
}
|
|
|
|
private class TUIRoomKitLocalized {
|
|
class var sharedBundle: Bundle {
|
|
struct Static {
|
|
static let bundle: Bundle? = tuiRoomKitBundle()
|
|
}
|
|
guard let bundle = Static.bundle else {
|
|
return Bundle()
|
|
}
|
|
return bundle
|
|
}
|
|
}
|
|
|
|
private func tuiRoomKitBundle() -> Bundle? {
|
|
var url: NSURL? = Bundle.main.url(forResource: "TUIRoomKitBundle", withExtension: "bundle") as NSURL?
|
|
if let associateBundleURL = url {
|
|
return Bundle(url: associateBundleURL as URL)
|
|
}
|
|
url = Bundle.main.url(forResource: "Frameworks", withExtension: nil) as NSURL?
|
|
url = url?.appendingPathComponent("TUIRoomKit") as NSURL?
|
|
url = url?.appendingPathComponent("framework") as NSURL?
|
|
if let associateBundleURL = url {
|
|
let bundle = Bundle(url: associateBundleURL as URL)
|
|
url = bundle?.url(forResource: "TUIRoomKitBundle", withExtension: "bundle") as NSURL?
|
|
if let associateBundleURL = url {
|
|
return Bundle(url: associateBundleURL as URL)
|
|
}
|
|
}
|
|
return nil
|
|
}
|