The differences of three globalization packages in Flash platform

This article was originally written in English. Text in other languages was provided by machine translation.

Developers who are looking at the Flex SDK Hero releases noticed that we have three NumberFormatters (and other globalization-related classes) in the Flash Platform. If you’re wondering why, here’s the explanation.

The Flash platform has the following sets of globalization-related classes for different use cases.

  1. flash.globalization: Flash Player built-in
  2. mx.formatters: Flex SDK MX namespace
  3. spark.formatters/validators/globalization: Flex SDK Spark namespace

The flash.globalization package is implemented as native code in the Flash Player. As with other player classes such as Sprite, you link against playerglobal.swc or airglobal.swc to use it. This package is a recent addition to Flash Player. You need Flash Player 10.1 or AIR 2.0 (or newer versions of these) and a corresponding version of playerglobal.swc or airglobal.swc. They utilize the globalization features provided by the underlying operating system rather than using Flex’s ResourceManager. Therefore you can use any locale supported by the OS, not just the locales for which you built your application. However, these player APIs can produce different results on different platforms. For example, a Greek date might get formatted differently on Macintosh, Windows, Android, etc.

The second set of the globalization classes is provided by the Flex SDK and in the MX namespace. Actually, this MX set is the first globalization classes we provided in the Flash platform. The MX globalization classes provide some formatters for such as number, currency, date and so on. These classes use very limited locale information in the ResourceManager. If you want to do Greek formatting, you have to have Greek resource bundles (which Adobe doesn’t currently provide, although it does provide 16 other locales). Also, locale-aware collation and case conversion were not offered by these classes.

The third set of the globalization classes is also provided by the Flex SDK (beginning with version 4.5) and in the Spark namespace. This is our latest addition in terms of globalization classes. This set acts as glue between the flash.globalization features and the Flex SDK. This Flex Spark version has some advantage compared to the built-in Flash Player globalization features. In particular, they are about the compliance with the MXML syntax and the style inheritance. Those are indeed necessary to make the globalization feature as a part of the Flex SDK UI infrastructure.

Here is a summary comparing the three APIs:

Item Flash Player built-in globalization feature Flex  SDK MX globalization feature Flex SDK Spark globalization feature
Namespace flash.globalization mx.formatters and mx.validators spark.globalization, spark.formatters, spark.validators and others
Required minimum Flex SDK version N/A Flex 3 Flex 4.5
Required minimum Flash Player version Flash Player 10.1
AIR 2
Flash Player 9
AIR 1.1
Flash Player 10.1
AIR 2
Number formatter Yes Yes Yes
Currency formatter Yes Yes Yes
Date time formatter Yes Yes Yes
Number validator No Yes Yes
Currency validator No Yes Yes
Collator Yes No Yes
UI support N/A No

Yes

(DataGrid, Sort, SortField)

Supported locales Depends on underlying OS 16 Depends on underlying OS
Use in MXML No Yes Yes
Use in Script Yes Yes Yes
Locale style inheri­tance N/A No Yes

References

  • flash.globalization package document

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/globalization/package-detail.html

  • Flex SDK mx.formatters package document

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/formatters/package-detail.html

  • Flex SDK mx.validators package document

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/validators/package-detail.html

  • Flex SDK Hero (Beta) spark.globalization package document

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/globalization/package-detail.html

  • Flex SDK Hero (Beta) spark.formatters package document

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/formatters/package-detail.html

  • Flex SDK Hero (Beta) spark.validators package document (Not yet available as of the writing)

http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/spark/validators/package-detail.html

The Adobe Moses Corpus Tool – And Crossing That Bridge When You Come To It.

This article was originally written in English. Text in other languages was provided by machine translation.

Here is the scenario:

It’s the 1950’s.  You are at the head of an expedition in Nepal, and the brave leader of a dozen mountaineers plus a couple hundred porters all walking deep into the Himalayas in search of an unclimbed summit.  The risks of the journey are high but you will be showered in glory by your nation, ticker tape parade and everything, when you return home successful. Entering a deep valley you come upon a long and narrow rope bridge which the whole expedition will have to cross.  The bridge is too weak to hold more then one person at a time and it takes 5 minutes for each person to cross.

You can get the the first 12 climbers across in an hour.

(12 Climbers x 5 minutes each = 60 minutes) so 1 hour to cross.

But the very last porter won’t make it across until almost 2 days after the first climber starts out.

(200 Porters x 5 minutes each = 1000 minutes) or an additional 41.6 hours to cross!

You may not be getting that ticker tape parade after all.

 

The success of the entire expedition is a stake.   Valuable resources, food, tents, climbing gear, etc. are going to end up spread all up and down the trail with their respective porters.  This means they won’t be arriving at base camp when and where you need them.  This is not a good way to get started.

The bridge crossing metaphor used here is a textbook example of encountering the limiting factor in your process chain.  No matter how many resources you can bring to bare on the project there is a choke point.  It can take many forms but identifying and solving this problem will be critical to reaching your goals.  It doesn’t matter how fast you proceed through all the other steps of your plan, you are going to lose those 2 days here unless something changes.

Does the narrow rope bridge which will only let one person across at a time sound like an unlikely obstacle to face in your machine translation project?  It’s not.  When we launched the Adobe Moses MT project last spring getting across this bridge was the first problem was faced.  Why?  Quite simply we had years of translation memory stored up from Adobe localization projects. All those years of TM were the raw materials to be used in building Adobe specific engines.  We knew with them that we could build better engines for translating Adobe products then we would ever find on the open market.  However, the sheer volume of TM that needed to be processed into a Moses ready corpus represented a blockage of serious proportions.

 

A quick back of the napkin metric to put this inperspective:

We found, given the existing tooling for corpus work, that it required 1-2 weeks of an engineer’s time to process 5-10 million words of translation from .tmx format into a pair of aligned flat corpus files. (i.e. Moses ready)

Moses does come with a set of support scripts for working these problems. (tokenizer.pl, clean-corpus-n.perl, etc.)  and they are functional.  That said, the effort is time consuming.   The scripts are all run from the command line.  A great deal of organization and discipline is required of the user or all the required steps can quickly get confusing.

If you have millions of words across multiple languages, as Adobe did,  you can see it’s going to take a long time for that one engineer to process those .tmx files.  If you add a couple more engineers then you can speed up the process but the overall time required per unit of .tmx cleaned hasn’t gone down.  This would be the equivalent of building a couple of more bridges across that chasm in the Himalayas.  It speeds things up but it’s expensive now and doesn’t lower costs in the future.

 

So if we’ve only got one bridge to cross then the solution is to reduce the time it takes us to cross that bridge.

The Adobe Moses Corpus tool was our solution to this problem.  While none of the individual steps in taking a .tmx file to a Moses ready state are too time consuming, those small steps all add up.  We decided to solve the problem once and for all and to develop a light weight, modular, GUI based, AIR app which any user could install and use to process TM files for Moses.  What does it do? Quite simply it lets you automate your corpus cleaning to improve efficiency.  It takes the multiple command line options available and allows the user to orchestrate using them on any .tmx without the worry of calling scripts and passing parameters.  How much does it help? While these numbers are loose, we’ve been able to increase the productivity of a single engineer working on corpus cleaning by up to 10x.

 

We can now do it in 2 days what used to take 2 weeks.

When you have millions of words of translation memory this is a big deal.  If you want to do MT for yourself you will need to solve this problem.  For us, the Adobe Moses Corpus tool continues to evolve as we learn more about the cleaning steps we want access to and how to order these steps.  It is our vision that it will fit into a greater more comprehensive package of MT related tools which may include the automatic testing and tuning of engines.  We continue to consider all the possibilities this tool would open up for the greater MT interested public and are open to ideas and collaborations with others around it’s improvement and extension.

 

