add resources docs

This commit is contained in:
InsanusMokrassar 2023-12-15 03:34:35 +06:00
parent 83c095af8f
commit cc49dca724
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,44 @@
# 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:
```kotlin
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:
```kotlin
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:
```kotlin
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:
```kotlin
Translation.someVariable.translation(Locale.getDefault())
Translation.someVariable.translation() // Locale.getDefault() hidden
```

View File

@ -10,6 +10,7 @@ nav:
- Home: 'index.md'
- 'MicroUtils':
- 'micro_utils/index.md'
- 'micro_utils/resources.md'
- 'Telegram Bot API':
- 'tgbotapi/index.md'
- KDocs: 'https://tgbotapi.inmo.dev'