Skip to main content

First Class i18n Support - Multiple Language Support for a Single Form

So it would be great for single forms to be able to have multiple translation variations.

Probably the cleanest way would be using i18n strings.

Ideally we'd be able to specify the language tags ourselves, as it can be different per implementation e.g. en-US, en-UK, pt-PT, pt-BR etc. which is the ISO standard afaik. But some prefer to use e.g. just 'en' for US english, 'br' for Brazilian Portuguese. 

You could potentially make use of this:

https://github.com/txty-io/texterify

It has transitioned from a BSL to Apache v2 license. I've used their managed solution for years and it's been great.

There is also inlang/opral:

https://github.com/opral/monorepo/tree/main/inlang

I only use paraglide from inlang/opral and it's quite nice for the front end, but not sure about their string management solution as I have not tried that.

We'd need to be able to send the language tag to the form, particularly for embedded ones, to ensure it's possible to make sure the correct language can be loaded matching the currently used language on the site it is embedded on.

Could perhaps have a json file that is downloadable for the primary language as well as uploading the translated versions. Could also potentially allow editing the strings inside the web panel and machine translations also.

E.g. opnform.com/forms/uuid/en-US could use the en-US.json file, opnform.com/forms/uuid/pt-BR could use the pt-BR.json file etc.

This would also allow using languages that aren't officially supported yet also, so we could provide our own translations for all form fields, success/error messages etc.

Alternatively, it could be limited to languages officially supported. In that case, the translations would only need to cover the user modified parts. Just ideally would still use a url structure like above so it follows standards and all user cases could be covered.

3 comments

Log in to comment and vote

Comments3

  • Archie

    Team•

    Feb 27, 2025

    Hi There,

    Thank you fro sharing this feedback. We might be able to consider this in our future updates.

    Best,

  • form_enthusiast

    •

    Feb 14, 2025

    Something to take into account, is there are many variations of languages. Some notable examples that vary fairly significantly from the native language (fr-FR, pt-PT etc.) for example:

    pt-BR

    de-CH

    nl-BE

    fr-CA

    es-MX

    es-AR

    it-CH

    ar-EG

    ar-LB

    zh-CN

    zh-TW

    zh-HK

    So it can be an issue using short tags like ‘en’ as it’s not standardised. Using the country code can sort of work, but then there are countries that have multiple official languages that are used by a significant amount of their population. So imo sticking with the ISO standard is ideal.

  • form_enthusiast

    •

    Feb 14, 2025

    Minor correction: The en-UK example, it should be en-GB - often forget that haha.