Globalize (JavaScript library)

{{Short description|Cross-platform JavaScript library}}

{{Infobox software

| name = Globalize

| logo = frameless

| author = Rafael Xavier de Souza

| developer = jQuery Foundation

| released = {{Start date and age|2015|04|23}}

| latest release version = {{wikidata|property|edit|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| programming language = JavaScript

| platform = See Browser support

| genre = JavaScript library

| license = MIT License{{cite web

| url = https://jquery.org/license/

| title = License - jQuery Project

| accessdate = 2016-01-30

| publisher = jQuery Foundation

}}

| website = {{URL|github.com/globalizejs/globalize}}

}}

Globalize is a cross-platform JavaScript library for internationalization and localization that uses the Unicode Common Locale Data Repository (CLDR).

Overview

Globalize provides number formatting and parsing, date and time formatting and parsing, currency formatting, unit formatting, message formatting (ICU message format pattern), and plural support.

Design Goals:

  • Leverages the Unicode CLDR data and follows its UTS#35 specification.
  • Keeps code separate from i18n content. Doesn't host or embed any locale data in the library. Empowers developers to control the loading mechanism of their choice.
  • Allows developers to load as much or as little data as they need. Avoids duplicating data if using multiple i18n libraries that leverage CLDR.
  • Keeps code modular. Allows developers to load the i18n functionalities they need.
  • Runs in browsers and Node.js, consistently across all of them.
  • Makes globalization as easy to use as jQuery.

Globalize is based on the Unicode Consortium's Common Locale Data Repository (CLDR), the largest and most extensive standard repository of locale data available. CLDR is constantly updated and is used by many large applications and operating systems, to always have access to the most accurate and up-to-date locale data.

Usage

Since Globalize doesn't bundle any localization data, it has to be first initialized using some CLDR content:

var Globalize = require( "globalize" );

Globalize.load( require( "cldr-data" ).entireSupplemental() );

Globalize.load( require( "cldr-data" ).entireMainFor( "en", "es" ) );

Globalize("en").formatDate(new Date());

// > "11/27/2015"

Globalize("es").formatDate(new Date());

// > "27/11/2015"

History

Globalize was first announced in October 2010 by John Resig[http://blog.jquery.com/2010/10/04/new-official-jquery-plugins-provide-templating-data-linking-and-globalization/ Announcement of jQuery Globalization on jQuery Blog] and originally developed by David Reed, sponsored by Microsoft, under the name jQuery Globalization plugin,[https://github.com/globalizejs/globalize/commit/3fc4b83d15a3337d5d9e70efebb36a4a8af0f861 Initial commit of jQuery Globalization on GitHub] built on top of an export of the .net locale database.[https://github.com/globalizejs/globalize/tree/3fc4b83d15a3337d5d9e70efebb36a4a8af0f861/generator The source files for the generator on GitHub] From there the dependency on jQuery was removed[https://github.com/globalizejs/globalize/commit/252f8ad0f668dbc63c7c43deef160acc9b3c9746 GitHub commit that starts a non-jQuery dependent version of the library] and the project renamed to Globalize.[https://github.com/globalizejs/globalize/commit/5cdac721d5ac49e708dc690fc15d60c7dc526bac Final GitHub commit to rename the repo from jquery-global to Globalize] In a much larger effort, the project was entirely rewritten on top of Unicode's CLDR, making use of its comprehensive and accurate coverage of all kinds of localization data.[http://blog.jquery.com/2015/04/23/announcing-globalize-1-0/ Announcement of Globalize 1.0]

References