4

如果我想上传我的 Android 应用程序以支持多种语言,我是否必须上传多个 .apk,每个都针对我想要支持的语言设计,或者我是否将它们全部实现到一个 .apk 文件中?

注意:我的应用程序是一个游戏,在 UI 中实际上并不包含任何字符串。UI 是使用 Photoshop 制作的,例如带有文本的按钮等。

如果我将所有语言打包到一个 .apk 文件中,我如何检查应用程序应该使用哪种语言?

更新:

我所有的图像都存储在我项目的资产文件夹中。我将如何本地化它们?

4

3 回答 3

7

不,您不需要创建多个 APK,只需使用本地化的单个 APK,请参阅此http://developer.android.com/training/basics/supporting-devices/languages.html 和此http://developer.android .com/guide/topics/resources/localization.html

于 2012-12-20T12:41:14.150 回答
0

在给出你的问题答案之前,我告诉你关于 android 中的多语言基本上在 android 应用程序中的区域工作意味着如果我在美国有设备 -> 安装一个应用程序 -> 一旦安装,如果应用程序是为多语言支持而开发的,那么它会自动呈现那些细绳。

-> 现在的问题是如何以多语言构建应用程序,您必须为您的应用程序支持的每种语言定义 string.xml。

--例如:res/values <= default --for西班牙语:res/values-es

--对于您的问题答案:如果您用静态方式定义图像,则它不起作用。

于 2012-12-20T12:46:29.877 回答
0

对于具有包含文本的图像的游戏,您可以使用与普通字符串相同的方法。

可以说,对于字符串,您将在下面有一个 strings.xml 文件

values-en
values-es
values-de
values-fr

然后对于您可以使用的图像(注意限定符优先级)

drawable-es-hdpi
drawable-en-hdpi
drawable-de-hdpi
drawable-fr-hdpi

但是,这将使您的应用程序更大。

我通常做的是使用背景以编程方式生成图像,然后在其上使用一些自定义字体渲染文本。即使图像是要在 3D 引擎上使用的纹理,它也可以正常工作,我相信这是一种更合理的方法。

于 2012-12-20T12:48:30.843 回答