mirror of
https://github.com/InsanusMokrassar/docs.git
synced 2024-06-03 00:05:12 +00:00
1.4 KiB
1.4 KiB
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"
) {
IetfLang.German variant lazy "Beispiel für eine Standardzeichenkette"
}
}
In this case, you will be able to use it with next logic:
Translation.someVariable.translation(IetfLang.French) // "Sample default string" as default one
Translation.someVariable.translation(IetfLang.German) // "Beispiel für eine Standardzeichenkette" as available variant
Translation.someVariable.translation(IetfLang.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:
val context: Context = // context retrieving
context.translation(Translation.someVariable)
Additional opportunities on JVM platform
On JVM platform you usually may use Locale.getDefault()
to get Locale
object and pass it to translation
extension:
Translation.someVariable.translation(Locale.getDefault())
Translation.someVariable.translation() // Locale.getDefault() hidden