This package provides a collection of locale configs, used in BBC World Service sites.
The following Moment.js locales have been added as they do not exist upstream:
/moment/am
- locale override for Amharic/moment/ha
- locale for Hausa/moment/ig
- locale for Igbo/moment/om
- locale override for Afaan Oromoo/moment/pcm
- locale for Pidgin/moment/ps
- locale for Pashto/moment/rw
- locale for Gahuza/moment/so
- locale for Somali/moment/ti
- locale for Tigrinya
The following locales have overrides to meet BBC World Service requirements where these differ from the upstream locale. Note that importing them will also cause the upstream locale to be loaded.
/moment/ar
- locale override for Arabic/moment/az
- locale override for Azeri/moment/bn
- locale override for Bengali/moment/es
- locale override for Spanish (Mundo)/moment/gu
- locale override for Gujarati/moment/hi
- locale override for Hindi/moment/ky
- locale override for Kyrgyz/moment/mr
- locale override for Marathi/moment/ne
- locale override for Nepali/moment/pa-in
- locale override for Punjabi/moment/pt-br
- locale override for Brasil/moment/ru
- locale override for Russian/moment/si
- locale override for Sinhala/moment/sr
- locale override for Serbian/moment/sr-cyrl
- locale override for Serbian Cyrillic/moment/sw
- locale override for Swahili/moment/ta
- locale override for Tamil/moment/th
- locale override for Thai/moment/uk
- locale override for Ukrainian/moment/ur
- locale override for Urdu/moment/uz
- locale override for Uzbek/moment/yo
- locale override for Yoruba
/numerals
- Numerals in several different number systems, e.g. Bengali, Burmese, Eastern Arabic, Western Arabic. This can be used for localised numbers for components. Returns arrays of the format ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'];
These can either be imported and used directly or in conjunction with the makeNumeralTranslator
helper function below.
makeNumeralTranslator
is a small helper that returns a function that translates any 'Western' Arabic numerals in the input string into the specified numeral system.
It accepts one argument system
which is an array of numeral system symbols such as one of the ones above, and returns a translator function. If the argument is omitted or an invalid numeral system is supplied then the translator returns input strings unchanged. Note that currently only the first 10 symbols from the array are used.
For an example see Usage, below.
npm install @bbc/psammead-locales --save
import moment from 'moment';
import '@bbc/psammead-locales/moment/ig';
moment.locale('ig');
import { Bengali, makeNumeralTranslator } from '@bbc/psammead-locales/numerals';
const translateNumerals = makeNumeralTranslator(Bengali);
const result = translateNumerals(someInput); // returns someInput with numbers translated to Bengali
Psammead is completely open source. We are grateful for any contributions, whether they be new components, bug fixes or general improvements. Please see our primary contributing guide which can be found at the root of the Psammead respository.
We welcome feedback and help on this work. By participating in this project, you agree to abide by the code of conduct. Please take a moment to read it.
Psammead is Apache 2.0 licensed.