package Ġsamples Ċ Ċ import Ġkotlin ext . js .* Ċ import Ġkotlinx . browser .* Ċ import Ġkotlinx . html .* Ċ import Ġkotlinx . html . js .* Ċ import Ġreact .* Ċ import Ġreact . dom .* Ċ import Ġreact intl .* Ċ Ċ private Ġval Ġint l Messages Ġ= Ġrun Ġ{ ĊĠĠĠ Ġval Ġmessages Ġ= Ġjs Ġ{} ĊĊĠĠĠ Ġmessages [" en - US "] Ġ= Ġjs Ġ{ Ġselect language Ġ= Ġ" Select Ġa Ġlanguage " Ġ} ĊĠĠĠ Ġmessages [" pt - BR "] Ġ= Ġjs Ġ{ Ġselect language Ġ= Ġ" Se lecione Ġuma Ġl ing uage m " Ġ} ĊĊĠĠĠ Ġmessages Ċ }. unsafe Cast < Any >() ĊĊ Ċ private Ġconst Ġval Ġinitial Locale Ġ= Ġ" en - US " Ċ private Ġval Ġcache Ġ= Ġcreate Intl Cache () Ċ Ċ var Ġint l Ġ= Ġcreate Intl ( js Object Ġ{ ĊĠĠĠ Ġlocale Ġ= Ġinitial Locale ĊĠĠĠ Ġmessages Ġ= Ġint l Messages . as Dynamic ()[ initial Locale ]. unsafe Cast < Any >() Ċ }, Ġcache ) Ċ Ċ private Ġval Ġapp Ġ= Ġfunctional Component < R Props > Ġ{ ĊĠĠĠ Ġval Ġ( language , Ġset Language ) Ġ= ĠuseState ( initial Locale ) ĊĊĠĠĠ Ġval Ġchange Language Ġ= Ġfun ( new Locale : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġint l Ġ= Ġcreate Intl ( js Object Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocale Ġ= Ġnew Locale ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmessages Ġ= Ġint l Messages . as Dynamic ()[ new Locale ]. unsafe Cast < Any >() ĊĠĠĠĠĠĠĠ Ġ}, Ġcache ) ĊĊĠĠĠĠĠĠĠ Ġdocument . documentElement . as Dynamic ()[" lang "] Ġ= Ġnew Locale ĊĊĠĠĠĠĠĠĠ Ġset Language ( new Locale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġraw Intl Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġattrs . value Ġ= Ġint l ĊĠĠĠĠĠĠĠ Ġh 1 Ġ{ Ġ+ intl . format Message ( js Object Ġ{ Ġid Ġ= Ġ" select language " Ġ}) Ġ} ĊĠĠĠĠĠĠĠ Ġselect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" locale " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" locale " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġlanguage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonChange Function Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Language ( it . target . as Dynamic (). value Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObject . keys ( intl Messages ). map Ġ{ Ġlocale Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoption Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkey Ġ= Ġlocale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġlocale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ locale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠR Builder . handleChange () Ġ= Ġchild ( app ) Ċ