mirror of
				https://github.com/InsanusMokrassar/MicroUtils.git
				synced 2025-11-03 21:51:59 +00:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			0.26.7
			...
			renovate/k
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					2eafd8f288 | 
@@ -1,7 +1,5 @@
 | 
			
		||||
# Changelog
 | 
			
		||||
 | 
			
		||||
## 0.26.7
 | 
			
		||||
 | 
			
		||||
## 0.26.6
 | 
			
		||||
 | 
			
		||||
* `Versions`:
 | 
			
		||||
 
 | 
			
		||||
@@ -18,5 +18,5 @@ crypto_js_version=4.1.1
 | 
			
		||||
# Project data
 | 
			
		||||
 | 
			
		||||
group=dev.inmo
 | 
			
		||||
version=0.26.7
 | 
			
		||||
android_code_version=306
 | 
			
		||||
version=0.26.6
 | 
			
		||||
android_code_version=305
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
[versions]
 | 
			
		||||
 | 
			
		||||
kt = "2.2.20"
 | 
			
		||||
kt = "2.2.21"
 | 
			
		||||
kt-serialization = "1.9.0"
 | 
			
		||||
kt-coroutines = "1.10.2"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
expect val currentIetfLang: IetfLang?
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
import kotlinx.browser.window
 | 
			
		||||
 | 
			
		||||
actual val currentIetfLang: IetfLang?
 | 
			
		||||
    get() = window.navigator.language.unsafeCast<String?>() ?.let { IetfLang(it) }
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
import java.util.Locale
 | 
			
		||||
 | 
			
		||||
actual val currentIetfLang: IetfLang?
 | 
			
		||||
    get() = Locale.getDefault() ?.toIetfLang()
 | 
			
		||||
@@ -1,27 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import kotlinx.cinterop.ExperimentalForeignApi
 | 
			
		||||
import kotlinx.cinterop.allocArray
 | 
			
		||||
import kotlinx.cinterop.memScoped
 | 
			
		||||
import kotlinx.cinterop.toKString
 | 
			
		||||
import platform.posix.getenv
 | 
			
		||||
import platform.windows.GetUserDefaultLocaleName
 | 
			
		||||
import platform.windows.LOCALE_NAME_MAX_LENGTH
 | 
			
		||||
import platform.windows.WCHARVar
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalForeignApi::class)
 | 
			
		||||
actual val currentIetfLang: IetfLang?
 | 
			
		||||
    get() {
 | 
			
		||||
        val rawLocale = memScoped {
 | 
			
		||||
            val buffer = allocArray<WCHARVar>(LOCALE_NAME_MAX_LENGTH)
 | 
			
		||||
            val result = GetUserDefaultLocaleName(buffer, LOCALE_NAME_MAX_LENGTH)
 | 
			
		||||
 | 
			
		||||
            if (result > 0) {
 | 
			
		||||
                // Convert WCHAR* to String
 | 
			
		||||
                buffer.toKString()
 | 
			
		||||
            }
 | 
			
		||||
            "en-US" // fallback
 | 
			
		||||
        }
 | 
			
		||||
        return IetfLang(rawLocale)
 | 
			
		||||
    }
 | 
			
		||||
@@ -1,12 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
import kotlinx.cinterop.ExperimentalForeignApi
 | 
			
		||||
import kotlinx.cinterop.toKString
 | 
			
		||||
import platform.posix.getenv
 | 
			
		||||
 | 
			
		||||
@OptIn(ExperimentalForeignApi::class)
 | 
			
		||||
actual val currentIetfLang: IetfLang?
 | 
			
		||||
    get() {
 | 
			
		||||
        val localeStr = getenv("LANG") ?.toKString() ?.replace("_", "-") ?: "en-US"
 | 
			
		||||
        return IetfLang(localeStr)
 | 
			
		||||
    }
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.language_codes
 | 
			
		||||
 | 
			
		||||
