在iOS中本地化图片和文本

最近,在使用该应用程序的最新功能Homefeed时,我们已经收到了要整合的资产,格式如下:(所有语言均已包含文本):

我们不开心。 我们应该如何使用这些? 检查当前的语言环境以及所有这些?

不,我们要的是没有文字的普通图片,因此我们可以自己添加一个本地化标签。 并得到他们。

更好。

但是,“本地化”图片的想法一直存在。

为了加载图片,我们只使用了Images.xcassets中的图像文件名传递给UIImage(named:String) 。一个字符串也可能来自NSLocalizedString

因此,如果我们在Localizable.string文件中有一个id ,则可以基于当前语言环境获得不同的图像文件名,系统会为我们完成此操作。 那很整齐。

现在我们可以这样称呼:

 让noImageFilename = NSLocalizedString(“ noimage.filename.id”,注释:“无图像文件名”)let noImage = UIImage(命名为:noImageFilename) 

瞧,有本地化的图片。

通常,要向UILabel添加本地化文本,需要编写类似以下内容的代码:

 让localizedText = NSLocalizedString(“ id.of.localized.string”,评论:“一些评论”)myLabel.text = localizedText 

我们可以在Interface Builder中设置UILabel的字符串,但是能够在IB中输入本地化的字符串而不用像上面那样编写代码不是很好吗?

实际上这是可能的:

 扩展UILabel {@IBInspectable var stringId:字符串{set(value){self.text = NSLocalizedString(value,comment:“”)} get {return“”}} 
}

在UILabel上添加上述扩展名后,便可以选择在IB中添加本地化字符串。 (使用Localizable.strings文件中的文本ID)

当不想支持额外的UI元素以支持更好的呈现时,这两种情况可能会受益。

希望它可以帮助某人。 谢谢阅读。