0

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

我只是想知道有没有更好的方法来以编程方式做到这一点?

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

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

4

1 回答 1

1

您需要自己管理这些文件的下载和使用。标准本地化系统基于作为主捆绑包一部分的资源。您(广义上)有两个选择:

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

您需要在主捆绑包中的内容和附加存储之间进行调解。

于 2013-10-06T11:21:32.820 回答