package Ġcom . rus lan . hl ush an . core . language . code Ċ Ċ import Ġjava . util . Locale Ċ Ċ @ Jvm Inline Ċ value Ġclass ĠLang Non Full Code Ġprivate Ġconstructor ( val Ġcode : ĠString ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġfrom Locale ( locale : ĠLocale ): ĠLang Non Full Code ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate From ( code Ġ= Ġlocale . language ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate From ( code : ĠString ?): ĠLang Non Full Code ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( code . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLang Non Full Code ( code Ġ= Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠLang Non Full Code . toLocale (): ĠLocale Ġ= ĠLocale ( this . code ) Ċ Ċ data Ġclass ĠLang Full Code ( ĊĠĠĠĠĠĠĠ Ġval Ġnon Full Code : ĠLang Non Full Code , ĊĠĠĠĠĠĠĠ Ġval Ġcountry Code : ĠString Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġcreate From ( code : ĠString ?, Ġcountry Code : ĠString ?): ĠLang Full Code ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( country Code Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLang Non Full Code . createFrom ( code ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġnon Full Code Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLang Full Code ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnon Full Code Ġ= Ġnon Full Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcountry Code Ġ= Ġcountry Code ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val ĠLang Full Code . stringValue : ĠString ĊĠĠĠ Ġget () Ġ= Ġ( this . non Full Code . code Ġ+ Ġ"_" Ġ+ Ġthis . country Code )