5.1.1 • Published 10 months ago

bobril-g11n v5.1.1

Weekly downloads
15
License
MIT
Repository
-
Last release
10 months ago

bobril-g11n

Bobril Globalization extension

npm version

Changelog: https://github.com/Bobris/Bobril-g11n/blob/master/CHANGELOG.md

install from npm:

npm install bobril-g11n --save

It is expected to be used together with bobril-build to handle all code and translation generation. Internally uses moment.js, numeral.js, CLDR. Inspired by formatjs.io. Uses very similar message format. Though I was not satisfied with Intl polyfill. Message parse for speed and size written in hand optimized code instead of Pegjs.

Usage in TypeScript:

import * as b from 'bobril';
import * as g from 'bobril-g11n';

g.initGlobalization({
	pathToTranslation(locale:string):string { return 'tr/'+locale+'.js'; }
});

b.init(()=>{
	return { tag:'div', children: g.t('Hello {who}!', { who: 'World' }) };
});

With bobril-build, you don't need to call g.initGlobalization at all. It will correctly set path to translation by defining global method g11nPath. Just make sure to not call t before bobril will call init factory.

With if you don't need translation to different language just format text with current locale use function f like this:

let modified = Date.now() - 100000; // only sample in reality you would get this from server or whatever
let displayThisInTableCell = g.f('{modified, time, relative}', { modified });

Function getMoment() will give you instance of moment library with locally set current locale.

Set different locale - it will asynchronously download translation file and automatically invalidate Bobril view including ignoring shouldChange results, so your bobflux implementation does not need to care about current locale change.

g.setLocale('cs-CZ');

This is one of examples how to make really human readable messages:

g.t('{numPhotos, plural, =0{no photos} =1{one photo} other{# photos}}', { numPhotos: 1 });
5.1.1

10 months ago

5.1.0

1 year ago

5.0.4

3 years ago

5.0.3

3 years ago

5.0.2

3 years ago

5.0.1

4 years ago

5.0.0

4 years ago

4.4.1

5 years ago

4.4.0

5 years ago

4.3.1

6 years ago

4.3.0

6 years ago

4.2.0

6 years ago

4.1.0

6 years ago

4.0.0

7 years ago

3.3.4

7 years ago

3.3.3

7 years ago

3.3.2

7 years ago

3.3.1

7 years ago

3.3.0

7 years ago

3.2.1

7 years ago

3.2.0

7 years ago

3.1.0

7 years ago

3.0.0

7 years ago

2.3.0

7 years ago

2.2.0

7 years ago

2.1.3

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.0

8 years ago

1.4.0

8 years ago

1.3.0

8 years ago

1.2.0

8 years ago

1.1.0

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.7.0

8 years ago

0.6.1

8 years ago

0.6.0

8 years ago

0.5.0

9 years ago

0.4.3

9 years ago

0.4.2

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.0

9 years ago