All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.paoapps.fifi.domain.Language.kt Maven / Gradle / Ivy

Go to download

Kotlin Multiplatform Mobile framework for optimal code sharing between iOS and Android.

There is a newer version: 0.0.31
Show newest version
package com.paoapps.fifi.domain

import kotlinx.serialization.Serializable

@Serializable
data class Language(val languageCode: String, val countryCode: String? = null) {
    val acceptLanguageHeader: String get() = countryCode?.let { "$languageCode-$it" } ?: languageCode

    companion object {
        fun parse(acceptLanguageHeader: String?, fallbackLanguageCode: String): Language {
            if (acceptLanguageHeader == null) {
                return Language(fallbackLanguageCode)
            }
            val parts = acceptLanguageHeader.split('-')
            val languageCode = if (parts.size > 0) parts[0] else fallbackLanguageCode
            return Language(
                languageCode,
                if (parts.size > 1) parts[1] else null
            )
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy