Flipper Flopper Machine Translation

Microsoft are piloting a program for translating MSDN articles using machine translation. Called Flipper Flopper it offers a choice of 1 of 6 languages in which to view a .NET Framework 3 or Vista MSDN article in both English and a machine translated equivalent in your chosen target language. Machine translation is hardly ever perfect and occasionally it is awful to the point of amusing but this step by Microsoft shows that there is enough belief in making a credible attempt at this to give it a try. Based on my limited ability it certainly looks like the machine translator in question has done as reasonable a job as you could expect using today’s technology.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, March 05, 2007 at 9:18 PM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Kwintessential Internationalization Resources

In Appendix B of .NET Internationalization I provide a number of information resources for the internationalization world. The world is always changing and I keep a list of updates here. Normally I just add new items to this list without any mention but I came across one site recently that I felt deserved a mention: http://www.kwintessential.co.uk. Kwintessential provide language and cultural services so naturally the site is driving towards using their services. That said there are still a number of free resources on the site that are worth a look:-

Country Profiles:-
http://www.kwintessential.co.uk/resources/country-profiles.html

Free online translator:-
http://www.kwintessential.co.uk/translation/free/online-language-translation.php

Online Test: How Culturally Aware Are you ?
http://www.kwintessential.co.uk/resources/culture-tests.html

The Country Profiles are interesting as they delve into etiquette and local customs. The Online Test tests your cultural knowledge and is equally fascinating - I’m not aware of any other such free test available online.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, February 26, 2007 at 9:28 PM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Localizing MaskedTextBox Masks

The System.Windows.Forms.MaskedTextBox class has a property called Mask that represents the input mask for the text box. This mask is clearly specific to a culture. This entry discusses this property, its associated property editor and the localized masks provider by this property editor.

Click on the MaskedTextBox.Mask property in the Properties Window in Visual Studio and then click on the ellipses in the property and you will most likely see the following Input Mask dialog:-


The dialog represents a collection of example masks for the CurrentCulture ("English (United States)" in this example). The dialog itself is dependant upon the current culture and therefore it is determined by the setting in the Regional and Language Options dialog. You can, for example, see the Spanish examples by closing Visual Studio, setting the culture to Spanish (Spain), restarting Visual Studio and opening the dialog again:-


The number of examples is specific to the culture so if you open the dialog for German (Germany) you will see just 4 entries:-

Unfortunately this list is hard coded and there is no way to extend or customize the list. The examples are hard coded in the internal MaskDescriptorTemplate class. The possible values are shown here:-

en-US DescriptionsEnglish / InvariantArabicGermanFrenchItalianSpanishJapaneseChinese SimplifiedChinese TraditionalKorean
Numeric (5-digits)00000n/an/a9999999999999999999999999n/a99999
Phone Number(999)000-0000(999)000-0000n/a00 00 00 00 00 000000 00000(999)000-000099900-9990-0000(900)9000-0000(00)9000-0000(999)9000-0000
Phone Number no Area Code000-0000000-0000n/an/an/an/an/a9000-0000n/a9000-0000
Short Date00 /00 /000000 /00 /000000/00/000000/00/000000/00/000000/00/00000000/00/000000-00-000000/00/000000-00-00
Short date and time (US)00 /00 /0000 00:0000 /00 /0000 00:0000/00/0000 00:0000/00/0000 00:0000/00/0000 00:0000/00/0000 00:000000/00/00 00:00:000000-00-00 90:00:000000/00/00 00:00:000000-00-00 90:00
Social Security Number000-00-0000000-00-0000n/a0 00 00 00 000 000 00n/a000-00-0000n/an/an/a000000-0000000
Time (US)90:0090:0090:0000:0000:0000:0090:0090:0090:0090:00
Time (European/Military)00:0000:00n/an/an/an/an/an/an/an/a
Zip Code00000-9999n/a00000000000000000000000-000000000099000000-000

Italian, Spanish, Japanese, Chinese (Simplified and Traditional) and Korean have additional formats for cell phone numbers. Japanese has additional date/time formats for the Japanese calendar. Chinese (Simplified and Traditional) has additional date/time formats and identity card formats. Korean has additional date/time formats.

