Sunday, June 25, 2017    
Portuguese 
Spanish 
Skip Navigation Links
Home
My Account
Forum
Try It!
Buy It!
Skip Navigation Links
About
Contact Us
Site Map
Skip Navigation LinksHome > Application Framework > Messaging & Localization

StrataFrame contains a complete solution for user interface messaging and localization. The framework provides an effective solution for storing localized messages and text in a centralized location for easy retrieval by the developer.

StrataFrame Localization Interface
View Larger Image
Overview

The Messaging & Localization infrastructure is an integral part of the StrataFrame Application Framework. It provides an efficient, user-friendly, and asthetically pleasing alternative to the default method of presenting messages and localized text to the end-user. The central data-store, themed messaged forms, and alert boxes compose the StrataFrame Messaging & Localization infrastructure.

Understanding StrataFrame Localization
StrataFrame provides a complete localization solution that can be used in every layer of the framework. This includes labels, button text, broken rules, message boxes, and every other area that text may be presented to the end-user.

There are two distinct localization types, a rich text message for the message box support, and text values. A rich text message is presented to the end-user in a Message Box that replaces the standard Windows Message Box interface. A text value is used for any text value that does not need rich text formatting. This would include labels, broken rules, etc.

Centralized Message Storage

Message Store
StrataFrame localization provides support for XML and database integrated message storage. Regardless of the storage type, centralized messages and text can be modified easily. All localization messages are retrieved by a key which prevents any message information from being hard coded within the application. Additionally, the same key is used regardless of language selection making it as simple as translating the text behind the key to have multi-lingual support.

XML and Database Integrated Storage
Depending on the size of an application and how it will be distributed, there are several options for message storage. For smaller applications and XML database can be used to store all messages. As the message store grows, it may be necessary to integrate the messages into a database such as SQL Server for a faster and more centralized store. Implementing the messaging structures into a SQL Server database is as simple as a mouse click with the Database Deployment Toolkit.

Common Message Repository
Many times there are common messages that exist across multiple applications and projects. When this occurs, the Common Repository can be used preventing the developer from creating a message over and over again. Any localization project can include the messages within the Common Repository by setting a single preference for the project. When set, all of the messages within the Common Repository will be included with the project when exported just as though they were part of that localization project.

Language Selection Dialogs
View Larger Image
Integrated Language Selection Dialogs

Automated Language Selection Display
When more than a single language is detected within the messaging database, a language selection dialog will appear the first time an end-user starts the application. This is stored in the same manner as the Connection String Management using an application key. In addition to the application key, the language selection can be remembered by logged in Windows user as well. This allows multiple end-users to use the same computer while running the applicaiton with different language settings.

Programmatic Dialog Control
In addition to the automated language selection dialog, there may be a need to a user to change their language selection. The language selection dialog can be programmatically displayed in a single line of code. All localized controls will be automatically updated with the end-users selected language settings.

No Satellite DLLs

Data Driven
Localization is generally implemented by including satellite DLLs with an application; localized text is stored as resources within the satellite DLLs. StrataFrame does not use this technique, and it is, therefore, not necessary to distribute additional DLLs. Localized text is stored within the central message-store and uses a key-based system that does not need resource numbers to retrieve the text. The keys used in the localization interface are text and promote easier retention during use versus a system using numbers.

Base Language Support
Additionally, by not separating each localized language into its own satellite DLL, StrataFrame is able to use one language as a base for supplementary languages. This flexibility enables the developer to only create text values and messages for the keys that differ from the base language. The ability to use a base language is especially beneficial for dialects as it prevents duplication of messages and text values within the data-store. Example: English (United States) can be the base language for English (UK) and only messages that differ in spelling must be entered into the data-store for the UK messages.

Translation Tools
View Larger Image
Translation Tools

Create Translation Projects
There are many different options when translating messages for an application. Some frameworks take the approach that requires the end-user to translate their own interface. Though this can be done in StrataFrame, the preferred approach is to deploy the application with the content and messages already translated. When taking this approach it is necessary to translate the messages in a structured format, thus translation projects. Translation projects can be created and have messages associated with each project. Additionally, multiple langauge translations for the same messages can take place simultaneously.

Package Support for Translators
Once translation projects are created, they can be packaged up and sent to the translators in several different formats. The localization interface provides a translation tool that allows all messages within the translation project to be translated quickly and easily. The text that needs to be translated appears at the top of the form and the translated text is entered at the bottom. This translation tool application can be sent to the translators and installed using an install that comes with StrataFrame for this very purpose. Once the translations have been made, they only need to be imported back into the localization project and they are ready for use.

Localizable Rich Text Message Box
View Larger Image
Rich Text Messaging

Localizable Messaging Interface
Even if localization is not required by an application, the developer can take full advantage of the system to centralize messages within the application. The same data store that houses the localized text also houses messages. Messages can be stored without a format or in Rich Text Format. The message form used by StrataFrame is a replacement for the .NET MessageBox and displays messages with RTF support. This allows the developer to present the end-user with colorized text that can include hyperlinks, images, bullets and more. Replacement values are also supported, allowing portions of each message to be dynamic. Messages are stored in the same location as localized text and are also retrieved by key. All messages are localizable. 

Event ID Feature
All localized messages can be given a unique event ID. This event ID will appear within the header of the message and is extremely beneficial from a support point of view. This approach allows a document to be created that can be given to support staff and improve the communication between the end-user, service technician, and developer. Simply leave the event ID blank to ignore this feature; otherwise, the editor has an event ID generator to aid in the creation of the unique values.


Integrated Localization Editor
View Larger Image
Easy-To-Use Message and Text Value Editor

Even if localization is not required by an application, the developer can take full advantage of the system to centralize messages within the application. The same data store that houses the localized text also houses messages. Messages can be stored without a format or in Rich Text Format. The message form used by StrataFrame is a replacement for the .NET MessageBox and displays messages as RTF files. This allows the developer to present the end-user with colorized text that can include hyperlinks, images, bullets and more. Replacement values are also supported, allowing portions of each message to be dynamic. Messages are stored in the same location as localized text and are also retrieved by key. All messages are localizable. 



Site Map - Home - My Account - Forum - About Us - Contact Us - Try It - Buy It

Microsoft, Visual Studio, and the Visual Studio logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.