@brandingbrand/fsi18n
TypeScript icon, indicating that this package has built-in type declarations

11.88.1 • Public • Published

FSI18n

Internationalization helper for Flagship. Automatically reads the user's current locale and uses it to format numbers, dates, and strings.

Uses react-native-i18n/i18n-js for strings, Number.prototype.toLocaleString for numbers, and Date.prototype.toLocaleString under the hood.

Installation

yarn add @brandingbrand/fsi18n
yarn add react-native-i18n

The react-native-i18n package must be added to your project as a dependency so the native modules will link correctly.

Example Usage

Assume the user's language preference is set to French (fr-FR).

import FSI18n from '@brandingbrand/fsi18n';
const translations = {
  en: {
    greeting: 'Hello',
  },
  fr: {
    greeting: 'Bonjour',
  },
  es: {
    greeting: 'Hola',
  },
};

FSI18n.addTranslations(translations);
FSI18n.string('greeting'); // Bonjour
import FSI18n from '@brandingbrand/fsi18n';
FSI18n.number(1234.56); // 1 234,56
import FSI18n from '@brandingbrand/fsi18n';
FSI18n.currency(1234.56, 'EUR'); // 1 234,56 €
FSI18n.currency(1234.56, undefined, {
  currency: 'USD',
  currencyDisplay: 'code',
}); // 1 234,56 USD
import FSI18n from '@brandingbrand/fsi18n';
FSI18n.percent(0.123456); // 12 %
import FSI18n from '@brandingbrand/fsi18n';
const importantDate = new Date('Nov 1, 2018');
FSI18n.date(importantDate); // 01/11/2018

Currency Override

Some clients might want Australian dollars to display as "A$ 19.99" instead of the default "AUD 19.99"

To get this to work you need represent each currency you want to override as a key value pair with the key being a three character ISO-4217 currency code and the value being the desired symbol.

IOS-4217 standard: https://www.iso.org/iso-4217-currency-codes.html

Here is an example of using the addCurrencyOverrides()

import FSI18n, { MappedCurrencySymbols } from '@brandingbrand/fsi18n';

const currencyOverrides: MappedCurrencySymbols = {
  AUD: 'A$',
  USD: 'US$',
};

FSI18n.addCurrencyOverrides(currencyOverrides);

Dependencies (5)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @brandingbrand/fsi18n

    Weekly Downloads

    1,716

    Version

    11.88.1

    License

    MIT

    Unpacked Size

    128 kB

    Total Files

    36

    Last publish

    Collaborators

    • bbtravisreadonly
    • tom_thornton
    • philtompkins
    • nathan-sankbeil
    • chrisjlan89branding
    • branderbrett
    • skyeckstrom
    • nickburkhartbb
    • bbtravis
    • deemaabdallah
    • msiauko
    • jasonmosleybb
    • dshadrick
    • nickbb
    • notajvento
    • andyschwob
    • xero
    • varzamanbb
    • bb_jenkins
    • crherman7
    • wsedlacekc
    • ckornell
    • jmwr
    • mjweb48