FlexLingo

April 05, 2008

FlexLingo is checked in

I blogged about FlexLingo the other day and I just wanted to mention that I checked in all the code to google code.

The demo is here with source code enabled. You’ll have to check out the google code project  to get to the flexlingo.swc source code. I haven't documented much of the code, or any of it, and there are a few issues with doing translations this way. As a developer you still need to tie in how you want to store the translations once they are done because you obviously don’t want to hit the google language api every time one of your users needs a translations. I’m also not happy with the bindings that display the strings. It’s too much work, and if you check the code out you’ll see what I mean. I was having trouble with binding through a function. If you have any questions feel free to comment here or email me.

 

Brian..

April 03, 2008

FlexLingo : open source run time language translations.

I’m just about ready to release a set of open source tools for flex runtime translations but wanted to gauge interest in the community for a set of tools.

The idea of runtime translations is something new to the flex community although within the Internet at large, users have been able to translate entire pages for sometime now. There are obviously a completely different set of problems with runtime translations in flex and so my goal has been to build tools to help build, translate, save, load, translations. But also to provide tools for apps to be translated on the fly if there was a case that needs it be. I’m using the Google Language Api to do the translation and the as3corelib to handle JSON responses from google.

FlexlingoScreenCapture

 

A working example can be found here.  The code will be available on googlecode real soon and I’ll make an announcement about it via my blog. If there are any flex developers interested and want to get involved with an open source project  let me know.

 

 

 

 

 

 

 

September 18, 2007

Sweet Flex Translations 2 ( or meet flexlingo)

After having spent alot of time over the course of the last month working within the confines of the flex ResourceManager I decided to throw my hat into the language localization ring, toss out my never ending supply of property files and @ResourceManager(bundle=’hacked’, key=’up’) looking mxml code and try to come up with something more practical for application translation.

I know I blogged earlier on this, but I might’ve jumped the gun a bit with that post so this is an attempt to steer a bit back onto course with what I’m looking for. First, I want to point out that I’m not looking to replace the Resource Manager. I’m much more interested in just managing the language and formatting without having to actually do anything and so to define my practical implmentation I came up with the following ordered list:

1. Components should know what properties they show that can be translated.

2. Developers shouldn’t have to worry about implementing anything to actually perform the translation. ie. knowing what bundle and key they need for a label field. Nor should they have to compile different swf’s to implement different languages.

3. There needs to be a common way to collect, display, translate and save phrases that are a part of the interface. Which includes auto generating a key for the phrase. If you’ve ever dealt with localization you know that there’s just no good way to do this and that translations are usually done somewhere between dev and test.

4. Translation’s should be able to be saved within a database, xml, text, property files or whatever throws your hair back and floats your boat.

 

Now, this all sounds very simple. And indeed it should be, ultimately with language and formatting we’re just talking about strings. A compile time option to output these into a file that could be then imported into a database would be sweet. But doing the translation at runtime will work just as well. And I was slightly amazed at what I was able to get working.

So, meet flexlingo , ( srcview ). There’s no ResourceManager to deal with. You don’t have to know what key outputs what string. Look at the source code and you’ll see only clean looking mxml. I’ve identifed strings that host phrases that can be translateable and have my flexlingo manager collecting them. Anyways, I have more to work on before I release the code. I need to build some admin screens that developers can give translators acces to allow to translate the phrases within the app and allow devs to send it back to the db for storage. I also need to incorporate more components into it as well to make sure everything’s getting picked up properly.

 

p.s. And I apologize if my demo translations doesn’t actually make sense when translated. I used an online translator to get those phrases so I don’t actually know what the actual translations are.