object ĠP ig Latin Ġ{ ĊĊĠĠĠ Ġfun Ġtranslate ( phrase : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġval Ġwords Ġ= Ġphrase . split (' Ġ') ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( index , Ġword ) Ġin Ġwords . with Index ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( begin sWith V owel ( word )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( word ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcon son ants Ġ= Ġget Con son ants ( word ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( word . remove Prefix ( con son ants )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( con son ants ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (" ay ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ!= Ġwords . count () Ġ- Ġ 1 ) Ġsb . append (" Ġ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbegin sWith V owel ( phrase : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv ow els Ġ= ĠarrayOf (' a ', Ġ' e ', Ġ' i ', Ġ' o ', Ġ' u ') ĊĠĠĠĠĠĠĠ Ġreturn Ġ Ġphrase [ 0 ]. toLowerCase () Ġin Ġv ow els Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( phrase [ 0 ]. toLowerCase () Ġ== Ġ' x ' Ġ&& Ġphrase [ 1 ]. toLowerCase () Ġ== Ġ' r ') Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( phrase [ 0 ]. toLowerCase () Ġ== Ġ' y ' Ġ&& Ġphrase [ 1 ]. toLowerCase () Ġ== Ġ' t ') ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Con son ants ( phrase : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv ow els Ġ= Ġchar ArrayOf (' a ', Ġ' e ', Ġ' i ', Ġ' o ', Ġ' u ', Ġ' y ') ĊĠĠĠĠĠĠĠ Ġval Ġfirst V owel Ġ= Ġphrase . toLowerCase (). indexOf First Ġ{ Ġit Ġin Ġv ow els Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( first V owel Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġphrase ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( first V owel Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġphrase [ 0 ]. toString () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( phrase [ first V owel ]. toLowerCase () Ġ== Ġ' u ' Ġ&& Ġphrase [ first V owel Ġ- Ġ 1 ]. toLowerCase () Ġ== Ġ' q '){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġphrase . substring ( 0 , Ġfirst V owel Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġphrase . substring ( 0 , Ġfirst V owel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