iOS和国际化 - 一个AppStore包中的所有文件?

时间:2013-02-08 19:33:47

标签: ios xcode internationalization app-store

我有一个关于国际化的问题,但是谷歌搜索失败了,所以我决定在这里问一下。

我正在编写一个包含大量重量资源(图片和电影剪辑)的应用。此外,我需要以多种语言版本创建应用程序。我的首要任务是保持包的大小尽可能低,因为我不希望用户被迫下载包含所有可能的语言版本资源的包。一种解决方案是创建N个项目,每个项目都包含特定语言的资源。它有一个主要缺点 - 维护起来会困难得多。

我的问题是:如果我使用Apple的本地化应用程序的方式(即我将有几个.lproj文件夹),特定国家/地区的AppStore是否只下载特定语言所需的资源?如果不是,如何在不制作N个项目的情况下实现它?

2 个答案:

答案 0 :(得分:2)

App Store不会根据用户App Store位置转储剩余的资源文件。语言和区域设置在设备上确定;用户可以轻松地在设备上切换语言,并使用支持该语言的应用程序,而无需重新下载。

至于在不创建N个项目的情况下这样做的方法有多种:

  • 您可以在线托管您的图片和视频片段,设备会根据设备语言确定要访问的图像和视频片段。有了这个,您可以按需下载(但应用程序需要持续的网络访问),或者在第一次运行应用程序时下载所有必需的文件(如果设备上的语言发生变化,则重新下载,这不是常)

  • 这对于图像更多,但您可以为图像添加两个组件。背景,其中不包含特定于语言的内容,以及包含特定于语言的内容的叠加层。所有语言的背景将保持不变,并且可以基于语言应用适当的叠加。如果叠加层只是文本,那么所有这些叠加层的大小将比使用整个图像时的大小要小得多。

否则,您将需要使用N个项目。我不喜欢这个想法,因为将来维护会很痛苦,但有时如果你的应用程序媒体很重,可能需要它。

答案 1 :(得分:0)

简而言之:每个人都能得到一切。

所有用户都将 - 无论App Store国家/地区 - 下载整个应用程序 - 包括该应用程序可用的所有语言的所有资源。

您可能居住在丹麦,但在您的设备上更喜欢英语或德语。因此,为丹麦人提供丹麦本地化是没有意义的。你可能也是一个住在德国的意大利人。