As the accepted answer stated there is not official way to do that ,
But since you wanted a firebase solution here is a universal library that does just that [Telereso][1] , it also controls images .
add to build.gradle
```groovy
// At your root build.gradle
allprojects {
repositories {
// add JitPack repository
maven { url 'https://jitpack.io' }
jcenter()
google()
}
}
// At your app build.gradle
implementation("io.telereso:telereso:1.0.1-alpha")
```
Init
```kotlin
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Telereso.init(this)
}
}
```
It support globally changing strings out of the box by adding this to styles
```xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/style_color_primary</item>
<item name="colorPrimaryDark">@color/style_color_primary_dark</item>
<item name="colorAccent">@color/style_color_accent</item>
<item name="colorControlHighlight">@color/fab_color_pressed</item>
<item name="viewInflaterClass">io.telereso.android.RemoteViewInflater</item>
</style>
```
Or scoped changes like so
```kotlin
var text = Telereso.getRemoteString(R.strings.title) // if remote not found, R.string.tile will be used
```
[1]: https://telereso.io
As the accepted answer stated there is not official way to do that ,
But since you wanted a firebase solution here is a universal library that does just that [Telereso][1] , it also controls images .
add to build.gradle
```groovy
// At your root build.gradle
allprojects {
repositories {
// add JitPack repository
maven { url 'https://jitpack.io' }
jcenter()
google()
}
}
// At your app build.gradle
implementation("io.telereso:telereso:1.0.1-alpha")
```
Init
```kotlin
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
Telereso.init(this)
}
}
```
It support globally changing strings out of the box by adding this to styles
```xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/style_color_primary</item>
<item name="colorPrimaryDark">@color/style_color_primary_dark</item>
<item name="colorAccent">@color/style_color_accent</item>
<item name="colorControlHighlight">@color/fab_color_pressed</item>
<item name="viewInflaterClass">io.telereso.android.RemoteViewInflater</item>
</style>
```
Or scoped changes like so
```kotlin
var text = Telereso.getRemoteString(R.strings.title) // if remote not found, R.string.tile will be used
```
[1]: https://telereso.io