AndroidStudio:语言 xml 文件是否编译到 apk 中?
AndroidStudio: Are language xml files compiled into the apk?
根据 developer.android.com,要支持多种语言,我们应该为每种语言创建唯一的 xml 文件。他们的例子:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
假设单个语言 xml 文档可能有数百个字符串条目,将其中许多条目捆绑到应用程序中的想法似乎不必要地繁重。
语言 xml 文件是否编译成 .apk?
或者 Android 是否有另一个系统来提供所需的语言内容 (我是 android 生态圈的新手,所以我还不知道 Android OS 与上面的应用程序交互)。
通常对于网站,语言内容存储在数据库中,并 ajax- 根据需要检索。
默认情况下,是的。您拥有的所有 xml 个文件都打包到 APK 中。因此,当用户将默认语言从 "English" 更改为 "French" 时,您的应用程序中的语言也会更改,而无需重新下载 and/or 重新安装。
然而,可以发布多个仅包含某些捆绑包的 APK,并通过 Google Play 商店将它们发布给不同的人群。这通常对 Drawables 有好处,它可以占用很多 space,而这些 space 永远不会在下载它们的 phone 上使用。因此,例如,对于低分辨率屏幕来说,下载具有 XXHDPI 分辨率资产的应用程序是没有意义的。由于上述原因,语言通常不是一个好主意。
XML 文件捆绑到 APK 中。所以是的,所有语言文件都将与该应用程序一起安装。请参阅:https://en.wikipedia.org/wiki/Android_application_package(XML 文件位于 /res
目录中)。
除了提供包含已翻译字符串的 XML 文件外,我不知道还有另一种在应用程序中翻译文本的方法,正如您所见,这就是按照文件。所以不行,好像没有别的办法了。
但是,我有一个XML文件,里面有2400多字,文件只有90Kb左右,不算大。即使您要支持所有 16 种(或 18 种)"major" 种语言,也仍然只有 1.62 Mb。
就我个人而言,我认为这是为国际支持付出的小代价。更不用说 XML 文本文件的大小了。编译后的 XML 可以更小。
如果这个大小仍然是个问题,您可以在发布时提供几种语言,并可以选择下载更多语言,让用户指定他需要什么。
您还可以发布 separate APKs 并根据用户可能下载的位置设置语言。
根据 developer.android.com,要支持多种语言,我们应该为每种语言创建唯一的 xml 文件。他们的例子:
MyProject/
res/
values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
假设单个语言 xml 文档可能有数百个字符串条目,将其中许多条目捆绑到应用程序中的想法似乎不必要地繁重。
语言 xml 文件是否编译成 .apk?
或者 Android 是否有另一个系统来提供所需的语言内容 (我是 android 生态圈的新手,所以我还不知道 Android OS 与上面的应用程序交互)。
通常对于网站,语言内容存储在数据库中,并 ajax- 根据需要检索。
默认情况下,是的。您拥有的所有 xml 个文件都打包到 APK 中。因此,当用户将默认语言从 "English" 更改为 "French" 时,您的应用程序中的语言也会更改,而无需重新下载 and/or 重新安装。
然而,可以发布多个仅包含某些捆绑包的 APK,并通过 Google Play 商店将它们发布给不同的人群。这通常对 Drawables 有好处,它可以占用很多 space,而这些 space 永远不会在下载它们的 phone 上使用。因此,例如,对于低分辨率屏幕来说,下载具有 XXHDPI 分辨率资产的应用程序是没有意义的。由于上述原因,语言通常不是一个好主意。
XML 文件捆绑到 APK 中。所以是的,所有语言文件都将与该应用程序一起安装。请参阅:https://en.wikipedia.org/wiki/Android_application_package(XML 文件位于 /res
目录中)。
除了提供包含已翻译字符串的 XML 文件外,我不知道还有另一种在应用程序中翻译文本的方法,正如您所见,这就是按照文件。所以不行,好像没有别的办法了。
但是,我有一个XML文件,里面有2400多字,文件只有90Kb左右,不算大。即使您要支持所有 16 种(或 18 种)"major" 种语言,也仍然只有 1.62 Mb。
就我个人而言,我认为这是为国际支持付出的小代价。更不用说 XML 文本文件的大小了。编译后的 XML 可以更小。
如果这个大小仍然是个问题,您可以在发布时提供几种语言,并可以选择下载更多语言,让用户指定他需要什么。
您还可以发布 separate APKs 并根据用户可能下载的位置设置语言。