iOS 国际化与下载的图像

标签 ios internationalization

我正在 iOS 上构建一个国际化的应用程序,该应用程序应该从服务器下载一些图像(比如 01.png、02.png、03.png、04.png,其中 01 和 03 是英文版本2张图片,02和04为2张图片的中文版)。 我知道如何在本地设置国际化(将两个文件命名为相同的名称,并将一个文件放入 en.lproj 文件夹,另一个放入 zh-Hant.lproj 文件夹)。

我只是想知道是否有更好的方法以编程方式执行此操作?

或者我必须以编程方式从服务器下载 -> 将文件放入他们的语言依赖服务器 -> 重命名?

附言我无法控制服务器,因此无法从服务器重命名文件。这些图像文件在 iOS 和 Android 设备之间共享。 (我知道 Android 会在文件名后附加语言和分辨率特定文本)

最佳答案

您需要自行管理这些文件的下载和使用。标准本地化系统基于作为主包一部分的资源。您(一般来说)有 2 个选择:

  1. 下载单个文件,为它们命名并将它们存储在缓存文件夹中(可能不是文档文件夹,因为此内容不需要备份),根据需要通过引用适当的名称自行加载。<
  2. 下载准备好的包,其中包含您要用于本地化应用的字符串和图像。结合使用 NSLocalizedStringFromTableInBundle 和类似于 imageNamed: 的自定义实现(在整个应用中),这样您就可以从指定的包中获取资源。

您需要在主 bundle 中的内容和您的额外存储空间之间进行调解。

关于iOS 国际化与下载的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19205148/

相关文章:

ios - 应用程序进入后台中断的 UIView 动画的状态是什么?

ios - 在 iOS 应用程序和 Python 桌面应用程序之间进行通信

ruby-on-rails - 在rails国际化yml文件中传递变量

iphone - 在 IOS 中使用 native 控件进行本地化

regex - 电子邮件正则表达式将如何处理新的 unicode 域?

ios - UISearchController 在 iOS 13 上无法正常工作

ios - 将数据从 uitableview 传递到其他 uiview

ios - Google 登录集成问题

Java 国际化 - ISO ISO 3166-2(分割 - 例如省或州)或 UN/LOCODE - 库

python - 从 cx_oracle 游标检索时区感知日期时间对象的正确方法是什么?