package Ġcom . tech nok rat os . compose . localization Ċ Ċ import Ġjava . util . Locale Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . compose . foundation . Canvas Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . height Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . required Height Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . foundation . lazy . items Ċ import Ġandroidx . compose . foundation . remember Scroll State Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . derived State Of Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . tech nok rat os . compose . localization . ui . Sample Theme Ċ import Ġcom . tech nok rat os . compose . localization . ui . bye Ċ import Ġcom . tech nok rat os . compose . localization . ui . hello Ċ import Ġcom . tech nok rat os . compose . localization . ui . locales Header Ċ import Ġcom . tech nok rat os . compose . localization . ui . non Trans Ċ import Ġcom . tech nok rat os . compose . localization . ui . plural Ċ import Ġcom . tech nok rat os . compose . localization . ui . supported Locales Now Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Content ( null ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMy App Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLanguage Chooser ( onClick Ġ= Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . height ( 8 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExamples ( modifier Ġ= ĠModifier . weight ( 1 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠMy App ( content : Ġ@ Composable Ġ(( Locale ) Ġ-> ĠUnit ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠSample Theme Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlocale Ġby Ġremember Ġ{ Ġmutable State Of ( Locale . getDefault ()) Ġ} ĊĠĠĠĠĠĠĠ ĠLocalization ( locale Ġ= Ġlocale ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSurface ( modifier Ġ= ĠModifier . fill MaxSize (), Ġcolor Ġ= ĠMaterial Theme . colors . background ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocale Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ fun ĠDefault Preview () Ġ{ ĊĠĠĠ ĠMy App Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLanguage Chooser ( modifier Ġ= ĠModifier . weight ( 1 f )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . height ( 8 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExamples ( modifier Ġ= ĠModifier . weight ( 0 . 3 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠLanguage Chooser ( modifier : ĠModifier Ġ= ĠModifier , ĠonClick : Ġ( Locale ) Ġ-> ĠUnit Ġ= Ġ{}) Ġ{ ĊĠĠĠ Ġval Ġlocales Ġby Ġremember Ġ{ Ġderived State Of Ġ{ Ġsupported Locales Now Ġ} Ġ} ĊĠĠĠ Ġval Ġlocalization Ġ= ĠV ocab ulary . localization ĊĠĠĠ Ġremember Scroll State ( 0 ) ĊĠĠĠ ĠLazy Column ( modifier Ġ= Ġmodifier . fill Max Width ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġuse Ġ` item ` Ġfor Ġseparate Ġelements Ġlike Ġheaders ĊĠĠĠĠĠĠĠ Ġ// Ġand Ġ` items ` Ġfor Ġlists Ġof Ġidentical Ġelements ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( modifier Ġ= ĠModifier . padding ( 8 . dp )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġlocalization . locales Header (), Ġstyle Ġ= ĠMaterial Theme . typography . h 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitems ( locales . toList ()) Ġ{ Ġlocale Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbackground Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( locale Ġ== Ġlocalization . locale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . Green . copy ( alpha Ġ= Ġ 0 . 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Theme . colors . surface ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSurface ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( onClick Ġ= Ġ{ ĠonClick ( locale ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( background ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 8 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . Transparent ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġlocale . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 6 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠExamples ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĠĠĠ Ġval Ġlocalization Ġ= ĠV ocab ulary . localization ĊĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 8 . dp ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġlocalization . hello (), Ġstyle Ġ= ĠMaterial Theme . typography . h 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġlocalization . bye (), Ġstyle Ġ= ĠMaterial Theme . typography . h 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġlocalization . non Trans (). format ( 2 0 , Ġ 9 ), Ġstyle Ġ= ĠMaterial Theme . typography . h 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= ĠModifier . fill Max Width ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Pl urals ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCanvas ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. required Height ( 1 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Draw Ġ= Ġ{ Ġdraw Rect ( color Ġ= ĠColor . Black ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġitems ( array Of ( 0 . 0 , Ġ 0 . 5 , Ġ 1 . 0 , Ġ 8 1 . 0 , Ġ 2 . 0 , Ġ 1 0 . 0 , Ġ 1 1 . 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġ"$ it Ġ${ localization . plural ( it )} ", Ġstyle Ġ= ĠMaterial Theme . typography . h 5 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }