Skip to content

Dynamic Language Addition ​

Overview ​

VoerkaI18n supports dynamically adding language support after application deployment. This means you can add support for new languages without recompiling and redeploying the application.

Implementation ​

Step 1: Configure Language Pack Loading ​

First, you need to modify the language pack loading function in languages/loader.{js|ts} to load language packs from the server.

javascript
// languages/loader.js
module.exports = async (language,scope)=>{
    return await (await fetch(`/languages/${scope.id}/${language}.json`)).json()
}

Step 2: Save Language Pack Files ​

Save the language pack files on the web server at the specified location /languages/<application name>/<language name>.json.

Step 3: Add Language Support ​

javascript
// Add language support
await VoerkaI18n.addLanguage("ja-JP",{
    title:"Japanese",
    icon:"/flags/ja-JP.png"
})

Notes ​

  1. The language pack file format must be consistent with the existing language pack format
  2. The language pack file must be accessible through HTTP requests
  3. After adding a new language, you need to call VoerkaI18n.change() to switch to the new language
  4. The language pack file should include all translation content, including messages and paragraphs