Skip to content

ninenox/KotlinLocalization

Repository files navigation

KotlinLocalization

Android kotlin library for change ui language in android application on runtime.

Alt Text

Installation

On your module app build.gradle add

dependencies {
     implementation 'com.ninenox.kotlinlocalemanager:kotlin-locale-manager:1.0.0'
}

Getting Started

  1. Create class and extend ApplicationLocale.
class App : ApplicationLocale() {

}
  1. In AndroidManifest.xml
<application
        android:name=".App"
        ...
        />
  1. In folder res add new locale.
values-th
   - strings.xml
values-en
   - strings.xml
  1. In any Activity extend AppCompatActivityBase on it.
class MainActivity : AppCompatActivityBase() {

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        ...
        
    }
    
}
  1. Call funtion setNewLocale("...") for set current language and refresh UI.

setNewLocale(LocaleManager.LANGUAGE_ENGLISH) // ตัวอย่าง LocaleManager.LANGUAGE_ENGLISH, LocaleManager.LANGUAGE_THAI, ...

  1. Get current language code string. The value of language will be a lowercase language code such as "en" or "th", and it is recommended to access it via ApplicationLocale.localeManager?.language to use the locale manager that is shared throughout the app.
ApplicationLocale.localeManager?.language // "en"
  1. Get current Locale instance.

LocaleManager.getLocale(resources) will return the current Locale and can be used for country checks or locale-aware formatting.

val locale = LocaleManager.getLocale(resources)

if (locale.country == "TH") {
    // ประเทศไทย
}

val dateFormat = java.text.DateFormat.getDateInstance(java.text.DateFormat.SHORT, locale)
val formattedDate = dateFormat.format(java.util.Date())

Alt Text

About

Android kotlin library for change ui language in android application on runtime.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages