From 85455ab21c7ceb55d43bc1d59bb054480133ae7b Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sun, 19 Feb 2023 19:34:42 +0600 Subject: [PATCH] improvements in language codes --- CHANGELOG.md | 4 ++++ language_codes/build.gradle | 8 ++++++++ language_codes/src/jvmMain/kotlin/Locale.kt | 8 ++++++++ 3 files changed, 20 insertions(+) create mode 100644 language_codes/src/jvmMain/kotlin/Locale.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 85681f4e8d9..cbb0ce5fa10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 0.16.11 +* `LanguageCodes`: + * In android and JVM targets now available `toJavaLocale` and from Java `Locale` conversations from/to + `IetfLanguageCode` + ## 0.16.10 * `Repos`: diff --git a/language_codes/build.gradle b/language_codes/build.gradle index 7c54502f100..a582807c4c6 100644 --- a/language_codes/build.gradle +++ b/language_codes/build.gradle @@ -5,3 +5,11 @@ plugins { } apply from: "$mppProjectWithSerializationPresetPath" + +kotlin { + sourceSets { + jvmMain { + dependsOn androidMain + } + } +} diff --git a/language_codes/src/jvmMain/kotlin/Locale.kt b/language_codes/src/jvmMain/kotlin/Locale.kt new file mode 100644 index 00000000000..5f361402f2c --- /dev/null +++ b/language_codes/src/jvmMain/kotlin/Locale.kt @@ -0,0 +1,8 @@ +package dev.inmo.micro_utils.language_codes + +import java.util.Locale + +fun IetfLanguageCode.toJavaLocale(): Locale = Locale.forLanguageTag(code) +fun IetfLanguageCode?.toJavaLocaleOrDefault(): Locale = this ?.toJavaLocale() ?: Locale.getDefault() + +fun Locale.toIetfLanguageCode(): IetfLanguageCode = IetfLanguageCode(toLanguageTag())