There are plenty of bridges to cross on the way to building MT systems. Corpus handling is just one of them. Hopefully this knowledge makes your journey a bit more clear. Now get out there and build an engine!

 

A quick (but by no means complete) list of things of things that could be done to improve MT engine quality:

This is a short list of the steps the Adobe Moses Corpus tool can currently perform.  We are open to suggestions about adding other steps or refining the nature of these steps.

Clean Placeholder Tags

Clean URLS

Tokenize

Lowercase

Clean Numbers

Clean Duplicate Lines

Clean Long Segments

Clean Misaligned Pairs

The efficacy of each of these steps could be debated around the MT round table but in general most people will need to process their TM files through these steps before the can be used with Moses for engine building as well as to improve quality.

Sorting strings in a locale-sensitive way

This article was originally written in English. Text in other languages was provided by machine translation.

In this section, you will learn how to sort strings in a locale-sensitive way.

Before Flash Player 10.1 was released, the sorting API in AS3 was using a locale-independent way which means the APIs are not locale aware. This is not user-friendly for international users who don’t use English as their first/only language. Let’s look at the following example code for some Chinese data:

If we use the APIs in Flash Player 10.0 and earlier to sort the strings:

Actually, the output result is in simple Unicode code point order for the conventional sorting, which is not correct for Chinese users.

With Flash Player 10.1, we can easily sort strings in a locale-sensitive way with the new flash.globalization.collator class. For handling strings sorting and searching, flash.globalization.* package provides Collator class. This class performs locale-sensitive string sorting and searching, or you can say, it allows performing string sorting and searching for different languages.

In the following example, we have instantiate a Collator object with a specific locale. Then we have called the compare method of the Collator class to perform a locale-sensitive string sorting. The sort method returns a negative value if the first string argument is less than the second, a positive value if the first string argument is greater than the second and 0 if the first string argument is equal to the second one.

Now, the output result looks great for Chinese users.

If you want to learn more about Flash Player 10.1 globalization API, please check the following package:

flash.globalization

Adobe Ideas 1.2 released to AppStore!

This article was originally written in English. Text in other languages was provided by machine translation.

Version 1.2 is available for download worldwide!

Adobe® Ideas is your digital sketchbook, letting you capture and explore ideas anywhere you go. Adobe Ideas is an ideal companion for the professional design applications from Adobe, including Adobe Illustrator® and Adobe Photoshop®. Now with a new in-app purchase option, you can get up to 10 drawing layers plus a photo layer for each sketch as well as layer transformations – move, rotate and scale each layer.
Sketch design concepts while sitting in a cafe, capture and store color themes while browsing through the photos on your phone, or jot down notes on a photo. Any time you need to explore creative ideas, Adobe Ideas is there with you.
Features:
• Simple vector-based drawing tools
• Zoom without jaggies or big pixels
• Variable-size brushes using multi-touch control
• Vector eraser
• Gallery-style organizer to quickly scroll through your ideas and color themes
• Huge virtual canvas
• Display ideas on an external VGA display (requires VGA adapter)
• Automatic creation of harmonized color themes from your photos or images
• Pick specific colors from photos or images easily
• Separate drawing and photo layers
• Easy creation of multiple versions of design concepts
• 50-level undo/redo
• Fast zooming and panning
• Save drawing to “saved photos” album on iPad and iPhone
• Ability to email ideas as PDF files for editing in Adobe Illustrator and Photoshop or for viewing with any PDF viewer
• Available in French, German and Japanese

In-app Purchase:
• Layers: available for in-app purchase. Create up to 10 drawing layers plus a photo layer for each sketch; control order and opacity for each layer. New Move tool offers move, scale and rotate for each layer.

What’s new in version 1.2:
New Layers functionality (Premium feature): $4.99. Create up to 10 drawing layers plus a photo layer for each sketch; control order and opacity for each layer. New Layers Move tool offers move, scale and rotate for each layer.
• Huge performance improvement to zooming and panning
• VGA Out – connect to an external display or projector to show sketch content real-time (requires Apple VGA adapter)
• Left/Right toolbar setting- customize the location of your toolbar.
• Improved stroke smoothing. Some smoothing occurs while drawing.

