The Improved Caesar Pig Latin Cipher
Ruby, 96 69 bytes



-&gt;s{/^[^aeiou]/=~(r=s.tr'zb-yadehinotu','b-zefijopuva')?$'+$&amp;+'ay':r}


Try it online!

Fun fact of the day: tr() matches strings right-to-left. I always assumed it was left-to-right.