🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

@mozilla/l10n

Package Overview
Dependencies
Maintainers
0
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mozilla/l10n

Mozilla tools for localization

0.6.0
latest
Source
npm
Version published
Weekly downloads
6
20%
Maintainers
0
Weekly downloads
 
Created
Source

@mozilla/l10n

This is a library of JavaScript tools and utilities for working with localization files, primarily built for internal use at Mozilla.

It's being bootstrapped to fulfil the needs of the Pontoon frontend, and to match the behaviour of the Python moz.l10n library.

The data structures used by the library are defined by a JSON Schema.

The library currently supports the following message pattern formats:

  • android: Android string resources
  • fluent: Fluent (without internal selectors)
  • mf2: MessageFormat 2.0
  • plain: Patterns without placeholders (used in multiple resource formats)
  • webext: WebExtensions (messages.json)
  • xliff: XLIFF 1.2, including XCode customizations

The tooling for android and xliff depends on DOMParser, XMLSerializer, and related classes which are available in browser environments. The parser for fluent depends on the @fluent/syntax package, and the parser for mf2 depends on the messageformat package.

API

parsePattern()

import { ParseError, parsePattern } from '@mozilla/l10n'
function parsePattern(
  format: 'android' | 'fluent' | 'mf2' | 'plain' | 'webext' | 'xliff',
  src: string,
  baseMsg?: Message,
  onError?: (error: ParseError) => void
): Pattern

class ParseError extends Error {
  range?: [number, number]  // Set for fluent, mf2, and webext errors
}

Parse the string representation of a single flat message pattern into a data structure (JSON Schema).

The baseMsg is required by webext for named placeholders.

If onError is undefined, errors are thrown.

serializePattern()

import { SerializeError, serializePattern } from '@mozilla/l10n'
function serializePattern(
  format: 'android' | 'fluent' | 'mf2' | 'plain' | 'webext' | 'xliff',
  pattern: Pattern,
  onError?: (error: SerializeError) => void
): string

class SerializeError extends Error {
  pos?: number  // Set for fluent, plain, and webext errors
}

Serialize the data representation of a single flat message pattern into a string

If onError is undefined, errors are thrown.

Types

import type {
  Message,
  PatternMessage,
  SelectMessage,
  Pattern,
  Expression,
  Markup
} from '@mozilla/l10n'
type Message = Pattern | PatternMessage | SelectMessage
type Pattern = (string | Expression | Markup)[]

Keywords

moz.l10n

FAQs

Package last updated on 03 Mar 2025

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