I have to report that I'm experiencing a similar issue with attempting to use the translate formula. However, the URL that I'm attempting to create is not one that would exist in any meta data.
My company is utilizing a form to submit transportation requests so that our transportation group knows when to take clients to appointments off-site. Once submitting the form, a workflow is initiated to automatically place this request on a SharePoint calendar and an e-mail sent to the transportation group.
All fine up to this point.
The transportation group then requested that we include driving directions in the e-mail so they know where they're going. I figure, what better way to do that than simply include a link to driving directions within Bing Maps. Here's the problem: e-mails generated by SharePoint workflows are in plain text format, so the instant that a URL includes a space, the hyperlink is interrupted and only includes the portion pre-space. So, essentially, when lookup the "Address" field (field that contains the destination address for the transportation group) for the e-mail, it would interrupt the hyperlink.
To remedy (so I thought) this problem, I created another field "AddressforURL" that would take the data put in the "Address" field and convert the spaces to %20. The problem that I am encountering is the exact same as the one that started this thread: When the translation is complete, it only includes the %, and not the 20 (example: "123 Somplace Street" should translate to "123%20Somplace%20Street," but instead translates to "123%Someplace%Street"). No good.
The formula that was used was: translate(Address, " ", "%20"). When that didn't work, I even went so far as to create another field URLSpace that had a default value of %20. Then the formula was translate(Address, " ", URLSpace). Same result.
Any ideas at all? This seems like a very, very strange problem.