package Ġcom . dic et ek . fire messaging . translator Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . dic et ek . fire messaging . R Ċ import Ġcom . dic et ek . fire messaging . utils . System Utils Ċ import Ġcom . google . ml kit . nl . translate . Translate Language Ċ import Ġcom . google . ml kit . nl . translate . Translation Ċ import Ġcom . google . ml kit . nl . translate . Translator Options Ċ Ċ class ĠAr Translation ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġenglish Ger man Translator Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠTranslation . getClient ( ĠTrans lator Options . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Source Language ( Translate Language . EN GL ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTarget Language ( Translate Language . AR AB IC ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġnetwork Status Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem Utils ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĊĊĠĠĠĠĠĠĠ Ġenglish Ger man Translator . download Model IfNeeded () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠModel Ġdownloaded Ġsuccessfully . ĠOkay Ġto Ġstart Ġtrans lating . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( Set Ġa Ġflag , Ġun hide Ġthe Ġtranslation ĠUI , Ġetc .) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener Ġ{ Ġexception Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠModel Ġcouldn âĢĻ t Ġbe Ġdownloaded Ġor Ġother Ġinternal Ġerror . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ... ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĊĠĠ Ġfun Ġ Ġget Translate ( text : String , lam : Ġ( String ?) Ġ-> Unit ){ ĊĊĠĠĠĠĠĠ Ġif ( network Status . is Network Connected ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠ Ġenglish Ger man Translator . translate ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ Ġtranslated Text Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlam ( translated Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlam ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠ Ġlam ( context . getString ( R . string . no _ internet )) ĊĠĠĠĠĠĠ Ġ} ĊĠĠ Ġ} Ċ }