Inform Users with Sound Effects in Mobile Apps


Sound effects in mobile apps can reinforce functionality and make an app more fun to use. MobileTogether makes it easy and convenient for mobile developers to add a standard set of sounds to user interface actions across all mobile platforms. For instance, developers might want to add sound effects to signify the success or failure of a file transfer or database transaction. Or simply add a keyclick sound to a button as feedback for a user tap.

Read more…

Tags: , , ,

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: , , ,

Three-Way File Comparison and Difference Merging


Manually comparing versions of a long XML Schema or document to find any differences would be a tedious and error-prone task. XMLSpy has long featured file comparison with highlighted differences in side-by-side windows with merging in either direction. And of course, DiffDog is the go-to comparison utility for text, source code, XML, JSON, and Word documents. Now both XMLSpy and DiffDog support three-way file comparison and difference merging.

Three-way file comparison is especially relevant for files managed in any source control system where two users may have started from the same source file and made different edits that need to be reconciled.

Read more…

Tags: , , ,

Data Mapping NCPDP SCRIPT


EDI (Electronic Data Interchange) standards allow participants with different roles in an industry to communicate clearly and rapidly, and date back to the earliest implementations of electronic communication in the 1950s, long before modern business technologies such as ERP, CRM, and many others. Yet even today, EDI standards continue to evolve to support new requirements and opportunities.

MapForce has long supported data mapping to and from ANSI X12, UN/EDIFACT and other popular EDI standards, and now in the latest release adds support for data mapping NCPDP SCRIPT.

SCRIPT is the state of the art EDI standard developed by the National Council for Prescription Drug Programs (NCPDP) for electronically transmitting medical prescriptions, also known as ePrescribing (eRX) in the United States.

Read more…

Tags: , , ,

Add to Your Collection of Development Building Blocks


When it comes to developing sophisticated software and data integration applications, the more building blocks a developer has at his or her disposal, the better. With each release of our developer and server software, we aim to provide customers with unique tools that give them the edge to get the job done – faster, and more efficiently.

To that end, Version 2018 delivers a unique HTTP testing window, 3-way file comparison functionality, support for SQL Templates, super-powered new server options, and much more.

Read more…

Tags: , , ,

Exploring an Unfamiliar Database with DatabaseSpy


Software developers working on a new app, data professionals in a variety of enterprises, and even database administrators often encounter unfamiliar databases and need a database tool to quickly explore tables and relationships.

Altova DatabaseSpy is a unique multi-database query, design, and comparison tool with a graphical database design editor that empowers users exploring an unfamiliar database to quickly visualize tables, relationships, and even datatype definitions that may be unique among database types.

Read more…

Tags: ,

Simplifying License Management


We’ve been offering a centralized license server to all customers of our Altova server software products for quite some time. Now,  you can also manage all Altova desktop software licenses with the same license server. This support covers all MissionKit products, such as XMLSpy, MapForce, StyleVision, etc., whether they’re licensed separately or as part of a MissionKit product bundle.

Doing so greatly simplifies license management for the IT administrator in your organization and allows you to maximize your usage of the investment you’ve made in Altova software products. The Altova LicenseServer can now handle the management of installed-user, concurrent-user, and named-user licenses for all desktop developer tools and allows you to centralize license management either on a per-department level or for an entire organization.

133556519_700px

Read more…

Tags: , , ,