Who Needs Rosetta Stone?
Learn Spanish and Have Fun, the Dynamics CRM 4.0 Way
| Recently I had the privilege to conduct a Dynamics CRM 4.0 training session in Mexico City for an enterprise client of mine. I’ve never learned Spanish, and my son Jack’s fluency in the language didn’t help me much in my new attempt; apparently his inherited instructor gene is recessive. I’d intended to buy Rosetta Stone to do a crash course, but never quite got around to it.So, I decided to kill two birds with one stone, and learn as much Spanish as I could with Dynamics CRM 4.0.la bienvenida a las trickbag! aquí está mi historia. (welcome to the trick bag! here’s my story) | In a recent article I mentioned how I’d learned from an add-on called “CoreMotives” what a large % of the Trick Bag’s visitors are from outside the US. More on CoreMotives in a separate piece; for now, here’s another internationally themed article. And just like currencies, you should definitely understand how language packs work if you’re going to take the Customization and Configuration exam! |
Dynamics CRM 4.0 Language Packs – Multi-Lingual Out of the Box
Dynamics CRM 4 supports multiple languages almost out of the box with what we call “language packs”. A CRM 4.0 deployment has a base language baked into its license key, but you can drop a language pack on top of your base language and give users the ability to toggle the CRM user interface back and forth between the base language and any language added with a language pack. Language packs are free (they don’t do you much good without Dynamics CRM 4.0!), and you can download them from here: http://www.microsoft.com/downloads/details.aspx?FamilyId=50761E58-6040-4CF3-853A-F5AB535F7194&displaylang=en
To turn one on, follow these steps. (one language at a time, I’ll use Spanish for my example):
- 1. Download the language pack onto your CRM server machine.
- 2. Run the setup program. The file name of the Spanish language pack setup program is MUISetup_3082_i386.msi. The “3082″ part identifies Spanish as the language (English is 1033 in case you wondered.) Just double-click it and everything else is automatic.
- 3. After installing the language pack on the server it needs to be “enabled” from within CRM. Assuming you’ve got sufficient privileges (like the System Administrator security role), click Settings, Administration, then Languages. You should see the language you installed available for selection in the list. “Enable” it for your users by selecting the checkbox, and clicking Apply. (it takes a few minutes to enable the language, so plan ahead and make sure you have something productive to do at this point, such as visiting www.lulu.com/richardknudson and purchasing a fresh copy of my book on CRM 4.0 workflows) Here’s what the Language Settings dialog looks like with Spanish enabled:

That’s pretty much all you need to do, as long as you’re using the web client. (the Outlook client requires a little more work – more on that in a separate article).
Now, any user can go to their Personal Options (Tools, Options, then click on the Languages tab) and select either the base language or the newly available language for their “User Interface Language” or their “Help Language”. (more discussion later on that distinction between the UI and help languages.)
This is a personal option, remember, so once a language pack is enabled, all users have the option of toggling back and forth between languages. Here’s what the languages tab looks like:

Immediately after selecting the language in personal options, the entire out of the box CRM UI switches to the selected language. Here’s what the web client looks like in Spanish, with the Ventas are of the site map selected:

One of the primary limitations of this method of learning a foreign language is that you develop a somewhat limited and very specific vocabulary. For example, here’s a more or less complete list of the nouns I know in Spanish, and their English equivalents:
| Contactos | Contacts |
| Cuentas | Accounts |
| Clientas potenciales | Leads |
| Opportunidades | Opportunities |
| Ofertas | Quotes |
| Pedidos | Orders |
| Facturas | Invoices |
| Casos | Cases |
| Competidores | Competitors |
| Productos | Products |
| Docmentacion de ventas | Sales Literature |
| Knowledge Base | Knowledge Base |
| Contractos | Contracts |
I also learned a relatively limited number of interesting adverbs (nouns that describe verbs):
| Tarea | Task |
| Fax | Fax |
| Llamada de telefono | Phone Call |
| Correo electronico | |
| Carta | Letter |
| Cita | Appointment |
| Actividad de servicio | Service activity |
| Respuesta de campana | Campaign response |
With just a little more study, I reasoned my way to a wider vocabulary. Here are just a few examples:
- When you make a nuevo ofertas and click Guardar , it has an Estado of Borrador.
- Both Campanas and Campanas expres can have respuesta de campanas. Both can also have activadades de la campana, but campanas expres can only have uno of those.
- Trabajo means “work”, and flujos means “flow”.
How fun is this?
On a more serious note, one of the really cool things about the out of the box experience is the nice job the CRM team did at translating the standard CRM reports. One of my favorite examples of this is in the reports for transaction entities such as Ofertas, Pedidos and Facturas (quotes, orders, invoices). From the standard forms for these entities you can run a nice report the takes very little (sometimes none) customization to share with clients. These translate 100% with the out of the box language packs. Here’s an example of what it looks like when you open a Pedidos forma and select Pedido from the Informes pull-down menu:

Handy Tools for Translating Custom Entities
You might wonder how custom entities get translated. If I create a custom entity called “Event”, how will the out of the box Spanish language pack translate it? The answer is, it won’t. All customizations must be performed in the base language (in my example, English), and if I have custom entities and toggle the UI into Spanish, my custom entities will still display in English. So if that’s as far as I go, I (and all my users) will have a mixed language experience.
There’s no magic AI tool that will translate everything for you, but if you have a translator, you can use the Export Labels for Translation and Import Labels for Translation utilities to make the translator’s job quite easy. Here’s an example to show how these work:
- 1. I created a custom entity called “Event”. (Remember, as I mentioned above, all customizations must be created in the base language; this means that if your base language is English, you cannot directly create the custom entity in Spanish)
- 2. I exported the labels for translation (click Settings, Customization, Export Labels…). This creates a zipped up XML file with the default name of CRMCustomizations.zip. I unzipped this and used Excel to edit the Excel-editable xml file it conveniently creates. Here’s what it looks like:

- 3. In the figure I’ve selected the “localized labels” tab, which contains the things that need to be translated. The labels in column c are the base language labels, which by definition won’t be empty. So all you need to do is locate the empty rows in column d (the Spanish labels in my example). These will be the non-translated labels for your custom entities, so all you have to do is fill them in, save, import the file back in, and publish. Presto – when I toggle to Spanish now, my Evento forma looks like this:

Notice that not only the more obvious labels (form display labels, say) can be translated, but also things like pick-list values. In the xml translation file, there was an empty column next to the “Other” value for Locacion de Evento, so I cleverly added “Otro” there.
Granted, I only had one custom entity to translate for this example. During my flight to Mexico City I was seated next to a high-school girl from Berwyn and she graciously helped me with my translations. It only took about ten minutes; a more rigorous approach would of course require allocating some time & budget for a real translator, but the important point is that the translation effort doesn’t require any CRM knowledge.



Jaun Millalonco Said,
July 1, 2009 @ 12:26 pm
Excellent YouTube post ! thanks for sharing. I’ll be adding your blog to my reader.
Juan
Francisco Said,
October 30, 2009 @ 12:27 pm
Hi Richard,
Nice experience with spanish language, hah.
Next time you’re in Mexico, please fell free to contact me, i can assist you with the translations, hehe.
By the way, you’ve saved my life with your tricks for report writer, that counter trick is very effective!!
regards.
Richard Knudson Said,
November 2, 2009 @ 5:35 am
Thanks Francisco. Sorry — I mean, gracias! Glad you like the counter trick; I use it all the time. I hope we don’t have to resort to a trick like that in the next version, though!
Richard