- Open Access
- Total Downloads : 338
- Authors : H Sudarshan, B Surendra Prabhakar, Y Anitha
- Paper ID : IJERTV2IS100109
- Volume & Issue : Volume 02, Issue 10 (October 2013)
- Published (First Online): 07-10-2013
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
A Research Review on Localization of Websites with .NET Framework
H Sudarshan B Surendra prabhakar
Department of Computer Science and Engineering Dept of computer Science Engineering
MLRIT, Hyderabad MLRIT, HYD
Dept of computer Science Engineering JNTUK,KAKINADA
AbstractWebsites are created for sharing the information, data, and an easy way to get life better through online shopping, online banking and billing. The main goal of localization of websites is to target vast number of users. To localize the website, the website need to be internationalized. Internationalization is a process which makes an application world ready. It makes possible an application to support different languages, culture specific issues. Once the application is internationalized the culture specific files are added to make that application localized. In other words localization is a process of adapting an application to specific locale. This complete process also termed as globalization. That is globalization is combination of internationalization and localization. This can be achieved using different technologies. Microsoft .NET provides robust support for globalization. This paper gives brief description about the internationalization process, considerations for websites, creating localized websites with .Net framework by using a sample website.
In the recent trends there is an enormous increase in usage of websites. The rise of the multinational companies around the world, as per the client needs the process of internationalization of websites is the major consideration for designing of websites.
The importance of localization can effectively clarified using the following statistics
As per the Common Sense advisory, Evolution and Revolution in Translation Management, 2008, it would take 83 languages to reach 80 percent of people in the world and 7000 to reach every one.
56.2 percent of consumers say that the ability to obtain information in their own language is more important than price. (Common Sense Advisory, Can't Read, Won't Buy: Why Language Matters on Global Websites, 2006)
74 percent of multinational enterprises believe it is either important or most important to achieve increased revenues from global operations. (California State University at Chico, 2007)
65 percent of multinational enterprises believe localization is either important or very important for achieving higher company revenues. (California State University at Chico, 2007)
71 percent of North American executives expect revenues from foreign operations, sales and/or imports to increase. (Chubb, 2008, Multinational Risk Survey)
A critical success factor for cross boarder merger and acquisition deals is the ability to communicate information clearly and accurately in multiple languages. (Merrill Corporation, How to do Better Multinational M&A Deals, 2008)
95 percent of Chinese online consumers indicate greater comfort level with websites in their language; only one percent of US-based online retailers offer sites specific to China. (Forrester Research, Translation and Localization of Retail Web Sites, 2009)
Localization is the process of adapting an application to specific culture. This process involves translation of all presentation elements of application to corresponding language. In case of websites, the final result of localization process is culture specific page. The ideal process should not affect the look and feel of application after translation. It is also referred as L10N in usage.
Internationalization is process of making an application language neutral, culture neutral. It involves separation of business code from presentation logic. The internationalization process results an application which supports different languages and cultures. It also referred as I18N.
Globalization is a developing a world ready application. Globalization process involves developing an internationalized application followed by localizing the content. In other words globalization is combination of internationalization and localization.
Internationalization of websites can be achieved using different technologies such as java, .net.
The next sections of this paper describes about internationalization process, localization considerations and
.NET support for localization of websites.
Localization of websites can be implemented indifferent ways for example one can maintain separate webpage for each culture or develop single webpage that supports different cultures. Also the choice of language can be provided to user or can be automatically set from operating system or browser settings. For example in Google website the choice is provided on page for selecting language and in Microsoft website the page is retrieved as per the browser settings
The complete process is illustrated in the fig.1
When targeting multiple languages one must consider several issues during development cycle. The design of webpage will be affected if we do not consider these issues. The best practices will reduce the time for localization.
The localization of websites involves mainly two steps. First the design of website should support for localization .The issues to be considered in designing include layout design, placing of controls which will be effected after translation because of swelling of text. This can be achieved by following some coding practices like avoiding concatenation of strings in code which will change with grammar. The content to be translated should be placed in separate files. This content can be maintained either in separate files ex: resource files or in database
The next step in localization process is testing the application whether it is supporting localization or not.
During localization phase language specific literal strings are translated and build with application. The
translation can be either manual or machine translation. Then the application is built with specific files. Last stage is testing of application in specific environments.
There are several issues to be considered for building internationalized website that support localization. These can be broadly classified into four categories such as language specific issues, Formatting issues, user interface issues.
When a webpage is developed to support different languages then it should support all symbols in those languages, the writing direction also differs for example the Arabic languages follow right to left direction. Other issues include formatting of text, writing conventions, number representations, Hot keys support, issues with different keyboard layouts.
Other considerations in website localization are time and date formats, currency formats, changes in cultures with country like colors, country specific numbers, measurements etc.
NET FRAMEWORK SUPPORT
Microsoft .NET framework is a convergence of many technologies to bring new platform for windows development which preserved compatibility with Win32 and COM, with large library and language interoperability…NET base class library includes user interface, database connectivity, and web application development support.
.NET framework provides robust support for localization or internationalization process.
The .NET framework uses UTF-8 internally. It uses Unicoe UTF-16(Unicode transformation format, 16 bit encoding form) to represent characters. Also the System. Text provide support for UTF and other encodings
.NET framework provides support for Globalization with System.Globalization namespace. This namespace contains classes that define culture related information including language, country/region, calendars in use, and format patterns for dates, currency, sorting order of strings and number formats. These classes are used in writing globalized applications. The StringInfo and TextInfo provide support for advanced globalization functionalities including surrogate support and text element processing.
The culture for webpage is set using CultureInfo class. The .NET framework 4supports minimum of 354 cultures and .NET framework 3.5 supports 203 cultures. Along with these one can create new custom cultures with combination of different language and country codes using custom culture builder methods.
The System.Resources namespace contains classes and interfaces that enable developers to create, store, manipulating and using various culture specific resources used in application. The system.Text namespace contains classes representing ASCII, ANSI, Unicode, and other character encodings.
The System.Reflection namespace contain types that provide a managed view of loaded types, methods, and fields, and that enable customized reflection contexts.
ResourceManager class provides convenient access to culture-specific resources at run time. ResourceManager object is instantiated to retrieve resource from an embedded
.resources file by calling one of its class constructor overloads. This tightly couples a ResourceManager object with a particular .resources file and with any associated localized .resources files in satellite assemblies.
Also .NET provides several utilities for resource file management for ex: resgen and al.exe. Resource files are typically any non-executable data file used by the application, such as image, audio and video files. A resource file can have specific meanings in certain contexts. For example in the context of application localization, resource file refer to .resx files, which can be deployed in satellite assemblies. Resgen.exe is a general-purpose resource conversion utility which performs the following conversions
:Converts .txt files to .resources or .resxfiles ,Converts
.resources files to text or .resx files, converts.resx to text or
.resources files. The Assembly Linker tool is used to create an assembly with a manifest from one or more files that are either modules or resource files.
A Resource Editor is a specialized environment for creating or modifying resources that are included in a visual studio project. The visual studio environment has techniques and interfaces to create and modify application resources quickly and easily.
The DateTime structure provides methods such as DateTime.ToString and DateTime.Parse that allows performing culture sensitive operations on a DateTime. The DateTimeFormatInfo class formats datetime based on culture. Similarly NumberFormatInfo class defines how currency, decimal separators, and other numeric symbols are formatted and displayed based on culture. And The CompareInfo class provides methods for culture sensitive string comparisons.
To load appropriate resource from application code the value for CultureInfo.CurrentUICulture property should be set. This property can be set either explicitly from application code or by common language runtime based on locale for current user on local machine.
ASP.NET provides interfaces and controls for creating web pages in less time. It supports internationalization with some controls. The Localize control in ASP.NET webpage allows to control the text that is displayed in localize control by setting text property , which is inherited from Literal control. This is used by just dragging from toolbox taskpane to webpage.
The Web.config, a web forms configuration file, provides settings for every webform page in same directory as the configuration file. Each file contains a globalization section in which one can specify default encodings and cultures with <Globalization> element.
ASP.NET provides support for bidirectional languages. By default , the asp.net controls inherit reading order from page they are in . Additionally one can set the reading order for individual controls by using direction
property to RTL from properties dialog box(Dir for HTML server controls).Another interesting feature in ASP.NET support is to generate resource file for the page directly from tools menu using the option generate localized resource file.
It follows some directory structure for resource file maintenance. In ASP.NET there are two folders global resource files for resource files that used through the application and local resources folders for page specific resource files. If the matching resource file with extension is not found then resource from default file will be loaded dynamically.
But in some cases the .NET framework does not provide any programmatic support in some areas that vary widely by culture, for such cases one has to write custom code to handle features like the following: Addresses, telephone numbers, paper sizes, temperatures, units of measure used for lengths, eights, area, volume etc.
SAMPLE WEB APPLICATION
The .NET framework support for localization of websites can be effectively illustrated using following sample web application.
This website uses C# language and ASP.NET technologies for creation. As explained in above sections for creating localized webpage, it should be first developed to support multiple locales. The application displays welcome string, time and date at left of the page and some content from database.
First master page is created and corresponding resource file is generated from tools menu, using generate local resource .Since it is specific to page it will be placed in local resources folder. If this is to be used through the application place that resource file in global resource file
.This will act as default resource file for that page. To localize this page just copy and place in that folder then rename file by adding culture extension. For example if web page is Default.aspx then generated resource files name is default.aspx.resx, localized resource file name is default.aspx.en-IN.resx(for Indian English culture),default.aspx.it-IT.resx for Italian culture and default.aspx.hi-IN.resx Then the literal strings are modified from resource editor. After build the culture specific resource string is retrieved depending upon CultureInfo.currentCulture value. The CultureInfo implicitly sets value from browser language settings. This can be through code also.
For the content on master page, localize control is used. And language specific Strings are edited from resource editor.
For the welcome label, the string to be displayed on label is stored in separate resource file by creating resource file explicitly from visual studio add new item option. For Localizing this label; resource manager class is used which will retrieve string basing on cultureInfo object
The date and time formats are set using DateTime methods. Currency is formatted as per the selected culture.
The choice for language selection is provided using listbox.Here the strings are translated using Google translator. One can use manual
For diplaying database content depending on cultureInfo database is maintained to support multilingual elements. This application uses row database localization.
The database can be maintained to support different languages in several ways like separate row for each row, or separate column for each language or separate table for each language elements.
Another major issue to be considered with websites is its stateless. So for each request the culture information is maintained using sessions.
In this application the default cultureto be displayed as per the operating system region and culture settings. Choice
for changing language is provided in list box, once the item is selected the culture is set to the thread. So the applications will display content in that culture.
Figure2 displays webpage in English language, the culture of that page is English US culture.Figure3 displays same page in Hindi language, the culture of that page is Hindi India (hi-IN) and Figure 4 displays webpage with Italian cultures (it-IT).
Figure 2: sample website in English (en-US) culture
Figure 3: sample website with Hindi language (hi-IN) culture
Figure 4: Sample website in Italian language with it-IT culture
The localization of websites makes it possible to quick use of application in multiple locales. It will reduce time in accessing webpage. It will improve revenue and profits from other markets. Microsoft .Net provides rich, robust and elegant support for localization. It reduces time for developing localization of websites. This paper discussed about localization importance, process and .NET framework support for localizing websites. There are several challenges in the area of research in localization. Several organizations like localization research center have contributed for the research in localization. Still there is a need for the research in the field of localization that implies the process of localization much easier. Recently the trend of localization has become a passion and a professional course attracting the IT professionals and students.