首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 10中图像资产的本地化

Xcode 10中图像资产的本地化
EN

Stack Overflow用户
提问于 2019-02-06 18:36:21
回答 3查看 2.3K关注 0票数 1

是否有可能在Xcode和Swift中为不同语言本地化图像资产?

相同的图像名称,但语言文件夹不同。

或者如果不可能的话,你能提出一个办法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-06 18:55:53

在Assets.xcassets中本地化资产显然是不可能的,因为Xcode文件检查器没有显示本地化选项。

但是,可以使用以下内容来本地化要加载的图像文件的名称

代码语言:javascript
复制
let img = UIImage.init(named: NSLocalizedString("LOCALIZATION_KEYWORD", comment:""))  

请参阅here (in Obj-c)

票数 0
EN

Stack Overflow用户

发布于 2019-06-14 10:39:42

XCode 10不支持图像定位。

好消息是,在Xcode 11中具有此特性。

票数 1
EN

Stack Overflow用户

发布于 2019-09-26 09:46:47

Xcode 10还有另一种方法。

将主图片添加到图像资产(如英文“图片1”)中,并添加其他图片(如德语名为"Picture 1_de“)。

只需在任何.swift文件中添加扩展名:

代码语言:javascript
复制
extension String {

func localized(bundle: Bundle = .main, tableName: String = "Localizable") -> String {
    return NSLocalizedString(self, tableName: tableName, value: "**\(self)**", comment: "")
   }
}

在ViewController文件中添加:

代码语言:javascript
复制
let btnImage = UIImage(named: "Picture 1.jpg".localized())

如果你还没有Localizable.strings文件,那就做一个吧。当您添加一种新语言(在我们的例子中是德语)时,您将有一个新的文件Localizable.strings(德语)。

然后简单地添加到这个文件中:

代码语言:javascript
复制
"Picture 1.jpg" = "Picture 1_de.jpg";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54560383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档