What tools can read what I am writing about?

This article was originally written in English. Text in other languages was provided by machine translation.

If you have a gmail account, have you noticed that the Ads side bar always has the relevant ads to any single email you get? I noticed lately when I opened my email from my international phone bill company. The Ads bar has “International calls”, “mobile calls”, “Calls to India”, etc. To prove it, you can try sending yourself an email with any keywords. I put “diet, health, weight loss” and guess what, when I open the email I sent to myself, I see “diabetes food”, “low carb diet”, “Health and fitness”…on the Ads bar.

I hope nobody at Google really reads my email, at least not that fast. Some busy tool must be extracting key words from a user-generated content, tagging it somehow and searching the tagged ads.

Same idea could apply to our users queries on our products, or community content so we would know what they are talking about and provide them with relevant help information. We can probably drop the ads feature.

But I’m not aware of many such text analytic tools on the market. Any ideas?

Mengmeng

Vamos comemorar os 20000 fãs do Facebook do Photoshop Elements!

Este artigo foi originalmente escrito em Português. Qualquer texto em outro idioma foi fornecido via tradução automática.

 

Como um agradecimento por seguir a sua página e para comemorar 20000 fãs no Facebook, a equipe do Photoshop Elements doará um pacote do Adobe Photoshop Elements 9 e Premiere Elements 9 a três fãs selecionados aleatoriamente que adicionarem um comentário ao ‘post’ abaixo:

Let’s celebrate 20,000 Facebook Fans!

Simplesmente compartilhe porque você adora o Photoshop Elements e a equipe selecionará três vencedores aleatórios. Comentários em Inglês são preferidos, mas em outros idiomas serão bem-vindos. Não esqueça de deixar uma maneira da equipe contatar você no seu comentário.

Boa sorte!

Esse artigo é uma tradução parcial do post Let’s celebrate 20,000 Facebook Fans! de Maria Yap, Director of Product Management, Digital Imaging, Adobe Systems

Adobe Reader X: Arabic, Hebrew, Greek

This article was originally written in English. Text in other languages was provided by machine translation.

 

As a bit of a follow up to my announcement of Acrobat and Reader X availability, I would also like to mention that the Arabic, Hebrew and Greek versions of Reader X are now available on the Reader Download Center (RDC).

Arabic and Hebrew are available for the Windows platform, while Greek is available on Windows as well as Intel-based MacOS systems.  Check the RDC for complete details.

Community Translation now enabled on Adobe TV

This article was originally written in English. Text in other languages was provided by machine translation.

 

Last week Adobe launched a community translation project on Adobe TV.

“Community Translation extends the global reach of Adobe TV by enabling our audience to translate the closed-captioning of our videos into any language they choose, via a very easy-to-use online translation tool.”

Although the “official” announcement went out today, there have already been 154 translations completed, in 25 different languages, during the few days since the site went live and today. This is information that otherwise would not be available for non-English speakers. I have already contributed as well, translating one of the several Adobe TV tutorials into Brazilian Portuguese. The process was fast and painless and it gave me joy to be able to share the useful hints and tips of the tutorial with fellow Portuguese-speaking users around the globe.

Do you want to become a translator of Adobet TV content and join this brand new community?
Learn more here:

  • Anyone with fluency in English and at least one other language can apply to be a translator.
  • Participants in the program use a simple, intuitive interface provided by our partner DotSUB to translate the closed-captioning titles line-by-line.
  • Once approved by a reviewer, the translation becomes available as a closed-captioning track on the video, and also appears as a searchable, interactive transcript alongside the video.

A list of translated videos is available at  http://tv.adobe.com/translations/watch

An incentive program to reward the most active translators will be launching soon.

Open position for a Globalization Architect at Adobe

