background preloader

i18n

Facebook Twitter

Libs

Internationalization and localization. Screenshot of software programs localized to Italian.

Internationalization and localization

In computing, internationalization and localization (other correct spellings are internationalisation and localisation) are means of adapting computer software to different languages, regional differences and technical requirements of a target market. Internationalization is the process of designing a software application so that it can potentially be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text.

Localization (which is potentially performed multiple times, for different locales) uses the infrastructure or flexibility provided by internationalization (which is ideally performed only once, or as an integral part of ongoing development). Microsoft[3] defines Internationalization as a combination of World-Readiness and localization. Scope[edit] See also[edit] Internationalization Activity Blog. See the program.

Internationalization Activity Blog

The keynote speaker will be Alolita Sharma, Director of Language Engineering from the Wikimedia Foundation. She is followed by a strong line up in sessions entitled Developers, Creators, Localizers, Machines, and Users, including speakers from Microsoft, Wikimedia Foundation, the UN FAO, W3C, Yandex, SDL, Lionbridge, Asia Pacific TLD, Verisign, DFKI, and many more. On the afternoon of the second day we will hold Open Space breakout discussions. Abstracts and details about an additional poster session will be provided shortly. The program will also feature an LD4LT event on May 8-9, focusing on text analytics and the usefulness of Wikipedia and Dbpedia for multiilngual text and content analytics, and on language resources and aspects of converting selected types of language resources into RDF. Detecting a Browser's Language in Javascript. Detecting a Browser’s Language in Javascript A new feature we are working on for geosay is the integration of Wikipedia.

Detecting a Browser's Language in Javascript

Most Wikipedia entries for physical locations list a longitude / latitude, which makes for the ideal data to include in geosay. Geonames.org provide a great JSONP service for accessing this data by location, which is perfect for integrating with geosay. However, one thorny issue I encountered was that the geonames API accepts a query parameter for language (Wikipedia data is provided in many languages), and ideally, if a user of geosay has a language preference other than English, we would like to respect that.

As our integration with the geonames webservice is via JSONP, with no server side invocation at geosay.com, we need a pure client side way of accessing the user’s language preference. Navigator.language which you might think would return the browser’s language setting (I changed my language to Chinese to test it): But it doesn’t. So what’s going on? Content negotiation. Content negotiation is a mechanism defined in the HTTP specification that makes it possible to serve different versions of a document (or more generally, a resource representation) at the same URI, so that user agents can specify which version fit their capabilities the best.

Content negotiation

One classical use of this mechanism is to serve an image in GIF or PNG format, so that a browser that cannot display PNG images (e.g. MS Internet Explorer 4) will be served the GIF version. To summarize how this works, when a user agent submits a request to a server, the user agent informs the server what media types it understands with ratings of how well it understands them.

More precisely, the user agent provides an Accept HTTP header that lists acceptable media types and associated quality factors. The server is then able to supply the version of the resource that best fits the user agent's needs. So, a resource may be available in several different representations. Internationalization. Access to the Web for all has been a fundamental concern and goal of the World Wide Web Consortium since the beginning.

Internationalization

Unfortunately, it is easy to overlook the needs of people from cultures different to your own, or who use different languages or writing systems. If you do, you will build specifications and content that present barriers to the use of your technology or content for many people around the world. Learn more below about: What is Internationalization? If you internationalize, you design or develop your content, application, specification, and so on, in a way that ensures it will work well for, or can be easily adapted for, users from any culture, region, or language. The word 'Internationalization' is often abbreviated to 'i18n'.

Examples One fundamental aspect of internationalization is to ensure that the technology supports text in any writing system of the world. There are other factors to consider, however, when using characters. These are just a few examples of many.