Socket
Socket
Sign inDemoInstall

@brandingbrand/fsi18n

Package Overview
Dependencies
5
Maintainers
92
Versions
557
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

@brandingbrand/fsi18n


Version published
Maintainers
92
Created

Readme

Source

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);

FAQs

Last updated on 10 Aug 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc