B
B
Billflow
Search…
Support multiple languages
Features and advanced usage of language settings

How does it work?

Our embeds will automatically detect your end user's browser language preference to determine what language the embed will render in. If the language is not supported by our embed, a default language will be displayed. The default language is English US.

Current supported languages

Language / Locale
Support
Code
English US
Default
en
Chinese (Simplified)
Yes
zh
Danish
Yes
da
French
Yes
fr
German
Yes
de
Italian
Yes
it
Polish
Yes
pl
Spanish
Yes
es
Norwegian
Yes
no
Brazilian Portuguese
Yes
pt-BR
More languages are coming soon! You can contribute and help us provide the embed in more languages by translating the JSON fies into the language that you support as well. Just send us the translated files via the Intercom chat below.

Dashboard

On the Billflow dashboard, you will find the settings form for each embeds that looks like the following screenshot. In the following sections, we describe the with an example value for each settings field.

Custom text override by key values

This is a way for you to change some text for the language you chose. You can refer to the language files for your desired language to find the right key-value pairs and change the value to override the text.
You can put your custom translation in the box highlighted in this screenshot
For example:
1
{
2
"SectionTitle_Pricing": "欢迎,请选择一个计划开始!"
3
}
Copied!

Backend URL

A backend for the custom translation files that you'd like to provide.
1
https://storage.googleapis.com/your-i18n-custom/{{lng}}/{{ns}}.json"
Copied!

Advanced Usage

The configuration options do not need to be changed at all for Internationalization to work, but it does unlock the ability for you to pass in your own language file, or change the default text in the embeds easily.
Using this functionality you can also change the text of the Billflow pages for your default language. Use the keys in the translation files to lookup the text you want to change, and pass in your desired wording like so:

Embed configuration options

Property Name
Type
Required
Description
i18n.defaultLng
string
no
Changes the default language of the embed, overriding user browser preference. Example: "zh"
i18n.resources
array
no
An array of resource objects. Each object is a resource for a language and namespace.
i18n.resources[0].lng
string
yes
The language of this resource object
i18n.resources[0].ns
string
yes
The namespace of this resource object
i18n.resources[0].resource
object
yes
The resource object with key value pairs to provide a translation string to the language and namespace defined, where value is the translated string.
You can find the appropriate keys by looking through one of the English JSON files.
i18n.backend
object
no
You can use a backend, a file system of your own such as AWS s3 or Google cloud storage to provide translation files.
i18n.local_storage_caching
boolean
no
To disable use of browser local storage for caching i18n files, set this property to false, the default is true. Use this option if your application runs in an environment where local storage is not permitted.

Backend usage

You can provide a backend URL to the configuration, our embed will automatically fetch each file at render time.
Important!
Make sure CORS is enabled for dashboard.billflow.io and your website/webapp's domain on your server.
Translation files are cached for 3 hours in browser, when implementing a custom language file, please use a fresh Incognito window to see the changes.
Example: Using google cloud storage
    1.
    Create a bucket named your-i18n-custom
    2.
    Create a folder structure and files as follows (we are using French as an example)
      1.
      fr
        1.
        common.json
        2.
        portal.json
        3.
        pricing.json
        4.
        custom.json
    3.
    In each file, you can copy the English JSON files contents and do your translation.
You can even use this way to define your own custom English version, if for any reason you would like to change how your embed text is rendered in English. For example, if you want to change the Pricing page heading to say "Welcome, please pick a plan to start!" instead of the default text "Pricing", you can do that this way.

Example configuration

1
// Example i18n configuration
2
3
"options": {
4
"i18n":{
5
"defaultLng":"zh",
6
"resources":[
7
{
8
"lng":"zh",
9
"ns":"custom",
10
"resource":{
11
"SectionTitle_Pricing":"欢迎,请选择一个计划开始!"
12
}
13
}
14
],
15
"backend":{
16
"loadPath":"https://storage.googleapis.com/your-i18n-custom/{{lng}}/{{ns}}.json"
17
}
18
}
19
}
Copied!

Translation files

These are the default English text that we are using in our embeds, you can download them and translation / change them the way you like it, then use your version in the embed!
Last modified 2mo ago