0

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

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

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

4

2 回答 2

2

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

至于不创建N个项目的方法,有多种方法:

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

  • 这更适用于图像,但图像可以有两个组件。不包含特定语言内容的背景和包含特定语言内容的叠加层。所有语言的背景都将保持不变,并且可以根据语言应用适当的叠加层。如果覆盖只是文本,那么所有这些覆盖的大小将比使用整个图像时小得多。

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

于 2013-02-08T19:43:07.720 回答
0

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

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

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

于 2013-02-08T19:42:18.317 回答