This article was originally written in English. Text in other languages was provided by machine translation.

 

Adobe Globalization is looking for an experienced architect who can provide technical leadership in software globalization across the company. Here are the details. Interested candidates should send resumes to our recruiter Ann Maginn at anmaginn@adobe.com

Description

Adobe believes in hiring the very best. We are known for our vibrant, dynamic and rewarding workplace where personal and professional fulfillment and company success go hand in hand. We take pride in creating exceptional work experiences, encouraging innovation and being involved with our employees, customers and communities. We invite you to discover what makes Adobe a place where exceptional people thrive.

Click this link to experience A Day in the Life at Adobe: http://www.adobe.com/aboutadobe/careeropp/fma/dayinthelife/

Position Summary

This architect will be responsible for providing the technical leadership in the software globalization across the company. He or she provides the technical guidance to product teams and developer communities about building World Ready applications using Adobe technologies. As a thought leader, the architect must partner with various business teams and influence the technical direction at different levels. In addition, this person will lead some designs of the globalization technologies that align with the company’s direction. This position requires strong presentation skills including speaking at conferences and other standards committee. Also, he or she will need coach other engineers if needed.

Responsibilities

  • Provide architectural guidance on globalization to product teams, partners, and developer communities
  • Present the globalization aspect of Adobe technologies at conferences
  • Partner with other architects and business teams to identify globalization requirements for strategic customers
  • Lead the planning and design of globalization technologies
  • Assist the development of a roadmap for the globalization technologies across products and software frameworks
  • Analyze technology industry and market trends and determine their potential benefit and impact to our roadmap
  • Research, analyze, and recommend globalization technologies to met new business  and technology needs of our global customers

Requirements

  • MS in computer science and 10+ years in commercial software development
  • Expertise in software globalization is a must
  • Excellent presentation skills to a range of audiences including conferences
  • Self motivated and  with strong technical and leadership skills
  • Good judgment and pragmatic approach in making architectural decisions and tradeoffs
  • Experience in agile project methodology and practices
  • Experience in enterprise and cloud computing is preferred
  • Professional knowledge of current trends and developments in the globalization domain

Adobe’s dynamic working environment is well known – including 11 years on FORTUNE magazine’s “100 Best Companies to Work For”, and other, similar accolades. By hiring the very best and brightest, we continue to be a simply better place to work.

Adobe is an equal opportunity/affirmative action employer. We welcome and encourage diversity in the workplace.

About Adobe United States
Adobe has more than 5,000 employees in the United States and is headquartered in San Jose, California, with other office locations nationwide.

Evelyn Chan
Sr. Group Manager, Globalization

New Adobe Community Champions program includes many users from across the globe

This article was originally written in English. Text in other languages was provided by machine translation.

 

Yesterday the Adobe Community team announced the launch of the Adobe Community Champions program, targetted at those active Adobe users who use their voice to reach out to community on a more personal level. I thought it was a great way to recognize these champions of Adobe.

I looked at the list of 87 users that were invited into this program, and I was glad to see a strong representation from across the globe: close to half of all community champions are from outside the U.S., most of which from countries were English is not the official language. There was good representation from Europe (Portugal, Spain, France, Italy, Germany, Belgium, Netherlands, Switzerland, Denmark, Sweden, Turkey, Czech Republic, Croatia, Armenia), and Latin America (Argentina, Brazil, Mexico, Puerto Rico). I felt Asia was a bit unrepresented (only a handful from Singapore, Korea and India). I identified one user from Israel, and one from Egypt. English-speaking users in Australia, New Zealand, Canada, U.K. and South Africa rounded up the list.

It’ll be great to see this list grow and include more users from across the world next year. I’ll start to check out what our users are up to in other active places such as Central and Eastern Europe, Central America, China, and Southeast Asia. BTW, have you checked out the Adobe Groups site yet? The list of groups is quite international.

Leandro Reis, Globalization Program Manager

Translate »