Pierre Cadieux

About our Instructor – Pierre Cadieux

Pierre Cadieux is a veteran with over 35 years' experience in internationalization of software, Web sites and mobile devices. He has taught internationalization at the Université de Montréal. Pierre has been technology editor for the LISA newsletter, VP Technology at ALIS and director of technology at Bowne Global Solutions.

At ALIS, Pierre pioneered the transparent handling of Arabic and Hebrew languages and created the core bi-directional technology licensed by Microsoft.

As Director of Localization Technology at Bowne Global Solutions, he carried out research and analysis on multilingual Web sites and published the first generic model of Globalization Management Systems.

Additionally, Pierre holds a B. Sc. and M. Sc. in Computer Science.

Overview: 

The .NET Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls. Numerous practical examples, from real projects, will be presented.

The workshop shows how .NET deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms, IDNs and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text and character processing functions, etc. The basic classes and interfaces of the six globalization namespaces in .NET are covered.

This is an in-depth review of .NET internationalization features which will help your developers avoid all known pitfalls! They will leave with a clear understanding of how to correctly and efficiently internationalize their .NET-based applications.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of .NET (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of .NET internationalization techniques.

Duration: 

The agenda described below is for a 2.5-day session (or 3.5 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 

The following items are covered in this course:

  1. .NET Internationalization
    • Globalization features of .NET versions
    • Globalization namespaces
      • System.Globalization
      • System.Resources
      • System.Resources.Tools
      • System.Text
      • System.Text.RegularExpressions
      • System.Collections
    • Getting Started
    • Books
  2. Encodings
    • .NET Encoding Model
    • Source Encodings
    • Runtime Encodings
    • The Encoding Class
    • Normalization
  3. Transcoding
    • .NET Transcoding Model
    • Multilingual Stream I/O
      • File I/O Transcoding
      • Files, Streams, Writers, Readers
    • Basic Transcoding
    • Incremental Transcoding
    • Transcoding Error Handling
    • Customizing Fallbacks
  4. Locales
    • CultureInfo & RegionInfo classes
    • The CultureInfo hierarchy: specific, neutral and invariant cultures
    • Querying CultureInfo
      • Getting Country/Region Info, getting Script/Encoding Info
      • Enumerating the Locales
    • Setting CultureInfo
      • Default cultures and user (control panel) overrides
    • CultureInfo & Collation Ids
      • LCID-based alternate sorts
      • BCP 47 collation identifiers
    • Locale Serialization
      • Why Serialize Locale Information?
      • LCID serialization
      • BCP 47 Serialization
    • Chinese Locales
      • Culture Names have Changed!
      • Chinese Locale Hierarchy - Part 1
      • Chinese Locale Hierarchy - Part 2
      • Chinese Locale Hierarchy - Part 3
    • CultureInfo & Threads
      • Old solutions when threads did not inherit calling culture
        • Thread Factory
        • Parameterized Delegate
        • Domain Defaults
      • The Twilight Zone (the 4.6th dimension)
      • Tasks & Culture
      • Parallel.Invoke changes!
  5. Resources

Note: Generic resource topics only; see chapter 9 for ASP.NET specifics.

  • Dealing With Resources
  • Strongly-typed resources
  • The Hidden Resource Designer
  • Resource storage
  • How .NET Finds The Right Resources
  1. Formatting
    • Message Formatting
      • Interfaces: IFormatProvider, IFormattable
      • Classes/methods that support Composite Formatting
    • Numeric Formatting (numbers, currency, percentages)
      • Format Specifiers & Precision Specifiers
      • Formatting across cultures
    • Numeric Parsing
      • Parsing control with the NumberStyles enumeration
      • Parsing limitations and the IsDigit() gotcha
    • Date & Time Formatting
      • Format Specifiers & Custom Format Strings
      • Enforcing a 4-digit year
      • Enforcing a non-ambiguous month (i.e. readable month name)
    • Date & Time Parsing
      • Strict Parsing
      • Lenient Parsing
    • Calendars
      • Calendars & CultureInfo
      • How to change the calendar
      • Why a Gregorian calendar override may be safer
  2. Text Processing
    • Collation Basics
      • Collation Control
      • CompareOptions Enumeration
      • Choosing Your Comparison Type
    • String Class
      • Cultural & Non-Cultural String Methods
      • MS Best Practices for Strings
    • CompareInfo Class
      • Search Method Summary
      • Which Compare To Use?
    • Searching Text
      • Culture-Specific Comparisons
      • Searching Text with Options
      • Replacing Text
    • Sorting Text
      • Basic Sorting
      • Sorting with Sort Keys
      • Sort Performance
      • Useful Collation Options
      • Collation Options Summary
    • Hashing Text
      • Hashtable with CurrentCulture
      • Dictionary Sample
      • Best Practices for String Collections
    • Persisting Text
      • Persisting Formatted Text
      • Persisting Sorted Text
  3. Character Processing
    • Character Iteration
      • Text Boundaries
      • Text Iteration
      • Supporting Supplementary Characters
    • Character Casing
      • The "Turkish I"
      • A Lowercase Uppercase
    • Character Classification
      • Basic Character Classification
      • UnicodeCategory Enumeration
    • Regular Expressions
      • Character Classes
      • Regular Expression Options
      • Supplementary Not Supported
  4. ASP.NET Specifics
    • Overview
    • Language Selection
      • Language Info Sources & Setting Priorities
      • Setting the Language with InitializeCulture()
      • Language Controls: where & what to display
      • Implementing Language Controls in ASP.NET
    • Resource Externalization
      • Explicit Localization & Implicit Localization
      • Externalization Wizard & its limitations
      • asp:Localize
      • Resources in JavaScript
      • Resources in Code-behind
    • Image Localization
      • A Custom Control for Easier Image Localization
      • Image Organization
    • Localizable Buttons
      • Custom control: Extensible Button
      • Custom control: Line-wrapping Button
    • Message Formatting
      • Custom control for Message Formatting
    • Common Gotchas & How to Fix Them
Handouts: 

Each attendee will receive a 500+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The .NET Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls. Numerous practical examples, from real projects, will be presented.

The workshop shows how .NET deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms, IDNs and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text and character processing functions, etc. The basic classes and interfaces of the six globalization namespaces in .NET are covered.

This is an in-depth review of .NET internationalization features which will help your developers avoid all known pitfalls! They will leave with a clear understanding of how to correctly and efficiently internationalize their .NET-based applications.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of .NET (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of .NET internationalization techniques.

Duration: 

The agenda described below is for a two-day session (or 3 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 

The following items are covered in this course:

  1. .NET Internationalization
    • Globalization features of .NET versions
    • Globalization namespaces
      • System.Globalization
      • System.Resources
      • System.Resources.Tools
      • System.Text
      • System.Text.RegularExpressions
      • System.Collections
    • Getting Started
    • Books
  2. Encodings
    • .NET Encoding Model
    • Source Encodings
    • Runtime Encodings
    • The Encoding Class
    • Normalization
  3. Transcoding
    • .NET Transcoding Model
    • Multilingual Stream I/O
      • File I/O Transcoding
      • Files, Streams, Writers, Readers
    • Basic Transcoding
    • Incremental Transcoding
    • Transcoding Error Handling
    • Customizing Fallbacks
  4. Locales
    • CultureInfo & RegionInfo classes
    • The CultureInfo hierarchy: specific, neutral and invariant cultures
    • Querying CultureInfo
      • Getting Country/Region Info, getting Script/Encoding Info
      • Enumerating the Locales
    • Setting CultureInfo
      • Default cultures and user (control panel) overrides
    • CultureInfo & Collation Ids
      • LCID-based alternate sorts
      • BCP 47 collation identifiers
    • Locale Serialization
      • Why Serialize Locale Information?
      • LCID serialization
      • BCP 47 Serialization
    • Chinese Locales
      • Culture Names have Changed!
      • Chinese Locale Hierarchy - Part 1
      • Chinese Locale Hierarchy - Part 2
      • Chinese Locale Hierarchy - Part 3
    • CultureInfo & Threads
      • Older solutions when threads did not inherit calling culture
        • Thread Factory
        • Parameterized Delegate
        • Domain Defaults
      • The Twilight Zone
      • Tasks & Culture
      • Parallel.Invoke changes!
  5. Resources

Note: Generic resource topics only; see chapter 9 for WPF/XAML resources.

  • Dealing With Resources
  • Strongly-typed resources
  • The Hidden Resource Designer
  • Resource storage
  • How .NET Finds The Right Resources
  1. Formatting
    • Message Formatting
      • Interfaces: IFormatProvider, IFormattable
      • Classes/methods that support Composite Formatting
    • Numeric Formatting (numbers, currency, percentages)
      • Format Specifiers & Precision Specifiers
      • Formatting across cultures
    • Numeric Parsing
      • Parsing control with the NumberStyles enumeration
      • Parsing limitations and the IsDigit() gotcha
    • Date & Time Formatting
      • Format Specifiers & Custom Format Strings
      • Enforcing a 4-digit year
      • Enforcing a non-ambiguous month (i.e. readable month name)
    • Date & Time Parsing
      • Strict Parsing
      • Lenient Parsing
    • Calendars
      • Calendars & CultureInfo
      • How to change the calendar
      • Why a Gregorian calendar override may be safer
  2. Text Processing
    • Collation Basics
      • Collation Control
      • CompareOptions Enumeration
      • Choosing Your Comparison Type
    • String Class
      • Cultural & Non-Cultural String Methods
      • MS Best Practices for Strings
    • CompareInfo Class
      • Search Method Summary
      • Which Compare To Use?
    • Searching Text
      • Culture-Specific Comparisons
      • Searching Text with Options
      • Replacing Text
    • Sorting Text
      • Basic Sorting
      • Sorting with Sort Keys
      • Sort Performance
      • Useful Collation Options
      • Collation Options Summary
    • Hashing Text
      • Hashtable with CurrentCulture
      • Dictionary Sample
      • Best Practices for String Collections
    • Persisting Text
      • Persisting Formatted Text
      • Persisting Sorted Text
  3. Character Processing
    • Character Iteration
      • Text Boundaries
      • Text Iteration
      • Supporting Supplementary Characters
    • Character Casing
      • The "Turkish I"
      • A Lowercase Uppercase
    • Character Classification
      • Basic Character Classification
      • UnicodeCategory Enumeration
    • Regular Expressions
      • Character Classes
      • Regular Expression Options
      • Supplementary Not Supported
  4. WPF/XAML Specifics
    • Language Selection
    • Manual Resource Externalization
      • Creating a Root Resource File
      • Using the resource and setting the locale
    • Automated Resource Externalization
    • WPF Localization Tools
      • Setting the Base Culture
      • Getting UIDs & Extracting Resources
    • Form Layout
      • Automatic Layout Panels: Grid & DockPanel
      • Detailed example with both panels in French, English and Arabic
    • Hot Keys
Handouts: 

Each attendee will receive a 500+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The .NET Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls. Numerous practical examples, from real projects, will be presented.

The workshop shows how .NET deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms, IDNs and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text and character processing functions, etc. The basic classes and interfaces of the six globalization namespaces in .NET are covered.

This is an in-depth review of .NET internationalization features which will help your developers avoid all known pitfalls! They will leave with a clear understanding of how to correctly and efficiently internationalize their .NET-based applications.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of .NET (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of .NET internationalization techniques.

Duration: 

The agenda described below is for a two-day session (or 3 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 

The following items are covered in this course:

  1. .NET Internationalization
    • Globalization features of .NET versions
    • Globalization namespaces
      • System.Globalization
      • System.Resources
      • System.Resources.Tools
      • System.Text
      • System.Text.RegularExpressions
      • System.Collections
    • Getting Started
    • Books
  2. Encodings
    • .NET Encoding Model
    • Source Encodings
    • Runtime Encodings
    • The Encoding Class
    • Normalization
  3. Transcoding
    • .NET Transcoding Model
    • Multilingual Stream I/O
      • File I/O Transcoding
      • Files, Streams, Writers, Readers
    • Basic Transcoding
    • Incremental Transcoding
    • Transcoding Error Handling
    • Customizing Fallbacks
  4. Locales
    • CultureInfo & RegionInfo classes
    • The CultureInfo hierarchy: specific, neutral and invariant cultures
    • Querying CultureInfo
      • Getting Country/Region Info, getting Script/Encoding Info
      • Enumerating the Locales
    • Setting CultureInfo
      • Default cultures and user (control panel) overrides
    • CultureInfo & Collation Ids
      • LCID-based alternate sorts
      • BCP 47 collation identifiers
    • Locale Serialization
      • Why Serialize Locale Information?
      • LCID serialization
      • BCP 47 Serialization
    • Chinese Locales
      • Culture Names have Changed!
      • Chinese Locale Hierarchy - Part 1
      • Chinese Locale Hierarchy - Part 2
      • Chinese Locale Hierarchy - Part 3
    • CultureInfo & Threads
      • Old solutions when threads did not inherit calling culture
        • Thread Factory
        • Parameterized Delegate
        • Domain Defaults
      • The Twilight Zone
      • Tasks & Culture
      • Parallel.Invoke changes!
  5. Resources

Note: Generic resource topics only; see chapter 9 for ASP.NET Core resources.

  • Dealing With Resources
  • Strongly-typed resources
  • The Hidden Resource Designer
  • Resource storage
  • How .NET Finds The Right Resources
  1. Formatting
    • Message Formatting
      • Interfaces: IFormatProvider, IFormattable
      • Classes/methods that support Composite Formatting
    • Numeric Formatting (numbers, currency, percentages)
      • Format Specifiers & Precision Specifiers
      • Formatting across cultures
    • Numeric Parsing
      • Parsing control with the NumberStyles enumeration
      • Parsing limitations and the IsDigit() gotcha
    • Date & Time Formatting
      • Format Specifiers & Custom Format Strings
      • Enforcing a 4-digit year
      • Enforcing a non-ambiguous month (i.e. readable month name)
    • Date & Time Parsing
      • Strict Parsing
      • Lenient Parsing
    • Calendars
      • Calendars & CultureInfo
      • How to change the calendar
      • Why a Gregorian calendar override may be safer
  2. Text Processing
    • Collation Basics
      • Collation Control
      • CompareOptions Enumeration
      • Choosing Your Comparison Type
    • String Class
      • Cultural & Non-Cultural String Methods
      • MS Best Practices for Strings
    • CompareInfo Class
      • Search Method Summary
      • Which Compare To Use?
    • Searching Text
      • Culture-Specific Comparisons
      • Searching Text with Options
      • Replacing Text
    • Sorting Text
      • Basic Sorting
      • Sorting with Sort Keys
      • Sort Performance
      • Useful Collation Options
      • Collation Options Summary
    • Hashing Text
      • Hashtable with CurrentCulture
      • Dictionary Sample
      • Best Practices for String Collections
    • Persisting Text
      • Persisting Formatted Text
      • Persisting Sorted Text
  3. Character Processing
    • Character Iteration
      • Text Boundaries
      • Text Iteration
      • Supporting Supplementary Characters
    • Character Casing
      • The "Turkish I"
      • A Lowercase Uppercase
    • Character Classification
      • Basic Character Classification
      • UnicodeCategory Enumeration
    • Regular Expressions
      • Character Classes
      • Regular Expression Options
      • Supplementary Not Supported
  4. ASP.NET Core Specifics

    Under development

Handouts: 

Each attendee will receive a 500+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The .NET Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls. Numerous practical examples, from real projects, will be presented.

The workshop shows how .NET deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms, IDNs and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text and character processing functions, etc. The basic classes and interfaces of the six globalization namespaces in .NET are covered.

This is an in-depth review of .NET internationalization features which will help your developers avoid all known pitfalls! They will leave with a clear understanding of how to correctly and efficiently internationalize their .NET-based applications.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of .NET (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of .NET internationalization techniques.

Duration: 

The agenda described below is for a two-day session (or 3 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 

The following items are covered in this course:

  1. .NET Internationalization
    • Globalization features of .NET versions
    • Globalization namespaces
      • System.Globalization
      • System.Resources
      • System.Resources.Tools
      • System.Text
      • System.Text.RegularExpressions
      • System.Collections
    • Getting Started
    • Books
  2. Encodings
    • .NET Encoding Model
    • Source Encodings
    • Runtime Encodings
    • The Encoding Class
    • Normalization
  3. Transcoding
    • .NET Transcoding Model
    • Multilingual Stream I/O
      • File I/O Transcoding
      • Files, Streams, Writers, Readers
    • Basic Transcoding
    • Incremental Transcoding
    • Transcoding Error Handling
    • Customizing Fallbacks
  4. Locales
    • CultureInfo & RegionInfo classes
    • The CultureInfo hierarchy: specific, neutral and invariant cultures
    • Querying CultureInfo
      • Getting Country/Region Info, getting Script/Encoding Info
      • Enumerating the Locales
    • Setting CultureInfo
      • Default cultures and user (control panel) overrides
    • CultureInfo & Collation Ids
      • LCID-based alternate sorts
      • BCP 47 collation identifiers
    • Locale Serialization
      • Why Serialize Locale Information?
      • LCID serialization
      • BCP 47 Serialization
    • Chinese Locales
      • Culture Names have Changed!
      • Chinese Locale Hierarchy - Part 1
      • Chinese Locale Hierarchy - Part 2
      • Chinese Locale Hierarchy - Part 3
    • CultureInfo & Threads
      • Old solutionsbwhen threads did not inherit calling culture
        • Thread Factory
        • Parameterized Delegate
        • Domain Defaults
      • The Twilight Zone
      • Tasks & Culture
      • Parallel.Invoke changes!
  5. Resources

Note: Generic resource topics only; see chapter 9 for Windows Forms resources.

  • Dealing With Resources
  • Strongly-typed resources
  • The Hidden Resource Designer
  • Resource storage
  • How .NET Finds The Right Resources
  1. Formatting
    • Message Formatting
      • Interfaces: IFormatProvider, IFormattable
      • Classes/methods that support Composite Formatting
    • Numeric Formatting (numbers, currency, percentages)
      • Format Specifiers & Precision Specifiers
      • Formatting across cultures
    • Numeric Parsing
      • Parsing control with the NumberStyles enumeration
      • Parsing limitations and the IsDigit() gotcha
    • Date & Time Formatting
      • Format Specifiers & Custom Format Strings
      • Enforcing a 4-digit year
      • Enforcing a non-ambiguous month (i.e. readable month name)
    • Date & Time Parsing
      • Strict Parsing
      • Lenient Parsing
    • Calendars
      • Calendars & CultureInfo
      • How to change the calendar
      • Why a Gregorian calendar override may be safer
  2. Text Processing
    • Collation Basics
      • Collation Control
      • CompareOptions Enumeration
      • Choosing Your Comparison Type
    • String Class
      • Cultural & Non-Cultural String Methods
      • MS Best Practices for Strings
    • CompareInfo Class
      • Search Method Summary
      • Which Compare To Use?
    • Searching Text
      • Culture-Specific Comparisons
      • Searching Text with Options
      • Replacing Text
    • Sorting Text
      • Basic Sorting
      • Sorting with Sort Keys
      • Sort Performance
      • Useful Collation Options
      • Collation Options Summary
    • Hashing Text
      • Hashtable with CurrentCulture
      • Dictionary Sample
      • Best Practices for String Collections
    • Persisting Text
      • Persisting Formatted Text
      • Persisting Sorted Text
  3. Character Processing
    • Character Iteration
      • Text Boundaries
      • Text Iteration
      • Supporting Supplementary Characters
    • Character Casing
      • The "Turkish I"
      • A Lowercase Uppercase
    • Character Classification
      • Basic Character Classification
      • UnicodeCategory Enumeration
    • Regular Expressions
      • Character Classes
      • Regular Expression Options
      • Supplementary Not Supported
  4. Windows Forms Specifics
    • Language selection
      • Multilingual vs. single-language binaries
    • Resource externalization
      • XLAT: a gettext-like approach for resource externalization
    • Form layout
      • Old approach
      • TableLayoutPanel
      • FlowLayoutPanel
      • An example with both panels
Handouts: 

Each attendee will receive a 500+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The Java and Java EE Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls.

This workshop shows how Java and Java EE deal with: character sets and Unicode (including surrogates, UTF encodings, normalization forms and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text processing functions, etc.

Attendees will leave with a clear understanding of how to correctly and efficiently internationalize their Java-based applications.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of Java (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of Java internationalization techniques.

Duration: 

The agenda described below is for a 1.5-day session (or 2 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 
  1. Internationalization with Java and Java EE
    • Java platforms: Java SE and Java EE
    • JSP and JSTL
    • Internationalization features of Java versions
    • books and useful resources
  2. Java and Unicode
    • Java versions vs. Unicode versions; supplementary character support
    • Characters vs. Code Points; Character and code-point interfaces
    • What needs to change for full Unicode support
    • Unicode normalization in Java
    • Basic transcoding for Files and Strings
    • Reliable transcoding with the CharSet class
    • Character sets for JSP and the Web
    • IDN and IRL support (international domain names and URL)
  3. Java Locales
    • Identification, ISO 639, ISO 3166, BCP 47
    • Features of BCP 47 locales
    • Enumeration
    • Selection: install, start-up, run-time
    • Locale-aware functions
    • Locale hierarchies: resource container selection
    • User-defined locales
    • Locales with JSP and JSTL
  4. Java Resources
    • Resource bundles
    • GetBundle search order
    • GetLocale and GetString
    • ListResourceBundle
    • PropertyResourceBundle
    • Non-text resources
    • ResourceBundle.Control (with many examples)
    • JSP resources
    • Performance caveats, subclassing pitfalls
  5. Formatting & Parsing
    • Formatting & parsing numbers and currency; format customization
    • Formatting & parsing date and time; format customization
    • Working with calendars
    • Formatting messages with Java Formatter and Java MessageFormat
    • How to handle plural agreement in messages
  6. Text Processing
    • Searching and sorting text
    • Collation and collation-based processes
    • Collation rules and collation performance
    • Word and character boundaries
    • Line and sentence boundaries
    • Case conversion
    • Character properties
  7. Text Input and Output
    • Input methods and the Java IMF (Input Method Framework)
    • Input method types: host input method support vs. built-in input methods
    • When do you need to use input method APIs ?
    • Text rendering and GUI layout
    • The ComponentOrientation property
    • Logical and physical fonts
    • The Java font mechanism
    • Three options for fonts: logical fonts, platform fonts or embedded fonts
Handouts: 

Each attendee will receive a 250+ page booklet, one slide per page, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The C/C++ Internationalization workshop will provide attendees with a broad understanding of internationalization processes, issues and pitfalls. Numerous practical examples, from real projects, will be presented.

The workshop covers how C/C++ deal with: character sets and Unicode (including surrogates, UTF encodings, normalization forms and transcoding), locales and locale models for client-server applications, formatting for messages and for date/time/currency/numbers, text processing functions including search & sort, etc.

Target Audience: 

This course is intended for software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of C or C++ (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides software professionals with a solid foundation on software internationalization and a practical, extensive coverage of C/C++ internationalization techniques.

Duration: 

The agenda described below is for a one-day session (or 1.5 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop,

Agenda: 
  1. Internationalization with C/C++
    • POSIX C standard internationalization API
    • C++ standard internationalization API
    • Win 32 API
  2. Character sets and Unicode with C/C++
    • C/C++ vs. Unicode (version by version)
    • The standard wchar_t type
    • The TCHAR strategy
    • Unicode file I/O in C/C++
  3. Locales in C/C++
    • Definition
    • Identification, ISO 639, ISO 3166
    • Selection: install, start-up, run-time
    • C (POSIX) locales
    • C++ locales and facets
  4. Resources in C/C++
    • UNIX Message catalogs
    • Catgets and gettext
    • Windows Resource files
    • Message formatting
  5. Formatting and Parsing in C/C++

POSIX i18N APIs and C++ facets described for:

  • Working with date, time, numbers
  • Working with currency
  • Working with calendars
  • Message formatting in C++ (lack of)
  1. Text Processing in C/C++

POSIX i18N APIs and C++ facets described for:

  • Searching and Sorting
  • Boundaries: character, word, line, sentence
  • Basic character operations
  • Character properties
  1. Wrap-up
    • Evaluation of the Microsoft TCHAR approach
    • Presentation of the ZCHAR approach
    • Summary evaluation of C/C++ internationalization support
Handouts: 

Each attendee will receive a 200+ page booklet, one slide per page, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The SQL Server Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls as well as the specific features and methods required to internationalize an SQL Server database. In particular, the issues related to full-text search on international data are presented.

The workshop shows how SQL Server deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text processing functions, etc. Schema internationalization (tables, indexes) is discussed along with its performance and scalability implications. SQL and Transact-SQL code internationalization is discussed for stored procedures, views, CHECK constraints, triggers and client-side SQL.

Attendees will leave with a clear understanding of how to correctly and efficiently internationalize their database schema and stored procedures.

Target Audience: 

This course is intended for DBAs, DB developers, software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of databases and SQL (and have taken the pre-requisite "All About Internationalization" workshop).

Benefits: 

This workshop provides DBAs and DB developers with a solid practical foundation on SQL Server internationalization. Time will be saved as this workshop presents a cohesive overview from many reliable sources along with tested, working examples.

Duration: 

The agenda described below is for a one-day session (or 1.5 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 
  1. SQL Server Internationalization
    • SQL Server application development
    • Globalization features of SQL Server versions
    • Useful books and articles
  2. SQL Server and Locales
    • Collations: the SQL Server locales
    • Languages, character sets and collations
    • Server, login and session languages: what they affect
  3. SQL Server and Character Sets
    • Character set architecture
      • N types are Unicode, "non N-types" are code pages
      • System values are "Unicode"
      • UCS-2 vs. UTF-16 (vs. GB18030)
    • Communications: ADO, OLE DB, DB-Library, transcoding
    • Character set identification and enumeration
    • Choosing character sets and a Unicode strategy
    • Character set migration
  4. Collations in SQL Server
    • Collations: what they are and what they do
      • Sorting
      • Matching
      • CharSet for non-Unicode columns
    • Case insensitive, accent insensitive, kana-insensitive and width-insensitive collations
    • Windows collations and SQL collations
    • Collations at the server, database, column and expression levels
    • Collation Precedence Rules
    • Indexes and multiple language indexes for a single column
  5. Internationalizing the Schema
    • The cultural dimensions & field cultural categories
    • Field expansion, splitting, merging
    • Normalization vs. culture
    • Schema modifications for translation maintenance
  6. Internationalizing the SQL Code
    • Unicode data types and type conversions
    • Text processing functions, stored procedures
    • Date & time formatting
    • Number and currency formatting
  7. Full-text Search vs. Multilingual Data
    • Languages and indexing
    • Languages and querying
    • Word breakers and performance
Handouts: 

Each attendee will receive a 250+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

The Oracle Internationalization workshop provides attendees with a broad understanding of internationalization processes, issues and pitfalls as well as the specific features and methods required to internationalize an Oracle database.

The workshop shows how Oracle deals with: character sets and Unicode (including surrogates, UTF encodings, normalization forms and transcoding), locales and locale models for client-server applications, resources and resource maintenance, sorting & searching, date & time processing, formatting of numbers and currency, text processing functions, etc. Schema internationalization (tables, indexes) is discussed along with its performance and scalability implications. SQL and PL/SQL code internationalization is discussed for stored procedures, views, CHECK constraints, triggers and client-side SQL.

Attendees will leave with a clear understanding of how to correctly and efficiently internationalize their database schema and stored procedures.

Target Audience: 

This course is intended for DBA, DB developers, software developers, software architects, software technical project managers and team leaders. It is highly recommended that attendees have a working knowledge of databases, SQL. Knowledge of PL/SQL is also useful (mostly for chapter 6).

Benefits: 

This workshop provides DBA and DB developers with a solid practical foundation on Oracle database internationalization. Attendees will save literally months of confusion with the Oracle Globalization Guide.

Duration: 

The agenda described below is for a one-day session (or 1.5 days with supervised hands-on exercises).

Pre-requisites: 

This workshop presumes that attendees have already taken the "All About Internationalization" workshop.

Agenda: 
  1. Oracle Internationalization
    • Oracle application development
    • Globalization features of Oracle versions
  2. Oracle and Locales
    • Oracle locale types: client, server, database, session
    • Locales and views, triggers and constraints
    • The Oracle hierarchy of NLS parameters
    • Setting and retrieving NLS parameters in SQL and PL/SQL
  3. Oracle and Character Sets
    • Character set architecture and requirements
    • The database & client character sets
    • Character set identification and enumeration
    • Character set conversion for SQL statements and SQL data
    • Length semantics
    • Choosing character sets and a Unicode strategy
  4. Oracle Collation: Linguistic Sorting
    • Generic collation
    • Oracle binary sorts, monolingual sorts, multilingual sorts
    • How to sort with NLS_COMP & NLSSORT
    • Case insensitive and accent insensitive sorts
    • Reduced strength collation
    • Linguistic indexes
  5. Internationalizing the Schema
    • The cultural dimensions & field cultural categories
    • Field expansion, splitting, merging
    • Cultural "multiplication"
    • Normalization vs. culture
    • Schema modifications for translation maintenance
  6. Internationalizing the SQL Code
    • Unicode data types and type conversions
    • Unicode file I/O
    • Text processing functions
    • Number and currency formatting
    • Date & time formatting
  7. Character set migration
    • Migration costs and high-level tasks
    • CSSCAN: the database character set scanner
    • CHAR-based and NCHAR-based migration strategies
    • From import/export to zero-downtime on-the-fly!
Handouts: 

Each attendee will receive:

  • A 220+ page booklet, one slide per page, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.
  • A color-coded hierarchical "quick reference" to all Oracle NLS parameters.
Overview: 

Do you want to reach more people and generate more orders with a multilingual Web site? Do you want to set up your multilingual Web site in a manner that will make localization easier?

This workshop first discusses why businesses should globalize their Web sites and why both customers and vendors will often encounter surprising complexities in the process. In particular, the seemingly simple issue of handing off the Web site content is shown to be quite complex and full of pitfalls.

The language support features of the fundamental Web technologies (HTML, CSS, XML, XSL) are then presented. You will learn how to apply these features to the design of both static ("brochureware") and transactional Web sites.

Are you sure your investment in translating Web pages has not been wasted? Learn how to ensure Web users find the pages available in their language. Learn also how to produce multilingual forms and how to retrieve multilingual data from them.

The workshop wraps up by showing how to design and build a multilingual Web site and with a brief overview of Globalization Management Systems: systems designed to automate Web localization workflow.

Target Audience: 

This course is intended for web masters, web developers, web designers, web product managers, web testers, basically all stakeholders of your web application.

Benefits: 

This workshop provides attendees with detailed knowledge of the internationalization features of HTML and related technologies, as well as recommended best practices on how to combine them into a usable and maintainable multilingual Web site.

Duration: 

The agenda described below is for a one-day session.

Pre-requisites: 

There are no pre-requisites for this workshop, but prior attendance to the "All About Internationalization" workshop will provide a deeper understanding.

Agenda: 
  1. Business And Philosophy
    • Why do we do develop multilingual Web sites?
    • What is the ROI?
    • Why is it difficult?
    • The fall of English; the complexity of code
    • Ignorance & Underestimation
  2. The Web Building Blocks

A quick review of the basic web technologies to bring everyone to the same level.

  • Global Interoperability
  • Where are the Web standards?
  • HTML & CSS
  • HTTP & URL
  • Client-Side & Server-side scripting
  1. Connecting Customer & Vendor
    • "Just Make it International"
    • "Just Grab It"
    • The Customer-built Translation Tool
    • The content life cycle vs. translation
    • Establishing a sustainable localization process
  2. Character Sets and HTML
    • Brief review of character sets and Unicode
    • Character Set Identification
    • Character Set Selection
    • What can go wrong?
    • IANA 'CharSet' Registry
    • Browser Priorities For CharSet
    • Foreign "Language" Text Entry: HTML escaping mechanisms
    • Transcoding & the Reference Internationalization Model
    • Early Uniform Normalization
  3. Language Identification, Negotiation & Navigation

Getting the user to the right page!

  • Why language information?
  • Language Tags in HTML (and XML)
  • Language Selection
  • Simple Language Selection
  • Automated Language Selection
  • Designing language selection controls
  1. Multilingual Forms, Links, and Style Sheets
    • Forms and Query Parts
    • Multilingual Form Example
    • CSS Font Specification
    • <FONT> is Harmful
    • Ruby
    • Style Sheets & Character Sets
    • Style Sheet Authoring
  2. Designing the Multilingual Site
    • IDN: International Domain Name
    • IRI/IRL: Multilingual URI/URL
    • Organizing Multilingual Files & Directories
    • Language tags vs. language directories
    • Managing Localizables
    • Localizables: Identification & Externalization
    • Localizables: Baking vs. Frying Content
    • Managing risk vs. single executable
  3. Web Localization Workflow

The steps of web localization and how they can be automated by Globalization Management Systems.

  • Content Interface
  • Workflow Interface
  • Change Detection
  • Job Creation
  • Extraction
  • Segmentation & Leveraging
  • Costing & Approval
  • Work Distribution
  • Translation
  • Review
  • Functional Testing
  • Work Completion
  • Delivery & Notification
  • Billing & Collecting
  • Job Archival
Handouts: 

Each attendee will receive a 200+ page booklet, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.

Overview: 

Are you suffering from chronic "cut & paste" syndrome? Are manual operations introducing errors and eating up your localization budget? Do you feel the need for more automation? Would you like documents (or Web content) to be automatically routed to the translation vendor, and back? Would you like to automate many of the steps of the localization process itself?

Such automation capabilities exist today to some degree in various systems of various price/capability ranges. They are called "globalization management systems" (GMS) or "translation management systems" (TMS). Some are available for purchase; others are provided by the translation vendors themselves, some are leased, etc.

In order to understand and compare such different systems with disparate terminology, a generic model of automated localization workflow is described. A practical scenario is demonstrated by animating the model. The model is also used to visualize where existing industry standards apply in the localization process.

Finally, with the model well understood, a detailed evaluation framework is presented and applied to the available commercial systems. The evaluation framework covers a wide range of issues, both technical and business, relating to supported formats, translation tools, etc. The workshop concludes with an insightful discussion of the most significant, topical and current issues related to automating localization workflow.

Target Audience: 

This course is intended for localization managers, product managers, executives, international directors, translators and localization engineers… anyone whose budget or daily activity is impacted by localization.

Benefits: 

This workshop will help you understand what is involved in automating localization and help you decide whether you should consider purchasing a system or simply build a connector to existing systems.

Duration: 

The agenda described below is for a one-day session.

Pre-requisites: 

None.

Agenda: 
  1. Concepts: Globalization, Workflow, Translation & the Web

An overview of the basic concepts to ensure all attendees are on the same page:
globalization, translation memories, workflow, content types and repositories, CMS, GMS and the difference between the two, etc.

  1. ALW (Automated Localization Workflow) model

This section builds up graphically, item by item, a complete reference model of the localization process, starting from arbitrary source content and going through all the steps (change detection, analysis, leveraging, costing, workload management, translation, quality assurance, etc.) to produce localized content in several languages.

  1. ALW model: an animated scenario

The ALW model just built up is now animated with a simple scenario: the urgent production of a product brochure for simultaneous deployment on several country web sites. The step by step animation provides a deeper understanding of real issues that occur in actual usage of GMS or TMS.

  1. Applying the ALW model

This section uses the model to contrast existing systems. It then shows how several major technologies map to the model. Standards such as XLIFF, TWS, TMX, SRX, TBX, OLIF, GMX, etc. are mapped onto the model.

  1. ALW evaluation framework & comparisons

Each element of the model is now reviewed and evaluation criteria are specified. What functions should be available to the project manager? To the translator? How flexible should change detection be? Where is testing performed and how are bugs handled? You will be provided with a printed checklist of hundreds of questions. Comparisons of the major technologies will be presented.

  1. Significant issues

The Workshop concludes with a discussion of the most significant criteria discovered in this analysis. It presents those factors that are most likely to impact the cost, quality and ultimately success of your globalization effort.

Handouts: 

Each attendee will receive a workshop booklet, one slide per page, with ample room for notes, complete with table of contents and glossary. The booklet is designed to serve as a practical easy-to-use reference “book” for regular use during an internationalization project.