Reader small image

You're reading from  Oracle Siebel CRM 8 Developer's Handbook

Product typeBook
Published inApr 2011
Reading LevelIntermediate
Publisher
ISBN-139781849681865
Edition1st Edition
Languages
Concepts
Right arrow
Author (1)
Alexander Hansal
Alexander Hansal
author image
Alexander Hansal

Alexander Hansal has worked as an IT professional in small, medium, and global corporations. Since 2001, Alexander works as a technical instructor and consultant for Siebel CRM and Oracle Business Intelligence in Europe. He enjoys teaching, and shares his knowledge and expertise in his classes at Oracle University and in his weblog, http://siebel-essentials.blogspot.com/
Read more about Alexander Hansal

Right arrow

Chapter 4. Symbolic Strings

Localization is one of the great challenges in software development. It is one thing to translate text but a much more complex endeavor to ensure that a software application is capable of being localized for multiple languages and regional settings (locales). Oracle's Siebel CRM is fully localizable, which ensures that end users can work with a user interface in their language. In addition all system messages, help files, and reports can be translated. Dates and numeric information are displayed in the correct formatting of the end user's locale.

In this chapter, we introduce the centerpiece of Siebel localization—the concept of symbolic strings. This allows us to ensure that our project adheres to the Siebel standard of multi-language support. Even if our Siebel application is currently only deployed in a single language, it is beneficial to apply multilingual techniques from the start.

The chapter will be structured as follows:

  • Understanding Symbolic Strings

  • Creating...

Understanding symbolic strings


Symbolic strings are an object type in the Siebel Repository. We can understand how symbolic strings support the multi-language capabilities of Siebel CRM by looking at the following example:

Every list or form applet in a Siebel application exposes a button with the text Query as its caption. There are thousands of applets, and therefore thousands of instances of the Query button control, in the repository.

Let us imagine that our customer wishes to change the caption text from Query to Search.

If the caption was stored along with each individual button definition, a developer would have to check out and manipulate thousands of objects. To avoid this time-consuming and error-prone effort, each object that displays a text in the user interface references a Symbolic String definition. The following diagram illustrates this:

We can observe that each query button references the same symbolic string that contains the text for each supported language (American English...

Creating and using symbolic strings


Developers can use the predefined symbolic strings, making use of the standard library of translated display texts, or create additional custom symbolic strings. We have two options of creating symbolic strings:

  • Manual creation in Siebel Tools

  • Automatic creation using batch scripts provided by Oracle

In the following we will explore both scenarios.

Creating symbolic strings manually

We should follow the procedure described as follows to create custom symbolic string definitions in Siebel Tools. We will create a new symbolic string to be used in a later section of this chapter:

  1. 1. If necessary, use the Options dialog to expose the Symbolic String object type in the Object Explorer window.

  2. 2. Create a new project named AHA Symbolic Strings and lock it.

  3. 3. In the Object Explorer, navigate to the Symbolic String object type.

  4. 4. In the Object List Editor, use the Ctrl+N keyboard shortcut to create a new record.

  5. 5. Enter X_ERROR_1 as the name for the new symbolic string...

Using message categories


Symbolic strings not only provide static translatable text snippets for the Siebel user interface. With the Message Category object type, we find a valuable resource to store dynamic message text templates in the Siebel Repository.

Messages can be combined with message categories for easier classification. We can reference the messages in custom scripts, enabling us to adhere to professional programming standards by avoiding hardcoded text in the program.

Messages can include placeholders for dynamic text replacement at runtime. These placeholders are specified by the percentage sign (%) followed by a sequential number. A valid placeholder would be for example %1. At runtime, the developer can submit arguments to the script functions, which retrieve the message text and replace the text in the arguments in the sequence identified by the placeholder number.

The following screenshot shows an example message with a placeholder:

The following procedure describes how to create...

Localizing Siebel applications


It is a quite common situation that a Siebel CRM application is deployed to users in foreign countries with different language requirements during later phases of the project. This means that all objects that have been created by the custom developers must be translated into one or more additional languages.

Siebel Tools provides the Locale Management Utility (LMU), which assists developers and business users in the process of translating content. The following screenshot shows the LMU user interface.

The following procedure describes the localization process from a high level perspective:

  1. 1. Select Tools | Utilities | Locale Management... to invoke the LMU.

  2. 2. In the Options tab, select a source and target language and select applications or projects from which the strings should be exported.

  3. 3. In the Untranslated Strings tab, click the Find Strings button.

  4. 4. The LMU will now scan the repository for all strings that have not been translated into the target language...

Summary


Symbolic strings are important object definitions. They are referenced by almost any object that holds translatable display values such as applet controls or error messages.

In this chapter, we learned how symbolic strings work and how they can be created. Developers can create symbolic strings manually or by collecting overridden strings using the string conversion and string consolidation batch utilities.

The chapter also showed how to create custom message templates and gave an overview on how to use the Locale Management Utility (LMU) to export strings for translation and import the translated files.

In the next chapter, we will learn how to create and modify applets.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Oracle Siebel CRM 8 Developer's Handbook
Published in: Apr 2011Publisher: ISBN-13: 9781849681865
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Alexander Hansal

Alexander Hansal has worked as an IT professional in small, medium, and global corporations. Since 2001, Alexander works as a technical instructor and consultant for Siebel CRM and Oracle Business Intelligence in Europe. He enjoys teaching, and shares his knowledge and expertise in his classes at Oracle University and in his weblog, http://siebel-essentials.blogspot.com/
Read more about Alexander Hansal