Android 拥有大量语言特定资源的多语言应用程序的最佳方法?

Android 拥有大量语言特定资源的多语言应用程序的最佳方法?,android,multilingual,Android,Multilingual,该应用程序是多语言(大约10种语言)的,它有许多多语言的音频文件。这使得它太大,无法成为一个应用程序,因为逻辑是一样的。所以我们决定将应用程序分为1个应用程序和1种语言 维护此类应用程序的最佳方法是什么?逻辑是一样的,但只有资源会改变。有10个独立的项目将是浪费时间 也许创建9个只包含特定语言数据的库项目 理想情况下,我可以进行更改,然后导出EN版本、ES版本、FR版本等。创建一个库项目,即逻辑项目 然后,使用每个语言创建一个项目,其中包含库项目 另一种形式是使用任何VCS,如GIT,并为每种语

该应用程序是多语言(大约10种语言)的,它有许多多语言的音频文件。这使得它太大,无法成为一个应用程序,因为逻辑是一样的。所以我们决定将应用程序分为1个应用程序和1种语言

维护此类应用程序的最佳方法是什么?逻辑是一样的,但只有资源会改变。有10个独立的项目将是浪费时间

也许创建9个只包含特定语言数据的库项目


理想情况下,我可以进行更改,然后导出EN版本、ES版本、FR版本等。

创建一个库项目,即逻辑项目

然后,使用每个语言创建一个项目,其中包含库项目

另一种形式是使用任何VCS,如GIT,并为每种语言创建分支

编辑:

图书馆项目:

如果逻辑是库项目,则可以直接从语言项目创建APK

但我不知道你们是否需要逻辑项目中的“虚拟文件”作为参考

SVC:

例如,您为英语创建了master(principal)分支。之后,创建一个新分支“西班牙语”。在这个分支中,您将按西班牙语文件重新嵌入英语文件


如果需要修改逻辑,请返回主分支,修改文件,更改为西班牙语分支并合并更改。合并只修改在master中更改的行并保存西班牙语文件。

创建一个库项目,即逻辑项目

然后,使用每个语言创建一个项目,其中包含库项目

另一种形式是使用任何VCS,如GIT,并为每种语言创建分支

编辑:

图书馆项目:

如果逻辑是库项目,则可以直接从语言项目创建APK

但我不知道你们是否需要逻辑项目中的“虚拟文件”作为参考

SVC:

例如,您为英语创建了master(principal)分支。之后,创建一个新分支“西班牙语”。在这个分支中,您将按西班牙语文件重新嵌入英语文件


如果需要修改逻辑,请返回主分支,修改文件,更改为西班牙语分支并合并更改。合并只修改主文件中更改的行并保留西班牙语文件。

也许您的最佳选择是将每个语言资源包作为单独的单元(压缩文件)进行下载。
因此,每个用户将下载应用程序,然后下载语言包(字符串、音频文件、图形、视频等)

理想情况下,您只需更新主应用程序。

然后是语言包-仅在需要时使用。

也许您最好的选择是将每个语言资源包作为一个单独的单元(压缩文件)进行下载。
因此,每个用户将下载应用程序,然后下载语言包(字符串、音频文件、图形、视频等)

理想情况下,您只需更新主应用程序。

然后语言包-只有在需要时才打包。

哦,你的意思是相反的,逻辑就是库。我没想过。此外,我从未考虑过GIT及其分支。你有什么想法?你能说得更具体些吗?只需编辑你的回复,比添加评论要好。哦,你的意思是相反的,逻辑是库。我没想过。此外,我从未考虑过GIT及其分支。你有什么想法?你能说得更具体些吗?只是编辑你的回复,比添加评论要好。是的,我考虑过这个。但这会带来额外的问题,比如存储位置和额外的编码。客户也不喜欢这种方法。然后你可以一次给所有的语言包(压缩),然后只解压缩他们选择的一个。但这并不能解决app+资源包的组合重量问题。是的,音频文件压缩不好。视频或图像也不好。。。只有字符串可以。但是这些可以以正常的方式分发(strings.xml在/res/values xy中)。但这会带来额外的问题,比如存储位置和额外的编码。客户也不喜欢这种方法。然后你可以一次给所有的语言包(压缩),然后只解压缩他们选择的一个。但这并不能解决app+资源包的组合重量问题。是的,音频文件压缩不好。视频或图像也不好。。。只有字符串可以。但是这些可以以正常的方式分发(strings.xml在/res/values xy中)。你想让你的应用离线吗?如果可能,将音频文件存储在服务器上,并提供指向音频文件的链接。您可以将链接存储在单独的文件夹中。@Vera应用程序将脱机。请尝试扩展包。你想让你的应用离线吗?如果可能,将音频文件存储在服务器上,并提供指向音频文件的链接。您可以将链接存储在单独的文件夹中。@Vera应用程序将脱机。请尝试扩展包。