Mike's Notes
Recently, I received an email from SIL KeyMan requesting donations to support their excellent, free, open-source, multilingual keyboards. They had lost a major donor whose circumstances had changed. This article is about what followed on from that message.
Where I stand
"Every child has the right to be educated in the language of their people and of their birth. This (issue) is dedicated to those working tirelessly to record, strengthen or revive human languages." - The i18n Issue, Ajabbi Research.
Resources
- https://keyman.com/
- https://github.com/keymanapp/keyman
- https://blog.keyman.com/2026/02/keyman-2026-roadmap-webinar/
- https://help.keyman.com/developer/engine/web/current-version/
- https://keyman.com/developer/keymanweb/
- https://keyman.com/developer/keymanweb/keyboards
- https://keyman.com/ldml/
- https://kmn.sh/ltuse2026
- https://en.wikipedia.org/wiki/ISO_639-3
- https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
- https://en.wikipedia.org/wiki/Unicode
- https://en.wikipedia.org/wiki/Script_(Unicode)
- https://en.wikipedia.org/wiki/Language_localisation
- https://en.wikipedia.org/wiki/Common_Locale_Data_Repository
- https://unicode.org/reports/tr35/
- https://home.unicode.org/membership/membership-levels/
References
- Reference
Repository
- Home > Ajabbi Research > Library > Subscriptions > KeyMan Newsletter
- Home > Handbook >
Last Updated
07/03/2026
SIL KeyMan
Mike is the inventor and architect of Pipi and the founder of Ajabbi.
Background
I had long planned to use KeyMan with Pipi to enable people to use their choice of written language.
Tibetan Keyboard
After receiving an email from SIL Keyman requesting donations, I sent a message offering future donations from the yet-to-be-established Ajabbi Foundation. Ajabbi is a community-driven bootstrapping pre-revenue startup that solves some very big, expensive problems with Pipi. With no investors needed, the surplus income will go to a future foundation to support open-source, books, user groups, conferences, science, etc.
They replied via a developer in Australia who contacted me.
I then spent a bit of time reading their blog, learning about their 30-year effort, watching a seminar, and looking at their GitHub repository. They are very humble and very impressive.
Thinking more about it, they need more developers in their team working on this important project for humanity.
Future long-term sponsorship priorities of open-source
- Support Ortus in providing free CommandBox, BoxLang, etc., and outsource all related remote development to them.
- Support SIL KeyMan to provide free KeyMan access and ensure they can meet demand, scale, and focus on supporting KeyMan rather than raising funds. Everyone has the right to use their own language.
Memberships
Another option could be for Ajabbi Research to join Unicode as a paid member and contribute.
Pipi Keyboard Engine (kyb)
A new Pipi engine will be created to handle keyboards.
Pipi 10 (2027-)
The Pipi 10 roadmap includes support for multiple languages and scripts across all workspace User Interface (UI) components. The hundreds of agent engines, their internal databases and namespaces already support this.
One of the primary tools will be to embed a language-specific keyboard using KeyMan Engine for Web in the HTML of the workspace UI for individual users. This will be available to all users using a simple profile form.
Code Example
KeyMan currently supports 1550 keyboards and 2650 languages. It uses CLDR/LDML to configure the keyboards. This is wonderful news and will make it very easy to integrate with Pipi 10.
There is a great Cloud Services API which will assist automation.
Translation
The keyboards will assist with volunteer user input to translate the Pipi User Interface into many languages, much like OpenOffice and Wikipedia/MediaWiki.
Codes
Since Pipi 6 (2017-2019), standard codes have been used internally to make internationalisation possible for potentially every language.
ISO 639-3
ISO 639 gives comprehensive provisions for the identification and assignment of language identifiers to individual languages, and for the creation of new language code elements or for the modification of existing ones (Terms of Reference of the ISO639/MA). - ISO 639-3
***
It defines three-letter codes for identifying languages. The standard was published by the International Organisation for Standardisation (ISO) on 1 February 2007. As of 2023, this edition of the standard has been officially withdrawn and replaced by ISO 639:2023.ISO 639-3 extends the ISO 639-2 alpha-3 codes with an aim to cover all known natural languages. The extended language coverage was based primarily on the language codes used in the Ethnologue (volumes 10–14) published by SIL International, which is now the registration authority for ISO 639-3.[2] It provides an enumeration of languages as complete as possible, including living and extinct, ancient and constructed, major and minor, written and unwritten. However, it does not include reconstructed languages such as Proto-Indo-European.
ISO 639-3 is intended for use as metadata codes in a wide range of applications. It is widely used in computer and information systems, such as the Internet, in which many languages need to be supported. In archives and other information storage, it is used in cataloging systems, indicating what language a resource is in or about. The codes are also frequently used in the linguistic literature and elsewhere to compensate for the fact that language names may be obscure or ambiguous. - Wikipedia
Examples
- Eng (English
- Fra (French)
ISO_3166-1_alpha-3
ISO 3166-1 alpha-3 codes are three-letter country codes defined in ISO 3166-1, part of the ISO 3166 standard published by the International Organization for Standardization (ISO), to represent countries, dependent territories, and special areas of geographical interest. They allow a better visual association between the codes and the country names than the two-letter alpha-2 codes (the third set of codes is numeric and hence offers no visual association). They were first included as part of the ISO 3166 standard in its first edition in 1974. - Wikipedia
Examples
- ABW (Aruba)
- AFG (Afghanistan)
- AGO (Angola)
Unicode
Unicode (also known as The Unicode Standard and TUS) is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 17.0[A] defines 159,801 characters and 172 scripts used in various ordinary, literary, academic and technical contexts. - Wikipedia
Examples
- Latn (Latin)
- Lina (Linear B)
- Hebr (Hebrew)
CLDR/LDML
The Common Locale Data Repository (CLDR) is a project of the Unicode Consortium to provide locale data in XML format for use in computer applications. CLDR contains locale-specific information that an operating system will typically provide to applications. CLDR is written in the Locale Data Markup Language (LDML). - Wikipedia
Example
Localisation (L10N)
Language localisation (or language localisation) is the process of adapting a product's translation to a specific country or region. It is the second phase of a larger process of product translation and cultural adaptation (for specific countries, regions, cultures or groups) to account for differences in distinct markets, a process known as internationalisation and localisation. - Wikipedia
***
Pipi internally automatically stores and uses 3-letter language codes, 4-letter Unicode and 3-letter country codes to define Locales. Other code formats are also stored to enable interoperability. Many languages can be written in several scripts.
Examples
- eng-Latn-NZD (New Zealand English)
- eng-Latn-USA (United States English)
Customers can configure the options for their own websites.
Examples
- en-NZ
- en-uk

No comments:
Post a Comment