Posts

Multi-Language Localization for Mobile Apps


MobileTogether includes support to seamlessly localize mobile apps in multiple languages. This empowers developers to build one version of a mobile app that works across many languages as well as across multiple platforms.

Developers can include translations in a single MobileTogether app design for all text phrases required, and when any end-user runs the app, whether on an Android phone, an iPhone, Windows desktop, or any other supported platform, the language for the app is selected to match the language for the device operating system.

With multi-language localization, even text-to-speech functionality is localized to the user’s native language.

READ MORE

In an earlier post on text-to-speech functionality, we first built a simple demo app. In this post, we will use an enhanced version, shown below on an Android phone, to illustrate localization:

MobileTogether multi-lingual localization demo app android

Our multi-language localization demo app includes cross-platform support for English, German, French, Spanish, and Italian languages.

Text strings for each language are assigned in the MobileTogether Designer Localization dialog:

MobileTogether multi-lingual localization dialog

The top portion of the dialog lets developers assign text in different languages for each control in the app: the Speak, Silence, and Exit buttons along the top of the app window are translated in the top three rows of the Localization dialog.

When the app launches on any user’s mobile device, the default language specified in the device operating system setting determines which text is displayed for each control. If the end user is running some other language, default values from the Localization dialog are used.

The green plus button at the top of the dialog lets the developer add support for additional languages from a list of standard language codes:

Multi-lingual localization for mobile apps -- adding a new language

MobileTogether multi-language localization even supports languages that use non-roman alphabets such as Azerbaijani in Cyrillic, listed as az-Cyrl-AZ in the menu above, or the Japanese Kanji alphabet. In fact, all the demo applications installed with MobileTogether are localized for German, French, Spanish, and Japanese languages. Shown below is a portion of the Localization dialog for the demo Mortgage Calculator app, where various label text is specified:

Multi-language localization with non-roman alphabets

The bottom portion of the Localization dialog lets developers assign text for named strings. In our demo app, these are phrases that will be displayed in message boxes and spoken during execution.

If it’s not practical for a developer to translate all the text required in a large, complex application, the Export and Import buttons at the bottom of the Localization dialog permit management of multi-language localization text in XML files outside the MobileTogether Designer. A translator or other language professional can create or fine-tune localized text in an XML editor like Altova XMLSpy.

When our demo app launches, an Action Group assigns the correct localized phrases to nodes in the data tree:

Multi-language localization -- loading messages in the user's language

After multi-language localization text strings have been defined, you can even change the language assigned during simulation to check localization before deploying the app. The Simulation Language option is available in the Project menu and the languages offered correspond to those defined in the Localization dialog for the project.

Multi-language localization with simulated execution in a new language

Here is a view of the Mortgage Calculator demo application running in the Simulator window, where the Simulation Language is Japanese and the selected target device is an iPhone 6 in portrait orientation:

Simulating mobile app execution during multi-language localization

The Set Language Action

You can even empower end users to run your app in any language you have localized–without changing the language setting for the device operating system. This feature could be useful in a language-learning environment, or for apps running on a workstation or tablet shared among users who speak different languages.

Our multi-language localization demo app lets the user choose a new language via a combo box control. The app then confirms the choice via a message box, and restarts the app in the new language.

Shown below is a screenshot of the app running on an iPhone. The user has opened the language selector combo box and scrolled to the choice for Italian, but not yet accepted the selection by clicking Done. (On an Android phone, the user would tap simply tap the new choice.)

Multi-language localization with end-user language selection

When the user confirms the language selection, the app restarts in Italian:

Multi-language localization demo of a mobile app running in Italian

The restaurant text in the edit field is translated because it is one of the standard text strings defined in the Localization dialog:

Translating mobile app messages for multi-language localization

The developer of the demo app wanted to be courteous and not leave any end user accidentally stranded in an unfamiliar language, so setting the new language employs several actions:

First, a text to speech action reads a restart warning message in the current app language.

Second, a message box is displayed containing the same restart warning, also in the current language, with the choices OK or Cancel.

If the user chooses OK, the userLanguage element is updated with the userChoice value set by the combo box, then the Set Language action restarts the app.

If the user chooses Cancel instead of OK, the combo box selection is reset to the current language and the app continues running without changing the language, waiting for the next user input.

