the company…
DESCRIPTION
The Company…. The Market Leader in Globalization Technology Pioneers in visual translation environments Solutions for major platforms & programming languages 24.9% owned by Corel Corporation Sales growing 60+% annually Currently 10,000+ customers worldwide Offices in Ireland and USA. - PowerPoint PPT PresentationTRANSCRIPT
The Company….
The Market Leader in Globalization Technology– Pioneers in visual translation environments
– Solutions for major platforms & programming languages
– 24.9% owned by Corel Corporation
– Sales growing 60+% annually
– Currently 10,000+ customers worldwide
– Offices in Ireland and USA
Our Product… Alchemy CATALYST delivers :-
– SpeedSpeed : Faster delivery of products to market
– ConsistencyConsistency : Automate product revisions with glossary and translation memory tools
– ReducedReduced CostsCosts : Reduced QA/Engineering and Translation times using integrated environment
ConsistencySpeed ReducedCosts
Agenda What is Microsoft .NET ?
– NET Framework– NamesSpaces – System.Globalization– Launching a .NET Application
Develop a .NET Application– Multi-Lingual Application– Create code to switch UI language
Localizing a .NET Application– Creating different language Cultures– Re-integrating translations
QA
60 mins60 mins
What is Microsoft .NET ?
Microsoft's platform for building, deploying, operating and integrating Web services– Rich XML, standard protocols– Cross-language development– Common language runtime
• Common type system for all languages• Rich runtime environment
– Rich class libraries (.NET Framework)• Windows Forms for rich, Win32 applications• Web application platform ASP.NET
Multi-lingual support– Rich API for internationalization features
==
.NET Framework .NET Framework
– Globalization Namespaces– Culture-sensitive classes– Resource Model
ASP .NET– International Support– Localization Options
VisualStudio.NET– Unicode Development Environment– XML– Unified IDE
• VB, C#, C++
.NET Framework 100% Unicode internally
– Supports UTF-8 and UTF 16 encoding schemes
Consistent operations– Windows XP, Windows 2000, NT 4.0, 98,
95 etc. Supports all NLS (Locale Support)
– Collation Tables– String Comparisons– Language Processing (Casing etc.)– Currency, Date & Time etc.
Globalization Namespaces
Heart of the .NET Framework
System.Globalization– Core NLS services (Date/Time, Currency, String
management etc.) System.Resource
– Multi-Lingual Resource Services System.Text
– Core character conversion Services. (To/From Unicode)
Security
Threading
Text
ServiceProcess
I/O
Reflection
Net
Resources
Globalization
Collections
Diagnostics
Serialization
System
System.Globalization
Culture-aware String Services– String Management
• Casing, Comparison, Collation, • Segmentation, Enumeration etc.
– Date/Time Formatting• dd/mm/yy, yy/mm/dd
– Numeric Formatting• 12,000,000 and 12.000.000
– Calendar Support• Gregorian, non-gregorian
Our focus today :-– CultureInfo Class
LocalesLocales
System.Globalization.CultureInfo
Information about specific cultures (Locales)
– CurrentCulture• String casing and comparison• Collation• Numeric Formatting
Culture Names– RFC 1766 Standard
• <LanguageCode>-<RegionCode>
de-ATde-CHde-DE
Thread.CurrentThread.CurrentCulture = new CultureInfo(“es-ES");
CultureInfo
CurrentUICulture
CurrentCulture
System.Globalization.CultureInfo
Setting the UI of a .NET application
If not specified, .NET framework sets it for you !– GetUserDefaultUILanguage– (ie UI Language of the OS)
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");
CultureInfo
CurrentUICulture
CurrentCulture
System. System. GlobalizatiGlobalizationon
Launching .NET Applications
CultureInfo
CurrentUICulture
CurrentCulture
using System.Globalization;
Thread.CurrentThread.CurrentCulture = new CultureInfo(“fr-FRfr-FR");
Set UI Language to FrenchFrench, using Regional settings for FranceFrance !
ExampleExample 11
Locale
Language
Launching .NET Applications
CultureInfo
CurrentUICulture
CurrentCulture
using System.Globalization;
Thread.CurrentThread.CurrentCulture = new CultureInfo(“fr-CAfr-CA");
Set UI Language to FrenchFrench, using Regional settings for CanadaCanada !
ExampleExample 22
Locale
Language
Launching .NET Applications
CultureInfo
CurrentUICulture
CurrentCulture
using System.Globalization;
Thread.CurrentThread.CurrentCulture = new CultureInfo(“en-CAen-CA");
Set UI Language to EnglishEnglish, using Regional settings for CanadaCanada !
ExampleExample 33
Locale
Language
Launching .NET Applications
de-AT
de-DE
de-LU
de-CH
Root .NET Application
de
ja
Application DirectoryApplication Directory
CultureInfo
CurrentUICulture
CurrentCulture
RFC 1766 Standard
•Directory Structure
•Filename(s)
Launching .NET Applications
de-AT
de-DE
de-LU
de-CH
Root .NET Application
de
ja
Application DirectoryApplication Directory
CultureInfo
CurrentUICulture
CurrentCulture
Thread.CurrentThread.CurrentUICulture = new CultureInfo(“ja");
Launching .NET Applications
de-AT
de-DE
de-LU
de-CH
Root .NET Application
de
ja
Application DirectoryApplication Directory
CultureInfo
CurrentUICulture
CurrentCulture
Thread.CurrentThread.CurrentUICulture = new CultureInfo(“de");
Launching .NET Applications
de-AT
de-DE
de-LU
de-CH
Root .NET Application
de
ja
Application DirectoryApplication Directory
CultureInfo
CurrentUICulture
CurrentCulture
Thread.CurrentThread.CurrentCulture = new CultureInfo(“de-CH");
Launching .NET Applications
de-AT
de-DE
de-LU
de-CH
Root .NET Application
de
ja
ResourceResource FallbackFallback MechanismMechanism
CultureInfo
CurrentUICulture
CurrentCulture
Fallback mechanism used to locate appropriate resources
– Attempt to load de-CHde-CH resource assemble
– If not available, load dede assembly
– If not available, load defaultdefault application resources
– Else raise an exceptionexception! 11
22
33
Building .NET Applications
Resources are defined in XML documents
– RESX Files Filenames are significant
– Main1.resx– Main1.fr.resx– Main1.de.resx
Satellite Assemblies– For each language variant
.resx file.resx file
.resource file.resource file
.resource.dll file.resource.dll file
CompilationCompilation ProcessProcess
Building .NET Applications
Resources are defined in XML documents
– RESX Files Filenames are significant
– Main1.resx– Main1.fr.resx– Main1.de.resx
Satellite Assemblies– For each language variant
RESXRESX StructureStructure
Main1Main1..resxresx
Main1.fr.resxMain1.fr.resx
Building .NET Applications
Resources are defined in XML documents
– RESX Files Filenames are significant
– Main1.resx– Main1.fr.resx– Main1.de.resx
Satellite Assemblies– For each language variant
RESX StructureRESX Structure
Main1Main1..resxresx
Main1.fr.resxMain1.fr.resx
Main1.de.resxMain1.de.resx
Building .NET Applications
Resources are defined in XML documents
– RESX Files Filenames are significant
– Main1.resx– Main1.fr.resx– Main1.de.resx
Satellite Assemblies– For each language variant
Satellite AssembliesSatellite Assemblies
Main1.resxMain1.resx
Main1.fr.resxMain1.fr.resx
Main1.de.resxMain1.de.resx
Root .NET Application
de
fr
Application DirectoryApplication Directory
Building .NET Applications
Resources are defined in XML documents
– RESX Files Satellite Assemblies
– For each language variant Filenames are significant
– Main1.resx– Main1.fr.resx– Main1.de.resx
Our First .NET ApplicationOur First .NET Application
Simple .NET Application• En, Fr, De Languages• Menu, Dialog, Strings• Rich Text Editor
Translating .NET Applications
Satellite Assemblies Translation Process
– Insertion– Translation– Extraction
Application Rebuild– Microsoft C# compiler
Application Directory StructureApplication Directory Structure
LrcApp.Exe
de
en
fr
Localization Process – Localization Process – .resx.resx
Questions