Skip to content
This repository has been archived by the owner on Aug 13, 2023. It is now read-only.

Latest commit

 

History

History

psammead-locales

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

psammead-locales - Known Vulnerabilities Dependency Status peerDependencies Status GitHub license npm version PRs Welcome

This package provides a collection of locale configs, used in BBC World Service sites.

Exports

Moment locales

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

Numeral systems

/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(system)

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.

Installation

npm install @bbc/psammead-locales --save

Usage

Moment locales

import moment from 'moment';
import '@bbc/psammead-locales/moment/ig';

moment.locale('ig');

Numerals

import { Bengali, makeNumeralTranslator } from '@bbc/psammead-locales/numerals';

const translateNumerals = makeNumeralTranslator(Bengali);
const result = translateNumerals(someInput); // returns someInput with numbers translated to Bengali

Contributing

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.

License

Psammead is Apache 2.0 licensed.