package Ġcom . cy rus . language demo Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġcom . cy rus . language . Language Helper Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLanguage Helper . get Language ( this ) ĊĠĠĠĠĠĠĠ Ġval Ġsystem Locale Ġ= ĠLanguage Helper . getSystem Language () ĊĠĠĠĠĠĠĠ Ġval Ġsystem Resources Ġ= ĠLanguage Helper . getResources By Locale ( this , Ġsystem Locale ) ĊĠĠĠĠĠĠĠ Ġval Ġzh Resources Ġ= ĠLanguage Helper . getResources By Locale ( this , ĠLocale . SIMP LI FIED _ CH INE SE ) ĊĠĠĠĠĠĠĠ Ġval Ġzh Tw Resources Ġ= ĠLanguage Helper . getResources By Locale ( this , ĠLocale . TR AD ITION AL _ CH INE SE ) ĊĠĠĠĠĠĠĠ Ġval Ġen Resources Ġ= ĠLanguage Helper . getResources By Locale ( this , ĠLocale . EN GL ISH ) ĊĊĠĠĠĠĠĠĠ Ġbtn Auto . text Ġ= Ġsystem Resources . getString ( R . string . system _ auto ) ĊĠĠĠĠĠĠĠ Ġbtn Zh . text Ġ= Ġzh Resources . getString ( R . string . simpl ified _ chinese ) ĊĠĠĠĠĠĠĠ Ġbtn Zh Tw . text Ġ= Ġzh Tw Resources . getString ( R . string . trad itional _ chinese ) ĊĠĠĠĠĠĠĠ Ġbtn En . text Ġ= Ġen Resources . getString ( R . string . english ) ĊĠĠĠĠĠĠĠ Ġtv Current . text Ġ= ĠgetString ( R . string . current _ language _ xx , Ġget DisplayName ( locale )) ĊĠĠĠĠĠĠĠ Ġtv System . text Ġ= Ġsystem Resources . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . system _ language _ xx , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget DisplayName ( system Locale ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġbtn Auto . setOnClickListener Ġ{ Ġauto Language () Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Zh . setOnClickListener Ġ{ Ġupdate Language ( Locale . SIMP LI FIED _ CH INE SE ) Ġ} ĊĠĠĠĠĠĠĠ Ġbtn Zh Tw . setOnClickListener Ġ{ Ġupdate Language ( Locale . TR AD ITION AL _ CH INE SE ) Ġ} ĊĠĠĠĠĠĠĠ Ġbtn En . setOnClickListener Ġ{ Ġupdate Language ( Locale . EN GL ISH ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget DisplayName ( locale : ĠLocale ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocale ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Language Ġ= Ġit . getDisplay Language ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdisplay Country Ġ= Ġit . getDisplay Country ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( display Country . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ display Language ($ display Country )" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Language ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauto Language () Ġ{ ĊĠĠĠĠĠĠĠ ĠLanguage Helper . auto Language ( this ) ĊĠĠĠĠĠĠĠ Ġrecreate Activity () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Language ( locale : ĠLocale ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLanguage Helper . update Language ( this , Ġlocale ) ĊĠĠĠĠĠĠĠ Ġrecreate Activity () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrecreate Activity () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ } ĊĊ