You can try localizing your own cross-platform mobile apps by downloading the free-to-use MobileTogether Designer, which comes with integrated help, tutorials and many sample apps.

Tags: , , ,

How To Build Your First App


MobileTogether Designer provides a powerful drag and drop interface that allows for incredibly quick cross platform app development. To help developers get started I have produced this video tutorial, which covers the interface and the steps needed to build your first app.

By the end of the video developers should be able to navigate the Designer’s interface and create a basic app that takes user input and performs an action with it at the press of a button. This is the first in a series of tutorials aimed at familiarizing developers with the ins and outs of app development in MobileTogether.

 

Tags: , , , ,

Financial Analysis of XBRL Corporate Filings on Mobile Devices


In a previous blog post we’ve described some of the problems that are encountered when processing corporate filings from the SEC’s EDGAR database  in XBRL. Today we present a system that overcomes these issues by downloading and processing XBRL filings on a daily basis, normalizing the financial data, computing common financial ratios, storing all data into a SQLite database, and then presenting the corporate reporting data for financial analysis through a mobile app for iOS, Android, and Windows Phone.

We are making all the sources for the data ingestion and normalization process available as Python scripts on GitHub under an Apache 2.0 license. The actual normalization rules as well as the financial ratios being computed are defined in external JSON files that can easily be modified without the need to edit the Python sources. In addition the MobileTogether Design file describing the mobile app is also available as open source in the same repository on GitHub so the mobile application can be easily customized as well to graph different data, show other financial ratios, or do more sophisticated financial analysis.

SECdb Process Diagram

 

Read more…

Tags: , , , , , , , , , , ,

7 Ways to Summer Proof Your Phone


You are going to the beach for the day and you want to bring your phone, but you’re worried that the salt and sand might damage it. You could leave it at home, but you might need it to take cute pics with your friends – er, finally enter your expense reports from that business trip last week. Not you? How about this one:

SPLASH. Your friend just pushed you in the pool, fully clothed, as a joke. We all have that one friend, right? But it doesn’t seem so funny when you realize your phone was in your pocket. Now you are soaking wet and your phone is completely destroyed.

Or maybe you simply want to protect your phone because you don’t want it to suffer any damage this summer. Whatever your situation, here are a few ways to waterproof, sand-proof, and sunscreen-proof your smartphones.

Summer Proof Your Phone

Read more…

Tags: , ,

5 Mobile Strategy Secrets that Your Competitors Don’t Want You to Know


With projections of the smartphone market growing more than 10% every year for the next few years or more, and enterprise use of tablets soaring, it is imperative to any business today to ensure a strong mobile strategy. Here are some great thought provoking ways to get ahead of the competition and bring your mobile strategy to the next level.

Mobile Strategy Read more…

Tags: , , ,

Manipulating Data in Cross-Platform Mobile Applications


Altova MobileTogether empowers enterprises of any size to design and deploy custom mobile solutions that run on all mobile platforms. This post is part 2 of a discussion of the MobileTogether Actions Dialog that lets developers quickly create sophisticated event handlers, control flow, and operations that work the same on iOS®, Android™, Windows® Phone 8, and Windows 8 devices, as well as an HTML5 browser-based client, without worrying about the unique details of the API or SDK for each mobile operating system.

world population
(Click here if you missed part 1, titled Defining Event Handling and Control Flow for Cross-Platform Mobile Applications.)

This post covers some of the MobileTogether actions that manipulate data and are flexible, powerful, and accelerate building data-driven mobile enterprise apps to deliver up-to-the-minute information to busy users on the go.

image update 1
Read more…

Tags: , , ,

Defining Event Handling and Control Flow for Cross-Platform Mobile Applications


Altova MobileTogether empowers companies of any size to quickly design and deploy custom enterprise mobile solutions that run on all mobile platforms. The Actions dialog in the MobileTogether Designer is one key feature that makes it possible to develop robust mobile solutions in days, not months.

The Actions dialog lets developers create sophisticated event handlers, control flow, and operations that work the same on iOS®, Android™, Windows® Phone 8, and Windows 8 devices, as well as an HTML5 browser-based client, without worrying about the unique details of the API or SDK for each mobile operating system, because the ActionTrees built with MobileTogether are independent of any particular device-specific programming language.

C0047146_700x335

Read more…

Tags: , , ,