The English formats are used for Engl

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Wednesday, November 15, 2006 at 11:09 PM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Real Time Speech Translation

Want to speak Spanish or German but can’t be bothered to spend the time learning the language ? Look no further. Researchers at the Carnegie Mellon University in the United States have developed a device that detects movements in the neck and face when words are mouthed. The device detects the sounds that would be made if the words were actually spoken instead of mouthed, translates them into the target language and uses a voice synthesizer to say the translated words. The effect is that it can look like you are speaking another language (although in reality it looks like a dubbed movie).

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Monday, November 13, 2006 at 10:14 PM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

WizTom Delivers What MAT Didn’t

You might have heard of a tool called the Microsoft Application Translator (MAT) from Microsoft which was announced in May 2004. The tool was never released but the idea was that it would localize a Windows executable on the fly. MAT consisted of an editable database of translations and an engine to intercept windows before they were displayed and change their text to a localized version. The benefit was that you didn’t need to have access to the application’s source in order to localize the application.

If this idea interests you then you might like to be aware of the WizArt product range including WizTom For Windows and WizTom For .NET that deliver the same promise offerred by MAT. WizArt products suffer the same limitations as MAT including the fact that only the text is localizable - the application remains unaware in globalization terms (e.g. date/time, number and currency formats are unaffected). Naturally I would point out that there is no substitute for internationalizing software correctly from the ground up but if you don’t have access to the source then this is at least a partial solution.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Thursday, September 14, 2006 at 1:00 AM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Why Can’t I Use My Own Calendar Classes In Custom Cultures ?

In Tuesday’s webcast on Custom Cultures I was asked a very interesting questions about creating a Hindi Calendar for use with a custom culture. My answer was a bit misleading because I was focussing on the problem of how to create a calendar which had quite different rules to most other calendars and I forgot the simple truth which is that you can’t use custom calendars in custom cultures. Here’s why.

The Problem


It is possible to create your own Calendar classes by inheriting from the Calendar class and then implementing all of the Calendar classes’ abstract members. The problem is that when you attempt to assign this new Calendar to the DateTimeFormatInfo.Calendar property an InvalidOperationException is thrown:-

DateTimeFormatInfo dateTimeFormatInfo = new DateTimeFormatInfo();

dateTimeFormatInfo.Calendar = new NewCalendar();

The InvalidOperationException message is "Cannot set sub-classed Globalization.NewCalendar object to System.Globalization.DateTimeFormatInfo object.".

The Explanation


The DateTimeFormatInfo.Calendar property setter block includes a "domain safety check". This check tests that the Calendar object being assigned to the Calendar property comes from the same assembly as the System.Globalization.CultureInfo class (i.e. mscorlib.dll). So if your new Calendar class does not originate from mscorlib.dll then an exception will be thrown. The problem is that only Microsoft can make changes to mscorlib.dll. Consequently there is no way that your new Calendar class can be used with DateTimeFormatInfo objects and therefore no way that you can use your own Calendar classes in custom cultures.

As an aside you might consider assigning the new Calendar object to the CultureAndRegionInfoBuilder.AvailableCalendars property:-

builder.AvailableCalendars = new Calendar[] { new NewCalendar() };

This assignment results in a NotSupportedException with the message "Custom calendars are not currently supported.". The message gives a clear indication that this feature is not yet available in the .NET Framework 2.0 but that it might become available at some future date.

Currently rated 4.5 by 2 people

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Saturday, July 15, 2006 at 1:00 AM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed

Ding Dong The Witch Is Dead

The 11th July 2006 saw the end of Microsoft’s support for Windows 98, 98SE and ME. Putting all other arguments aside, in internationalization terms this is wonderful news. This means that there are no more non-Unicode desktop versions of Windows that are officially supported. All that effort that goes into supporting these inadequate operating systems can go away and we can hence forth focus solely on Unicode for delivering internationalized applications. Yesterday was indeed a happy day.

For more information see:-

http://blogs.pcworld.com/techlog/archives/002357.html

http://news.bbc.co.uk/1/hi/technology/5164450.stm

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: Guy Smith-Ferrier
Posted on: Wednesday, July 12, 2006 at 1:00 AM
Categories: Internationalization
Actions: E-mail | Kick it! | DZone it! | del.icio.us
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed