Resources¶
Package: dev.inmo:micro_utils.resources
This package aimed to make some multiplatform support for resources of your application. As for now, there is only support for strings. Sample:
object Translations {
val someVariable = buildStringResource(
"Sample default string"
) {
IetfLanguageCode.German variant lazy "Beispiel für eine Standardzeichenkette"
}
}
In this case, you will be able to use it with next logic:
Translation.someVariable.translation(IetfLanguageCode.French) // "Sample default string" as default one
Translation.someVariable.translation(IetfLanguageCode.German) // "Beispiel für eine Standardzeichenkette" as available variant
Translation.someVariable.translation(IetfLanguageCode.German.DE) // "Beispiel für eine Standardzeichenkette" as available parent variant
Additional opportunities on Android platform¶
On Android you may use Configuration
(as well as Resources
or Context
) to get translation for current locale. For
example:
Additional opportunities on JVM platform¶
On JVM platform you usually may use Locale.getDefault()
to get Locale
object and pass it to translation
extension: