Currently, the Translator portlet and LangBuilder are using a translatorId which is taken from Bable Fish. However, the translatorId do not follow any standards. Specifically, traditional Chinese is represented as zt and simplified Chinese is represented as zh. This is a problem because
1) zt is not a ISO 639-1 language. It's an arbitrary code created by Bable Fish and could be problematic if a ISO-639-1 starts using zt for some language.
2) Bable Fish uses zh to represent simplified Chinese. However, zh is suppose to represent Chinese generically and not specifically simplified Chinese.
3) With the move to Microsoft Translator, simplified Chinese is now represented as zh-CHS and traditional Chinese is represented as zh-CHT. Both of these codes also do not follow any standard.
4) So we currently have the Translator portlet and LangBuilder using the old Bable Fish code and Microsoft expecting a different code.
To address this issue, we should refactor our code to use something that is more standard like zh_CN and zh_TW. After that provide a language look up method to covert it to the Microsoft Translator language id (zh-CHS and zh-CHT). This will also help if we have to switch to another language translation service that uses a different language id (e.g., ISO 639-3)