Internationalization Flash/ActionScript Multilingual Website - Part 1
I’ve been seeing more and more multilingual Flash websites lately. Developing a multilingual website in Flash/ActionScript isn’t as easy as other web technologies. Flash introduces a number of challenges for internationalization. This article is to help with the planning of your site, so you can have a smooth development phase. This article is not just targeted to ActionScripters but also the people planning the project scope, copy writers and creative team. ActionScripters, do not be scared to send the other disciplines a link to this article. Sometimes they just need help seeing the light.
Flash doesn’t flow as smoothly as other web technologies when displaying content and copy. There is a lot of programming needed to make sure the alignment is correct for all cases.
Some general tips to make internationalization in Flash easier:
Internationalization Issues/Tips ActionScripters Should Be Aware Of:
Put all copy in an xml file
It is important to put all the sites copy in an XML file and load it dynamically so you do not need to make multiple versions of the fla.
When naming each xml file keep it consistent with the language ids.
In AS 2 we were allowed to easily read in the XML and assign the text to the text field using the text field’s var. They removed the var feature in AS 3 so you will have to assign the text field normally.
mcButton.txtCopy.text = “Hello World”;
Since AS 3 removed the var feature we need to make all the buttons, MovieClip instances. I like to create my own button class to handle setting the copy and the dynamic sizing.
Finding out the user's default language
From my experience from making many multilingual websites for product promotions they have external links to that products parent site relative to its native language. Be aware that each language may have different urls for these links. This is a small detail that gets over looked a lot when developing the flows. Have a list of the urls in an xml file and assign them as needed.
Be careful of legal copy issues
I have encountered many strange issues when doing internationalization for a website but one of the craziest issues was the special character TM. The thing is not all countries use TM for trademark. I learned the hard way that in France they use MC instead of TM. Not being aware of this minor detail made me have to scrabble to get the MC character embedded into my fonts (wasn’t easy) and had to change a number of static images to load dynamically.
I am sure their other examples similar to this that I have not came across yet. So be aware. Research it if you are not 100%. It will save you time in the long run.
Examples of Internationalized Flash Sites
Flash doesn’t flow as smoothly as other web technologies when displaying content and copy. There is a lot of programming needed to make sure the alignment is correct for all cases.
Some general tips to make internationalization in Flash easier:
- Use as little copy as possible
- Understand that COPY WILL NOT ALWAYS BE THE SAME LENGTH IN ALL LANGUAGES
- Use universal images and symbols instead of copy – for example use an image of an arrow for a go button instead of the word “go”. The word “go” may only be two characters in English but may be a lot more in other languages
- It is easier to change copy than code (late in the game) – for example, when a user sees a combo box full of cities they know they are supposed to select a city. So in case there isn’t enough room for the whole phrase “Wählen Sie eine Stadt” (select a city in german) change the copy to “Stadt”.
Internationalization Issues/Tips ActionScripters Should Be Aware Of:
Put all copy in an xml file
It is important to put all the sites copy in an XML file and load it dynamically so you do not need to make multiple versions of the fla.
When naming each xml file keep it consistent with the language ids.
- English (United States) – en_US
- English (United Kingdom) – en_UK
In AS 2 we were allowed to easily read in the XML and assign the text to the text field using the text field’s var. They removed the var feature in AS 3 so you will have to assign the text field normally.
mcButton.txtCopy.text = “Hello World”;
Since AS 3 removed the var feature we need to make all the buttons, MovieClip instances. I like to create my own button class to handle setting the copy and the dynamic sizing.
Finding out the user's default language
- Have a different URL for each language - Easiest but laziest
- Have an IP sniffer to determine where the user is located. This is a very popular technique but not my favorite. My major issue with this is what if a user is on vacation in another country and visits the website with their laptop. They will be stuck with the wrong language even when they make the trip back home because the language id should be stored as a Flash shared object.
- Have a language select at the very begginging of the site. I prefer this method because it is the easiest for the user to understand and will be the most accurate. Display a list of all the languages in their native tounge or with images of flags next to it.
Make sure to embed all fonts and special characters
List of special characters
If you have to make a multilingual website and some languages are not latin based, then it may be better to use device fonts. This will affect creative but it is better than embedding each non-latin alphabet. If you embed each character set you will drastically increase your file size.
Be aware of images with copy
You may run across issues if your images have copy on them. For example, if you are making a website that has a catalog of movie titles and each movie title is different depending on the language. In this case, make sure you load the images dynamically.
From my experience from making many multilingual websites for product promotions they have external links to that products parent site relative to its native language. Be aware that each language may have different urls for these links. This is a small detail that gets over looked a lot when developing the flows. Have a list of the urls in an xml file and assign them as needed.
Be careful of legal copy issues
I have encountered many strange issues when doing internationalization for a website but one of the craziest issues was the special character TM. The thing is not all countries use TM for trademark. I learned the hard way that in France they use MC instead of TM. Not being aware of this minor detail made me have to scrabble to get the MC character embedded into my fonts (wasn’t easy) and had to change a number of static images to load dynamically.
I am sure their other examples similar to this that I have not came across yet. So be aware. Research it if you are not 100%. It will save you time in the long run.
Examples of Internationalized Flash Sites




Great Blog. Internationalization in Flash is tricky. These are great things to be aware of.
Thanks
Reply to this
Internationalization is a pain. Nice article though. Prep is very important.
Reply to this
THEY NEED TO MAKE THIS EASIER IN FLASH. THIS IS ONE OF THE THINGS I DO NOT LIKE ABOUT FLASH. CAN YOU DO A POST ON HOW TO DO IT WITH THE CODE?
THANKS,
JERRY
Reply to this
I can't find the French Trademark...MC.
Need it for Illustrator. Anyone know where I can find it?
Reply to this