Attention: The Marketo Community will undergo scheduled maintenance on Tuesday, August 20th between 10-11 PM PDT. During this time, the Community and its content will not be accessible. We apologize for any inconvenience this may cause.
Hi
First time form creator
I have created a form in French and I now need to update the error messages for my required fields and the submit button to be in French. Can someone please provide me with direction on how to accomplish this task.
Thanks for your help.
Jason
Solved! Go to Solution.
Edit the form -> Form Settings -> Locale. And you can also go into the individual fields to overwrite the error message.
this is super simple. You just need to select localize French (under form settings) and if you don't like the way Marketo has translated French, you can customize on a field basis. Basically select field and update label and error message / instructions
All the above will work, of course, but they permanently change the locale of a form.
Many companies work with leads with different preferred languages (obviously!). Ideally, such companies would not maintain multiple forms solely for localization. (It's already hard to maintain too many forms even without localization, thus the "global form" concept!)
If you do business in multiple languages, the goal (IMO) should be to temporarily localize a form based on the preferred language of the lead. A cool solution uses the Forms 2.0 API and advanced form setup.
First, create a rich text area on the form that stores all your translations, like this. This allows all the languages to travel with the form (you could easily maintain the translations in a separate JavaScript file, but let's look at the all-in-one method for now).
Then, whenever you render the form -- you'll see in my demo that I'm using an embedded form, and as you know anything that works in embedded mode works in LP mode as well -- you use some standard JS to check the current language and translate field labels/placeholders/validation text appropriately. The code block is the exactly the same for every form (it could also be saved to its own file to include with <SCRIPT src=...>).
For example, here you see a single Marketo form rendered differently by passing en-US (English-US) or fr-FR (French-France) as a query param:
I have about 30 forms globally, which are actually only 3 forms (events, downloads, contact). And each one in 10 languages.
But there are other options, as you can access the form fields through the API (check developers documentation). You could create a dictionary with translations. And overwrite the default English.
Hi, I think I started to reply on "Ideally, such companies would not maintain multiple forms solely for localization. (It's already hard to maintain too many forms even without localization, thus the "global form" concept!)". Then mentioning I do have it set up in that way. Probably got distracted and hit submit before reading the rest of your comment. Not my brightest morning 😉
Ah, that explains it!
Well, feel free to try my method if you're even interested...
Sanford, we are rolling out a new website this fall. We would like to have one embedded Contact Us form on the new site, instead of the 20 we have for all the different languages on the old site. Do you have a more detailed outline of how to accomplish this?
In your response above, I understand how to create the rich text area for translations. I am a little confused about the next step though. What do you mean by "you use some standard JS to check the current language and translate field labels/placeholders/validation text appropriately."? Would the JS live on the page that the form is embedded or within the form? Just looking for a little guidance on how to speak with my development team about this.
(Answered in your DM, but also noted in the last section here: https://blog.teknkl.com/smoothing-embedded-marketo-form-loads/)