The i18n subproject was started to provide good multilingual support to all applications that might need it. The goals of the subproject are the following:

  1. Toolkit related tasks:
    • Provide an easy translation system for our toolkit
    • Provide multidirectional conversion utilities from other translation and i18n systems for our toolkit
    • Integrate with the user’s system locale for formatting of time, date and currency
    • Provide great system font integration including loading default system fonts, managing scaling, automatically dealing with Unicode codepoint mappings and more
    • Help IME integration in core underlying technologies such as dear imgui and glfw
  2. UntitledKBD
  3. Translation of projects, docs and other text we own

Introduction to the project and what it seeks to achieve

The main goal of the project is to provide a smooth multilingual experience for both developers of the applications and users of the software. This means easy integration with translation tools, while for users it means that Unicode renders as expected, preferrably with their default system font and that if they use an IME, the application integrates with it

The need for creating this project is because dear imgui doesn’t have a native localization system, which is expected since that’s only a library, but for our framework and toolkit it’s unacceptable to not have one. Because of this we have to implement our own system. Additionally dear imgui doesn’t select any fonts for the user, therefore we have to implement a mechanism to fetch the default system fonts and apply them to their specific Unicode code point range in dear imgui.

Finally while imgui should support that integration with IMEs is unfortunately lacking outside of Windows. This is because the underlying glfw library that we use for Windowing doesn’t support IMEs internally, while libraries like SDL do, because of this IME support in dear imgui is currently unimplemented. Before actually contributing IME support to dear imgui, we first need to get glfw to support them natively, fortunately a pull request has been made that addresses this. We’re currently experimenting with the fork of glfw that has IME support and once we have enough knowledge of the library, we will probably help the developers in delivering this feature

As a final note to what we do, we have translations. Currently we only have English and Bulgarian versions of our applications. With time we want to have them available in more languages to better accomodate more users

Briefly about UntitledKBD

UntitledKBD is our efford to create a unified keyboard layout converter and generator

Here’s the issue: If I run colemak for typing in English and the Bulgarian phonetic layout has almost the same layout as QWERTY, why can’t I easily convert my English Colemak to a Colemak Bulgarian Phonetic.

We seek to fix this issue by providing a CLI and GUI application that generates keyboard layouts from other layouts. This will fix a big problem that has plagued the alternative keyboard layouts field for quite a while. Additionally we want to make this tool fully cross-platform, meaning support for all major IMEs, input systems and keyboards. Here are our planned target platforms:

  1. Unix:
    • XKB
    • IBus
    • FCITX5
  2. Windows:
    • Windows input
  3. Android
    • Plugin for AnySoftKeyboard


  1. Stanislav Vasilev(Madman10K)