One more solution from Russian forum:

ClassMethod gluconatV2(xAs %String ProcedureBlock = 1 ]
{
 y="" i=1:1:$l(x){c=$e(x,i),a=$a(c)-97-(c]"r")-(c]"y"),z=c]" ",d=a\3+2*s:d=$e(y,*) y=y_" " j=0:1:a#3+("sz"[c)*y=y_dy
}

And one "extremum" version:

ClassMethod ToPhone( t, "(t){s s="" f i=1:1:$l(t) {f N=0:1:3 s n=$f(""adgjmptw "",$c($a($e(t,i))-N)) s:n n=n#10,s=s_$e("" "",s_-1[(n_-1))_$e(n_n_n_n,1,N+1),N=9} q s}"As %String CodeMode = expression ]
{
$xecute(a,t)
}