- Print
Localization
- Print
Localization Module 0.15.0
Usage
To use the Localization module, you can import it into your project from the Firebolt SDK:
import { Localization } from '@firebolt-js/sdk'
Overview
Methods for accessessing location and language preferences
Methods
additionalInfo
Get any platform-specific localization information, in an Map<string, string>
function additionalInfo(): Promise<object>
Promise resolution:
object
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:additional-info |
Examples
Default Example
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.additionalInfo()
.then(info => {
console.log(info)
})
Value of info
:
{}
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.additionalInfo",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}
countryCode
Get the ISO 3166 code for the counrty device is located in
To get the value of countryCode
call the method like this:
function countryCode(): Promise<string>
Promise resolution:
type CountryCode = string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:country-code |
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.countryCode()
.then(code => {
console.log(code)
})
Value of code
:
"US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.countryCode",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "US"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.countryCode()
.then(code => {
console.log(code)
})
Value of code
:
"US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.countryCode",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "UK"
}
To subscribe to notifications when the value changes, call the method like this:
function countryCode(callback: (value) => string): Promise<number>
Promise resolution:
number
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
countryCode(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of code
:
"US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onCountryCodeChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "US"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
countryCode(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of code
:
"US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onCountryCodeChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "UK"
}
language
Get the ISO 639 1/2 code for the preferred language
To get the value of language
call the method like this:
function language(): Promise<string>
Promise resolution:
type Language = string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:language |
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.language()
.then(lang => {
console.log(lang)
})
Value of lang
:
"en"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.language",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "en"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.language()
.then(lang => {
console.log(lang)
})
Value of lang
:
"en"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.language",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "es"
}
To subscribe to notifications when the value changes, call the method like this:
function language(callback: (value) => string): Promise<number>
Promise resolution:
number
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
language(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of lang
:
"en"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLanguageChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "en"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
language(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of lang
:
"en"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLanguageChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "es"
}
latlon
Get the approximate latitude and longitude coordinates of the device location
function latlon(): Promise<[number, number]>
Promise resolution:
type LatLon = [number, number]
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:location |
Examples
Default Example
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.latlon()
.then(latlong => {
console.log(latlong)
})
Value of latlong
:
[
39.9549,
75.1699
]
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.latlon",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
39.9549,
75.1699
]
}
listen
To listen to a specific event pass the event name as the first parameter:
listen(event: string, callback: (data: any) => void): Promise<number>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event to listen for, see Events. |
callback | function | Yes | A function that will be invoked when the event occurs. |
Promise resolution:
Type | Description |
---|---|
number | Listener ID to clear the callback method and stop receiving the event, e.g. Localization.clear(id) |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
data | any | Yes | The event data, which depends on which event is firing, see Events. |
To listen to all events from this module pass only a callback, without specifying an event name:
listen(callback: (event: string, data: any) => void): Promise<number>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
callback | function | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see Events. |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event that has occured listen for, see Events. |
data | any | Yes | The event data, which depends on which event is firing, see Events. |
Promise resolution:
Type | Description |
---|---|
number | Listener ID to clear the callback method and stop receiving the event, e.g. Localization.clear(id) |
See Listening for events for more information and examples.
locale
Get the full BCP 47 code, including script, region, variant, etc., for the preferred langauage/locale
To get the value of locale
call the method like this:
function locale(): Promise<string>
Promise resolution:
type Locale = string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:locale |
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.locale()
.then(locale => {
console.log(locale)
})
Value of locale
:
"en-US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.locale",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "en-US"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.locale()
.then(locale => {
console.log(locale)
})
Value of locale
:
"en-US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.locale",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "es-US"
}
To subscribe to notifications when the value changes, call the method like this:
function locale(callback: (value) => string): Promise<number>
Promise resolution:
number
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
locale(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of locale
:
"en-US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLocaleChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "en-US"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
locale(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of locale
:
"en-US"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLocaleChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "es-US"
}
locality
Get the locality/city the device is located in
To get the value of locality
call the method like this:
function locality(): Promise<string>
Promise resolution:
type Locality = string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:locality |
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.locality()
.then(locality => {
console.log(locality)
})
Value of locality
:
"Philadelphia"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.locality",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Philadelphia"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.locality()
.then(locality => {
console.log(locality)
})
Value of locality
:
"Philadelphia"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.locality",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Rockville"
}
To subscribe to notifications when the value changes, call the method like this:
function locality(callback: (value) => string): Promise<number>
Promise resolution:
number
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
locality(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of locality
:
"Philadelphia"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLocalityChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Philadelphia"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
locality(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of locality
:
"Philadelphia"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onLocalityChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "Rockville"
}
once
To listen to a single instance of a specific event pass the event name as the first parameter:
once(event: string, callback: (data: any) => void): Promise<number>
The once
method will only pass the next instance of this event, and then dicard the listener you provided.
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event to listen for, see Events. |
callback | function | Yes | A function that will be invoked when the event occurs. |
Promise resolution:
Type | Description |
---|---|
number | Listener ID to clear the callback method and stop receiving the event, e.g. Localization.clear(id) |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
data | any | Yes | The event data, which depends on which event is firing, see Events. |
To listen to the next instance only of any events from this module pass only a callback, without specifying an event name:
once(callback: (event: string, data: any) => void): Promise<number>
Parameters:
Param | Type | Required | Summary |
---|---|---|---|
callback | function | Yes | A function that will be invoked when the event occurs. The event data depends on which event is firing, see Events. |
Callback parameters:
Param | Type | Required | Summary |
---|---|---|---|
event | string | Yes | The event that has occured listen for, see Events. |
data | any | Yes | The event data, which depends on which event is firing, see Events. |
Promise resolution:
Type | Description |
---|---|
number | Listener ID to clear the callback method and stop receiving the event, e.g. Localization.clear(id) |
See Listening for events for more information and examples.
postalCode
Get the postal code the device is located in
To get the value of postalCode
call the method like this:
function postalCode(): Promise<string>
Promise resolution:
string
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:postal-code |
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.postalCode()
.then(postalCode => {
console.log(postalCode)
})
Value of postalCode
:
"19103"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.postalCode",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "19103"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.postalCode()
.then(postalCode => {
console.log(postalCode)
})
Value of postalCode
:
"19103"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.postalCode",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "20850"
}
To subscribe to notifications when the value changes, call the method like this:
function postalCode(callback: (value) => string): Promise<number>
Promise resolution:
number
Examples
Default example #1
JavaScript:
import { Localization } from '@firebolt-js/sdk'
postalCode(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of postalCode
:
"19103"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onPostalCodeChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "19103"
}
Default example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
postalCode(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of postalCode
:
"19103"
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onPostalCodeChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": "20850"
}
preferredAudioLanguages
A prioritized list of ISO 639 1/2 codes for the preferred audio languages on this device.
To get the value of preferredAudioLanguages
call the method like this:
function preferredAudioLanguages(): Promise<string[]>
Promise resolution:
string[]
Capabilities:
Role | Capability |
---|---|
uses | xrn:firebolt:capability:localization:language |
Examples
Default Example
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.preferredAudioLanguages()
.then(languages => {
console.log(languages)
})
Value of languages
:
[
"es",
"en"
]
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.preferredAudioLanguages",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"es",
"en"
]
}
Default Example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
Localization.preferredAudioLanguages()
.then(languages => {
console.log(languages)
})
Value of languages
:
[
"es",
"en"
]
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.preferredAudioLanguages",
"params": {}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"en",
"es"
]
}
To subscribe to notifications when the value changes, call the method like this:
function preferredAudioLanguages(callback: (value) => string[]): Promise<number>
Promise resolution:
number
Examples
Default Example
JavaScript:
import { Localization } from '@firebolt-js/sdk'
preferredAudioLanguages(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of languages
:
[
"es",
"en"
]
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onPreferredAudioLanguagesChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"es",
"en"
]
}
Default Example #2
JavaScript:
import { Localization } from '@firebolt-js/sdk'
preferredAudioLanguages(value => {
console.log(value)
}).then(listenerId => {
console.log(listenerId)
})
Value of languages
:
[
"es",
"en"
]
JSON-RPC:
Request:{
"jsonrpc": "2.0",
"id": 1,
"method": "Localization.onPreferredAudioLanguagesChanged",
"params": {
"listen": true
}
}
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"en",
"es"
]
}
Events
countryCodeChanged
See: countryCode
languageChanged
See: language
localeChanged
See: locale
localityChanged
See: locality
postalCodeChanged
See: postalCode
preferredAudioLanguagesChanged
Types
LatLon
type LatLon = [number, number]