I'm in the process of setting up forms to replace many current forms on our site. Each form has to be translated into at least 5 different languages so I'm trying to handle that with Sanford's translation code referenced on this thread: https://nation.marketo.com/message/94034#comment-94034
It's working great but I'm stumped on how to add additional fields to the translation map:
https://www.m-files.com/en/marketo-test-form
<div id="translateMap"><span style="display: none;">
{
"en": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Home"
}
},
"fr": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Bonjour"
}
}
}
</span></div>
Any ideas on how I can get the full form setup in this map?
Solved! Go to Solution.
Each language is an object, and each field name is a property of that object (and is also an object itself).
So you extend it like so:
{
"en": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Home"
},
"FirstName": {
"placeholder": "First"
}
},
"fr": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Bonjour"
},
"FirstName": {
"placeholder": "Prénom"
}
}
}
The admittedly strange thing about this format, which I wouldn't do again but apparently was lazy about a couple of years ago, is that "submit" should've been a property right on the language. But it's not, so you have to use it as shown.
Please use the Advanced Editor's syntax highlighter in future when posting code:
Each language is an object, and each field name is a property of that object (and is also an object itself).
So you extend it like so:
{
"en": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Home"
},
"FirstName": {
"placeholder": "First"
}
},
"fr": {
"LastName": {
"placeholder": "Testing-Name",
"submit": "Go Bonjour"
},
"FirstName": {
"placeholder": "Prénom"
}
}
}
The admittedly strange thing about this format, which I wouldn't do again but apparently was lazy about a couple of years ago, is that "submit" should've been a property right on the language. But it's not, so you have to use it as shown.
Please use the Advanced Editor's syntax highlighter in future when posting code:
Thanks Sanford! I tried something similar but when I add in what you sent, it stops working altogether: https://www.m-files.com/en/marketo-test-form (code is hidden in the privacy policy text)
That's why I was getting completely stumped why it would work for one field but not multiple.
Nevermind! I missed a curly bracket at the very end. Amazing how one character can make all the difference!
Thanks for your help!
Some of my fields are drop downs and I would like to also translate the drop down options as well.
Do you mind posting an example of the json for when you the field is a drop down with the drop down options?
Thanks for posting this solution, this has all been very helpful so far.
Thanks for those links.
I got everything working except for one thing. Have you found a way to translate the Submit Button?
Thanks again for all the help.
For that you need to patch the core (top-level) parts of the form descriptor. I added demo code to the same CodePen.
Hi @SanfordWhiteman,
Hi,