是否有可能在Xcode和Swift中为不同语言本地化图像资产?
相同的图像名称,但语言文件夹不同。
或者如果不可能的话,你能提出一个办法吗?
发布于 2019-02-06 18:55:53
在Assets.xcassets中本地化资产显然是不可能的,因为Xcode文件检查器没有显示本地化选项。
但是,可以使用以下内容来本地化要加载的图像文件的名称
let img = UIImage.init(named: NSLocalizedString("LOCALIZATION_KEYWORD", comment:"")) 发布于 2019-06-14 10:39:42
XCode 10不支持图像定位。
好消息是,在Xcode 11中具有此特性。
发布于 2019-09-26 09:46:47
Xcode 10还有另一种方法。
将主图片添加到图像资产(如英文“图片1”)中,并添加其他图片(如德语名为"Picture 1_de“)。
只需在任何.swift文件中添加扩展名:
extension String {
func localized(bundle: Bundle = .main, tableName: String = "Localizable") -> String {
return NSLocalizedString(self, tableName: tableName, value: "**\(self)**", comment: "")
}
}在ViewController文件中添加:
let btnImage = UIImage(named: "Picture 1.jpg".localized())如果你还没有Localizable.strings文件,那就做一个吧。当您添加一种新语言(在我们的例子中是德语)时,您将有一个新的文件Localizable.strings(德语)。
然后简单地添加到这个文件中:
"Picture 1.jpg" = "Picture 1_de.jpg";https://stackoverflow.com/questions/54560383
复制相似问题