2017-06-19 100 views
0

我遇到以下問題。Gradle中的本地化資源變量

我知道我們可以在這樣的gradle這個文件創建資源:

resValue「串」,「APP_ID」,「程序hello_world」

但是否有可能以本地化此字符串在不同的語言從gradle文件內?

+1

我不知道它是支持開箱即用的。你爲什麼需要它?爲什麼不能通過使用原生Android l10n來實現這一點? –

回答

-1

最後我設法只是在gradle.properties創建不同的變量,要做到這一點,並在strings.xml中引用它們

例子:

Gradle.properties:

APP_NAME="HelloWorld" APP_NAME_ES="HolaMundo"

build.gradle

resValue 'string', 'APP_NAME', APP_NAME resValue 'string', 'APP_NAME_ES', APP_NAME_ES

的strings.xml(英文)

<string name="app_name">@string/APP_NAME</string>

strings_es.xml(英文)

<string name="app_name">@string/APP_NAME_ES</string>

+0

這是一個不好的解決方案。 Gradle沒有提供l10n的功能,但Android框架沒有。因此,沒有辦法將您的解決方案應用於大量語言,而無需爲每個語言重複這三個步驟。此外,您沒有顯示任何使用Gradle獲取l10n資源值的理由。 –

1

默認情況下不支持。嘗試在本地化文件夾中添加字符串或使用風格/尺寸。

1

Gradle Android插件不支持添加本地化資源。您可以查看plugin documentation及其在ProductFlavor課程中的參考,瞭解更多詳情和所有方法的概述。

但是,您可以編輯您的問題以解釋需要此功能的場景。 resValue方法主要用於根據構建添加簡單資源,例如,將內部版本號插入應用程序的部分。