Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.

Slides:



Advertisements
Similar presentations
Microsoft Office SharePoint Portal Server 2007 Introduction to InfoPath Forms Services Daryl L. Rudolph.
Advertisements

Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Master Pages, User Controls, Site Maps, Localization Svetlin Nakov Telerik Corporation
Building International Applications with Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corporation.
Developing Arabic Applications with Visual Studio 2005 Dina Lasheen Program Manager – Developer Division.
Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Why.NET? Various languages struggling to interoperate with each other Developers undergoing huge learning curves to shift from one language to another.
1 An Introduction to Visual Basic Objectives Explain the history of programming languages Define the terminology used in object-oriented programming.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
 Visual Studio has great support for building ASP.NET web applications  Real web application development involves more than just copying the files created.
Creating Multi-lingual Applications and Websites with Microsoft Visual Studio 2005 Achim Ruopp International Program Manager Microsoft Corporation.
Platforms and tools for Web Services and Mobile Applications Introduction to C# Bent Thomsen Aalborg University 3rd and 4th of June 2004.
IT533 Lectures Configuring, Deploying, Tracing and Error Handling.
Tutorial: Introduction to ASP.NET Internet Technologies and Web Application 4 th February 2010.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
CIS 375—Web App Dev II ASP.NET 2 Introducing Web Forms.
Introduction to ASP.NET. Prehistory of ASP.NET Original Internet – text based WWW – static graphical content  HTML (client-side) Need for interactive.
1 Namespaces and Assemblies © University of Linz, Institute for System Software, 2004 published under the Microsoft Curriculum License.
Session 1 - Introduction and Data Access Layer
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
Microsoft Visual Basic 2005: Reloaded Second Edition
Understanding Code Compilation and Deployment Lesson 4.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Importing outside DLLs into.Net platform and using them By Anupama Atmakur.
Computing IV Visual C Introduction with OpenCV Example Xinwen Fu.
WEB326 ASP.NET 2.0: Going Global Gets Easier! New Localization Features in ASP.NET 2.0 Michele Leroux Bustamante Architect, IDesign Microsoft Regional.
The Company….  The Market Leader in Globalization Technology –Pioneers in visual translation environments –Solutions for major platforms & programming.
ASSEMBLIES AND THE GAC CHAPTER 1, LESSONS 4-7 & LAB.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Scalable Game Development William Roberts Senior Game Engineer
.NET Framework Danish Sami UG Lead.NetFoundry
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Globalization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files.
10 – 12 APRIL 2005 Riyadh, Saudi Arabia. Building multi-lingual ASP.Net application that handle western languages and Arabic with a single code base.
DEV382 Building International Applications with the.NET Framework Christian Nagel Microsoft Regional Director Global Knowledge.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
.NetDeploymentNOEA / PQC 2005 Application Deployment and Versioning Source: Joe Hummel, kursus i.Net, jan
Microsoft.NET Norman White Stern School of Business.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Internationalization in ASP.NET 2.0. SQL Server 2005 – Data Columns Use Unicode datatypes in: Table columns, CONVERT() and CAST() operations Use Unicode.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
DEV392.NET Framework: Building Applications With Globalization In Mind Michele Leroux Bustamante Principal Software Architect IDesign Inc.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
Module 4: Deployment and Versioning. Overview Introduction to Application Deployment Application Deployment Scenarios Related Topics and Tools.
Assemblies. 2 Objectives Introduce assemblies –concept –creation –naming Discuss deployment –main.exe –dependent assemblies.
Entity Framework Database Connection with ASP Notes from started/getting-started-with-ef-using-mvc/creating-an-
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
Alexey Polovinkin Post graduate student, CMC department.
//liveVirtualacademy2011/ What’s New for ASP.NET 4.5 and Web Development in Visual Studio 11 Developer Preview Γιώργος Καπνιάς MVP, MCT, MCDP, MCDBA, MCTS,
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Working in a Mobile App Development Environment Lesson 2.
7/23/2016 CSC 325 Advanced Programming Techniques Localization Slide #1 1 Localization Mikhail Brikman.
Random Logic l Forum.NET l Localization & Globalization Forum.NET ● May 29, 2006.
ClickOnce Deployment (One-click Deployment)
ASP.NET Programming with C# and SQL Server First Edition
INF230 Basics in C# Programming
Metropolia 2013 C# programming and .NET framework
Globalization support in ASP.NET
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
ASP.NET Imran Rashid CTO at ManiWeber Technologies.
ClickOnce Deployment (One-click Deployment)
Windows Forms in Visual Studio 2005: An in-depth look at key features
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.

Agenda Definitions Resources: Creating Building Using Localizing Windows Forms and strings Localizing ASP.NET applications

Localizability vs. Localization Localizability The ability of a product and/or content (including text and non-text elements) to be adapted for any local market (locale). Localization The process of adapting a product and/or content (including text and non-text elements) to meet the language, cultural, and political expectations and/or requirements of a specific local market (locale).

