Localization of content of website
Objective: To reach globally, every organization planned to localized the website which means that content of the website would be available in the user own language, which will give comfort to end user and it will be easy to communicate.
Points need to follow:
To localize a website successfully, there should be very clear defined policy from functional and clearly adapted by technical. Since localization mistakes and oversights can be awkward for website users and potentially embarrassing for the company, make sure to get it right — it's absolutely worth the time and effort.
We need to pay attention on some couple of points:
- Dates: Need to have clear understanding that which date format is being used at which place and should get displayed in that format. E.g. Month, day, year vs. day, month, year.
- Time: Weather the time cycle should be 12-hour vs. 24-hour time.
- Color: Avoid local color sensitivities.
- Currency: Pay attention to conversions and formats.
- Phone Numbers: Formats are different around the world.
- National Holidays: Holidays are country and region specific.
- Geographic Examples: Keep it relevant for your audience.
- Website Language Codes: ISO codes are important to know.
- Brand Identity: Consistency plays an important role in maintaining a company’s image.Having a carefully localized slogan/tagline for company can be an effective way to foster relationships with potential customers in new markets.
- Language Lengths: Some languages appear longer when written or typed. So we need to be artistic for same content in different language to fit in same space. Make no mistake; a one-size-fits-all approach doesn’t work with website localization. People do things differently around the world; therefore, companies going global must adapt and adjust to succeed.
- Risk Assessment: Aim to avoid any unintended consequences that could be embarrassing or potentially hazardous to the company.
- Cultural Sensitivity: People have strong feelings about things like colors, symbols and metaphors. Does the color white symbolize purity or death for your intended audience?
Note: When the aim is to make it look like you've developed the website in your target market, the details are incredibly important.
Technical Challenge
While translating existing text to other languages may seem easy, it is more difficult to maintain the parallel versions of texts throughout the life of the product. For instance, if a message displayed to the user is modified, all of the translated versions must be changed. This in turn results in a somewhat longer development cycle.
There is big responsibility on QA team to assure that whatever the translated data is being displayed is correct, developer does not having any idea of data which he is inserting into database or writing into resource file, the small typo mistake can be big embarrassment.
There is no advance technical skills required to do localization but definitely there are good amount of manual development effort to push the content into the system and make sure that they are being displayed correctly.
Lot of back and forth time consuming activity is involved in development.
There is good amount of cost is involved in localization. Providing a localization package for a given language is in itself a non-trivial undertaking, requiring specialized technical writers to construct a culturally appropriate syntax for potentially complicated concepts, coupled with engineering resources to deploy and test the localization elements. Further, business operations must adapt to manage the production, storage and distribution of multiple discrete localized products/service, which are often being sold/used in completely different currencies, regulatory environments and tax regimes.
Development Approach
The content localization is done in multiple steps:
1. Stable application -The application should be stable in parent language(e.g. English)
2. Requirement – Very clearly defined requirement what should be localized or what should not. What is the localization for functional team:
a. Does localization means certain content like label of control/header/static data will get localized based on user profile and rest of the content (i.e. dynamic content) will be available in website parent language only?
b. Does localization mean that application supports multiple languages but each language is configured at setup time?
c. Does localization mean that the user can switch between a few predefined languages?
d. Are they expecting an auto-adapting behavior from application that figures out the language to use from some context?
3. Based on point no 2 approach we can decide the best suited methodology, I am explaining solution based on 2.a, we can change the approach based on your input.
4. Content availability – The localized resource should be available from trusted source i.e. fully verified from functional team.
5. The static content/label/headings would be available in resource file , there would be separate resource file for each language
6. There would be some master data which is being displayed in dropdown or checkbox or any control will be stored in table against respective languages.
7. All transactional data ( user input will be captured in “As-It Is” format i.e. whatever the format of data end user will input the system will be able to capture and store it and will display back in same fashion without making changes
8. For the dynamic data pulled from system(database) will be displayed in English format only to end user, if we wanted to display the dynamic content into localized format then we can put the all localized content into database and pull it from the db to display at UI
9. Culture for date/time, regional settings , currency, symbol usage and other UICulture will be configured, .net framework supports the culture and make the changes at runtime .
10. We can opt for separate View for localizing the content in different language for the scenario where we need different markup for different cultures.
11. In this context the View naming convention matters a lot to keep maintainability high
12. We can extend the RazorViewEngine to make the view engine searching for language dependent views before taking the default ones.
13. The localized views reside in one subfolder per language.
14. The used language is determined by the current Thread’s UI culture.
IMPLEMENTATION
The localization framework has been developed as reusable component. To use this framework we
need to following set of rules & facts:
1. Make sure main application is in stable condition in default language.
2. Should have all language respective resource file in application, these resource file should be placed in App_Resource folder.
3. TimeZone will be getting of end user system timezone and convert the DateTime data which must be stored back in UTC format in database and display the user local date & time at UI, for implementation.
4. The number format will be based on culture from which user belongs, and will be displaying the number format in same, for implementation - refer the sample code in project
5. Display the currency format along with converted data based on the culture
Comments
Post a Comment
Please post your comments