gpt4 book ai didi

android - 使用 "resValue"本地化通过 build.gradle 添加的字符串资源

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:30 24 4
gpt4 key购买 nike

这是对我在 this post 上帮助我的答案的延续

我们可以在build.gradle中添加如下字符串资源:

productFlavors {
main{
resValue "string", "app_name", "InTouch Messenger"
}

googlePlay{
resValue "string", "app_name", "InTouch Messenger: GPE Edition"
}
}

它就像一个魅力,服务于为每种风格使用不同的应用程序名称的目的。 (原始 app_name 字符串资源已从 strings.xml 文件中删除。

但是,我们如何为从 build.gradle 添加的字符串资源添加本地化字符串?

我们是否可以传递一个额外的参数来指定语言环境?可以使用 gradle 任务来完成吗?

注意:我无法使用 strings.xml 执行此操作(由于我的项目结构有多种方式,所以不可行)

最佳答案

不过,我关于生成的资源的其他答案对您的用例来说可能有点矫枉过正。根据我目前对您项目的了解,我认为这个项目更合适:(并不是说你仍然可以将它与生成的资源结合起来)

src/flavor1/res/values/strings.xml

<string name="app_name_base">InTouch Messenger"</string>
<string name="app_name_gpe">InTouch Messenger: GPE Edition"</string>

src/flavor1/res/values-hu/strings.xml

<string name="app_name_base">InTouch Üzenetküldő"</string>
<string name="app_name_gpe">InTouch Üzenetküldő: GPE Változat"</string>

src/flavor2/res/values/strings.xml

<string name="app_name_base">Whatever Messenger"</string>
<string name="app_name_gpe">Whatever Messenger: GPE Edition"</string>

src/flavor2/res/values-hu/strings.xml`

<string name="app_name_base">Whatever Üzenetküldő"</string>
<string name="app_name_gpe">Whatever Üzenetküldő: GPE Változat"</string>

构建.gradle

android {
sourceSets {
[flavor1, flavor3].each {
it.res.srcDirs = ['src/flavor1/res']
}
[flavor2, flavor4].each {
it.res.srcDirs = ['src/flavor2/res']
}
}
productFlavors { // notice the different numbers than sourceSets
[flavor1, flavor2].each {
it.resValue "string", "app_name", "@string/app_name_base"
}
[flavor3, flavor4].each {
it.resValue "string", "app_name", "@string/app_name_gpe"
}
}
}

这意味着 flavor1/2 将有一个额外的未使用的 app_name_gpe 字符串资源,但这将由 aapt 处理:

android {
buildTypes {
release {
shrinkResources true // http://tools.android.com/tech-docs/new-build-system/resource-shrinking
}

关于android - 使用 "resValue"本地化通过 build.gradle 添加的字符串资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36105494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com