Webportal v2

embedded apps

API Reference - settings.language

Required Privacy: Data & Location
Operations:

This API allows read the HMI configured language.

Note: Subscribing to settings.language does not allow to use tolerance & period default subscribe behavior. Indeed the event is triggered only if the date, time or timezone is changed by the user.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
language

Language code according to RFC 3066.

string

RFC 3066

en-GB
regionSubtag

Force region subtag for all languages. For example it becomes IT-it.

boolean

- true: forced region subtags

- false: region subtags only when relevant
true
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
webportal.get(
    /* api name */
    "settings.language",
    /* parameters */
     null
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "GET", 
  "api": "settings.language",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
12
13
// --- format of the `REPLY` message ---

{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "api": "settings.language",
  "status": 200,
  "statusText": "OK", 
  "data":  { 
    "language": "en-GB",
    "regionSubtag": true
  } 
}

false

This API allows read the HMI configured language.

Note: Subscribing to settings.language does not allow to use tolerance & period default subscribe behavior. Indeed the event is triggered only if the date, time or timezone is changed by the user.

Input Parameter
No input params
Output Data
Data name Description Type Unit/Values Example
old

Prevous selected language code according to RFC 3066.

string

RFC 3066

en-GB
new

New selected language code according to RFC 3066.

string

RFC 3066

fr-FR
Code Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
webportal.subscribe(
    /* api name */
    "settings.language",
    /* parameters */
     null,
    /* callback for `NOTIFY` messages */
    async (notifyMessage) => {
      if (notifyMessage.status === 200) {
        /* handle `NOTIFY` response */
      }
      else { /*  handle `NOTIFY` error  */ }
    }
  )
  /* callback for `REPLY` messages */
  .then((message) => {
    if (message.status === 200) {
      /* handle `REPLY` success */
    }
    else { /* handle `REPLY` error */ }
  })
1
2
3
4
5
6
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0", 
  "type": "SUBSCRIBE", 
  "api": "settings.language",
  "params":  null
}
1
2
3
4
5
6
7
8
9
10
11
// --- format of the `REPLY` message ---
// type: acknowledge the status of the subscription
// reception: only once after the subscription request
// contains outputed data: no
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "REPLY",
  "status": 200,
  "statusText": "OK"
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// --- format of the `NOTIFY` message ---
// type: event message about the subscription
// reception: each time the conditions of the subscription are met
// contains outputed data: yes
{
  "id": "7372c16f-5f2f-42c9-84a7-5490e35f1be0",
  "type": "NOTIFY",
  "api": "settings.language",
  "status": 200,
  "statusText": "OK", 
  "data":  { 
    "old": "en-GB",
    "new": "fr-FR"
  } 
}