/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠI ce Rock ĠMAG ĠInc . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġdev . icer ock . mo ko . resources . desc Ċ Ċ import Ġplatform . Foundation . NS Bundle Ċ import Ġplatform . Foundation . NS Locale Ċ import Ġplatform . Foundation . current Locale Ċ import Ġplatform . Foundation . locale With Locale Identifier Ċ import Ġkotlin . native . concurrent . Thread Local Ċ Ċ actual Ġinterface ĠString Desc Ġ{ ĊĠĠĠ Ġfun Ġlocalized (): ĠString ĊĊĠĠĠ Ġactual Ġsealed Ġclass ĠLocale Type Ġ{ ĊĠĠĠĠĠĠĠ Ġactual Ġobject ĠSystem Ġ: ĠLocale Type () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġlocale : ĠNS Locale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠNS Locale . current Locale ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Locale Bundle ( root Bundle : ĠNS Bundle ): ĠNS Bundle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġroot Bundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġactual Ġclass ĠCustom Ġactual Ġconstructor ( locale : ĠString ) Ġ: ĠLocale Type () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale Path : ĠString Ġ= Ġlocale ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġlocale : ĠNS Locale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠNS Locale . locale With Locale Identifier ( locale Path ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Locale Bundle ( root Bundle : ĠNS Bundle ): ĠNS Bundle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġroot Bundle . path For Resource ( locale Path , Ġ" l proj ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠNS Bundle . bundle With Path ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġroot Bundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġget Locale Bundle ( root Bundle : ĠNS Bundle ): ĠNS Bundle ĊĠĠĠĠĠĠĠ Ġabstract Ġval Ġlocale : ĠNS Locale ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Thread Local ĊĠĠĠ Ġactual Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġactual Ġvar Ġlocale Type : ĠLocale Type Ġ= ĠLocale Type . System ĊĠĠĠ Ġ} Ċ }