external interface Navigator {
 | 
			
		||||
    val language: String
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
external val navigator: Navigator
 | 
			
		||||
 | 
			
		||||
actual val currentIetfLang: IetfLang?
 | 
			
		||||
    get() = IetfLang(navigator.language)
 | 
			
		||||
@@ -1,20 +0,0 @@
 | 
			
		||||
plugins {
 | 
			
		||||
    id "org.jetbrains.kotlin.multiplatform"
 | 
			
		||||
    id "org.jetbrains.kotlin.plugin.serialization"
 | 
			
		||||
    id "com.android.library"
 | 
			
		||||
    alias(libs.plugins.jb.compose)
 | 
			
		||||
    alias(libs.plugins.kt.jb.compose)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply from: "$mppComposeJvmJsWasmJsAndroidLinuxMingwLinuxArm64Project"
 | 
			
		||||
 | 
			
		||||
kotlin {
 | 
			
		||||
    sourceSets {
 | 
			
		||||
        commonMain {
 | 
			
		||||
            dependencies {
 | 
			
		||||
                api libs.kt.coroutines
 | 
			
		||||
                api project(":micro_utils.resources")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import android.os.Build
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.platform.LocalConfiguration
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.toIetfLang
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
actual fun getCurrentLocale(): IetfLang? {
 | 
			
		||||
    val configuration = LocalConfiguration.current
 | 
			
		||||
 | 
			
		||||
    val locale = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
 | 
			
		||||
        if (configuration.locales.isEmpty) {
 | 
			
		||||
            return null
 | 
			
		||||
        }
 | 
			
		||||
        configuration.locales.get(0)
 | 
			
		||||
    } else {
 | 
			
		||||
        @Suppress("DEPRECATION")
 | 
			
		||||
        configuration.locale
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return locale.toIetfLang()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
expect fun getCurrentLocale(): IetfLang?
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import dev.inmo.micro_utils.strings.StringResource
 | 
			
		||||
 | 
			
		||||
@Suppress("unused")
 | 
			
		||||
@Composable
 | 
			
		||||
fun StringResource.composeTranslation(): String {
 | 
			
		||||
    return translation(getCurrentLocale())
 | 
			
		||||
}
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.currentIetfLang
 | 
			
		||||
 | 
			
		||||
@androidx.compose.runtime.Composable
 | 
			
		||||
actual fun getCurrentLocale(): IetfLang? {
 | 
			
		||||
    return currentIetfLang
 | 
			
		||||
}
 | 
			
		||||
@@ -1,10 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import androidx.compose.ui.text.intl.Locale
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.currentIetfLang
 | 
			
		||||
 | 
			
		||||
@androidx.compose.runtime.Composable
 | 
			
		||||
actual fun getCurrentLocale(): IetfLang? {
 | 
			
		||||
    return currentIetfLang
 | 
			
		||||
}
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.currentIetfLang
 | 
			
		||||
 | 
			
		||||
@androidx.compose.runtime.Composable
 | 
			
		||||
actual fun getCurrentLocale(): IetfLang? {
 | 
			
		||||
    return currentIetfLang
 | 
			
		||||
}
 | 
			
		||||
@@ -1,9 +0,0 @@
 | 
			
		||||
package dev.inmo.micro_utils.resources.compose
 | 
			
		||||
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.IetfLang
 | 
			
		||||
import dev.inmo.micro_utils.language_codes.currentIetfLang
 | 
			
		||||
 | 
			
		||||
@androidx.compose.runtime.Composable
 | 
			
		||||
actual fun getCurrentLocale(): IetfLang? {
 | 
			
		||||
    return currentIetfLang
 | 
			
		||||
}
 | 
			
		||||
@@ -50,7 +50,6 @@ String[] includes = [
 | 
			
		||||
    ":colors:common",
 | 
			
		||||
 | 
			
		||||
    ":resources",
 | 
			
		||||
    ":resources:compose",
 | 
			
		||||
 | 
			
		||||
    ":fsm:common",
 | 
			
		||||
    ":fsm:repos:common",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user