I just realised that I never had this working properly, and I track the problem all the way back to the gnulib manual. In the line:
echo "$gettext_dir/" \
should that not rather be "@gettext_dir@"? If not, then where does gettext_dir get its value? It's not mentioned previously in the example script, and it's not mentioned in relocatable.sh.in, as far as I can see.