CultureInfo Neutral culture Based on language Resource only No formatting CurrentUICulture only Specific culture Based on language & region Resource & Formatting specifics CurrentCulture & CurrentUICulture

Resource Model.NET Framework uses a new resource model any serializable object can be a resource (e.g. also sound, images) resource model is extensible to new formats localization focuses on text, Windows Forms formats fully supported in the.NET Compact Framework for smart devices

Resource source formats text format (.txt) simple name/value pairs only suitable for string resources ResX XML format (.resx) Simple, (almost) human-readable XML format Can include arbitrary objects Can be created with Visual Studio Some samples in the.NET Framework SDK

Resource generation process.resx file XML-based file Describes resources.resources file binary compiled file assembly executable with default resources resource-only satellite assembly (.resources.dll).resx file.resources file assembly with resources resgen al/compiler

Naming convention and layout Naming pattern conventions.resources files:..resources Satellite assemblies.resources.dll Directory locations for satellite assemblies: A subdirectory per culture either neutral or specific cultures can be used Myproject.dll \fr\myproject.resources.dll(neutral) \de-DE\myproject.resources.dll(specific)

Naming convention and layout continued Installing satellite assemblies into the global assembly cache (GAC) assemblies need to be strong-named (SN tool) a strong name consists of a name, version number and culture combined with a digital signature Servicing the main assembly without revising the satellite assemblies – SatelliteContractVersionAttribute

System.Resources namespace ResourceManager Provides access to culture-correct resources at runtime. ResourceWriter Writes resources to an output stream or file ResourceReader Reads resource name-value pairs from resources files and streams ResourceSet Stores all resources localized for a particular culture

Loading Resources Creating a Resource Manager The resource manager constructor indicates the file from which resources are to be loaded. Several alternatives Load from a loose.resources file Load from this assembly Load from another assembly Load from a custom resource format if you write your own resource manager (e.g. a database) See.NET SDK, Samples and Tutorials, ASP.NET QuickStarts, and How Do I … samples

Loading Resources, continued Resource manager can be used to load both strings and objects: RM.GetString(“string”, new CultureInfo(en-NZ )) RM.GetString(“string2”) RM.GetObject(“Button1.Cursor”) Loads requested resources based on Thread.CurrentThread.CurrentUICulture Fallback hierarchy derived from RFC 1766

Resource Fallback

Localizability support in the Visual Studio.NET IDE Windows Forms provide localization support: every form has a Localizable property Localizable property set to True: the project system automatically keeps track of different language versions of a form builds the different language forms into satellite assemblies the resource format used for Windows Forms is the ResX format ResX resource template can be used for string resources is supported by the project system in the development environment

External localization process any XML localization tool can be used WinRes: tool for visual editing of Windows Forms contained in.NET Framework SDK does not require access to source 3 rd party localization tools enabled for the new resource format: ForeignDesk (Lionbridge) Alchemy CATALYST

Demo Creating a localized Windows Forms application with Visual Studio

ASP.NET And Localization ASP.NET has a flexible resource model There is not “only one way” to organize localizable resources Applications vary Developers can choose The following section shows a few alternatives.NET Framework SDK has additional samples ASP.NET QuickStarts, localization section, working with resources files.

ASP.NET Localization Options A: localizable resources included in source (like ASP) Copy of each page per language Specify culture in page directive or web.config Advantages: Good for static content Rapid initial development Disadvantages: High maintenance costs Not suitable for dynamic content Localizers and developers are working on same file. Not recommended

ASP.NET Localization Options continued B: Resources separated from source Use Resource Manager to load resources Resources could be in Loose.resources files Satellites below each main assembly A separate (parallel) main assembly with satellites below it One.resources file or satellite per language Slightly different ResourceManager constructors for each case

ASP.NET Localization Options continued B: (continued) Advantages: Can deploy additional languages incrementally, without redeploying core code Lower maintenance costs, as there is one central app, not many parallel versions. Disadvantages: More files Loose.resources can have locking issue. No locking issue for satellites or parallel main assembly with satellites. Shadow-copying done for EXEs and DLLs (main assemblies and satellites). Samples: ASP.NET Quickstarts, Localization section Recommended: use satellite DLLs

Demo ASP.NET localized application

Summary.NET Framework provides built-in support for localization (and globalization) Visual Studio makes it easier to build localized applications ASP.NET builds on Framework support for international app development Can separate code from resources Can utilize.NET Frameworks classes Developers can develop/host multi-cultural apps on a single server

References.NET Framework SDK: Developing World-Ready Applications Samples SDK Tools Visual Studio.NET Visual Studio.NET\Visual Basic and Visual C#\Globalizing and Localizing Culture identifier syntax (RFC 1766)

Questions?