Showing posts with label i18n. Show all posts
Showing posts with label i18n. Show all posts

The i18n Issue

Mike's Notes

This is a copy of the March issue of Ajabbi Research.

It is about the history of the effort to make Pipi available in any language, localisation, or script requested by users (i18n).

Ajabbi Research is published on SubStack on the first Friday of each month, and subscriptions are free.

Each issue is a broad historical overview of a research topic, serving as an index to dozens of previously posted related articles. There are now over 650 articles/posts.

This copy of the issue will be updated with additional information as it becomes available. Check the Last Updated date given below.

Eventually, each issue will be reused on the separate Ajabbi Research website as an introduction to a research area comprising multiple research projects.

Resources

References

  • SIL.
  • Unicode

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

19/04/2026

The i18n Issue

By: Mike Peters
Ajabbi Research: 6/03/2026

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

This is the story of the effort to make Pipi available in any human language and script. The steps taken have been part of Pipi's development since 2005, spanning 5 versions.

The NZERN Pipi 2003-2005 Development Plan started it all.

Pipi 4 (2005-2008)

The story starts with Pipi 4. It was a big, successful system that supported community-driven Ecological Restoration in NZ. Here is a history of that Pipi version.

Initially, the large websites that Pipi generated were in English only.  Then, as botanical and zoological information was added, Latin, English, and Maori names were used. Eventually, provision for Chinese was planned to support the Chinese community-led conservation programmes. There were no separate language data structures in the 850-table Pipi 4 database; instead, some entities had additional columns for each language.

English

  • The 25,000 pages of websites that Pipi generated were initially in English.

Latin

  • Scientific names used in biological data were written in Latin.

Maori

  • Over time, it was realised that support for the Maori Language, Te Reo Maori, was required. To start, bilingual volunteers provided lists of words for regional areas, towns, etc.

Chinese

  • There was an Auckland-based Chinese Community-driven initiative to reach older residents who didn't speak English about conservation.

    Pipi 6 (2017-2019)

    When Pipi was rebuilt from memory, based on the limited experience with Pipi 4, foundational work was done to prepare Pipi for better multilingual support. This would require extra databases.

    Metadata using international codes was added to every database table to enable future language usage. The codes used were ISO 639-3, Country, Unicode, and CLDR/LDML

    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

     <?xml version="1.0" encoding="UTF-8" ?>
    <ldml>
      
        <version number="1.1">ldml version 1.1</version>
        <generation date="2024-03-06"/>
        <language type="en"/>
        <territory type="US"/>
      
      <!-- other locale data sections follow -->
    </ldml>

    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.

    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

    More information

    Pipi 7 (2020)

    Small, simple, static HTML mockups of websites were created to test how different languages could be used. Experiments with HTML and CSS were conducted to display text on a website in Left-to-Right (LTR) and Right-to-Left (RTL) word order.

    Pipi 8 (2021-2022)

    System-wide i18n and L10N namespaces were implemented throughout Pipi to enable reliable automation and rapid scaling across multiple languages.

    Pipi 9 (2023-2026)

    Joining up all the built systems to self-generate documentation and a front-end User Interface (UI).

    Experiments were conducted to determine how to integrate i18n support with Pipi's other features. It was confirmed that the Pipi core is written in British Standard English and checked by Grammarly.

    A source-target data model structure was created to store i18n scripts. It was greatly influenced by the system used by Wikipedia (MediaWiki) and OpenOffice.

    Experiments were done using 23 languages and writing scripts to test the CMS Engine (cms), data storage, UI layout, etc.

    String Translation

    Community translation will require a dedicated workspace.

    Account Settings

    Each Pipi is built in 1 language and script. Each account can have many languages. An account has many deployments, each in only one language. A deployment can have many workspaces.

    Localisation

    API Endpoints

    All API connections include a choice of API version and language/script.

    Script Font

    Noto from Google was chosen as the default font for Ajabbi due to the number of scripts it supports.

    KeyMan

    SIL provides an open-source KeyMan that enables keyboards for 2500 different languages to be added to websites. Pipi will use a Keyboard Engine (kyb) to provide this integration. This will be built as part of Pipi 10.

    Url Naming Pattern

    Many experiments were conducted to determine a URL structure that could accommodate websites in many languages. Wikipedia was the main influence.

    Examples

    • eng.example.com
    • example.com/eng/
    • en-uk.example.com
    • example.com/en-nz/

    Documentation

    Documentation and Learning material will need to be provided in many languages. The data models are ready for this. As the British English documentation is completed, it could be auto-translated into US English using Grammarly and into the 9 world languages using Google Translate. It would then need to be checked by volunteer users. This is speculative and will require trial and error to confirm.

    Language Prioritisation

    English > 9 world languages > 7000 local languages + localisation.

    Priority will be given to English, which will then serve as the source for translation into 9 world languages.

    • Arabic
    • Bhasa Indonesian
    • Chinese
    • French
    • German
    • Japanese
    • Hindi
    • Portugese
    • Russian
    • Spanish

    Carefully edited material in those languages can then be translated into any of the other 7,000 languages by volunteers in response to user requests.

      Model-driven UI

      The User Interface Description Language (UIDL) was an EU-funded project that was abandoned in 2010 after 10 years of excellent work. It was to enable accessibility on different screens and devices. The research results were reverse-engineered to build a User Interface Engine (usi) that would run in reverse to generate accessibility solutions for Pipi. The CSS Engine (css) replaced some redundant components of the UIDL project. Additional engines for localisation and personalisation were created.


      Pipi CMS Engine (cms)

      For a first teaching customer, a decision was made early on to autogenerate a separate website for each language (English, Māori, NZ Sign Language, and AAC picture language). This was the simplest solution for the CMS and the users.

      Creating UI for each natural language, including sign languages (i18n), requires user requests and volunteer testers.

      Sign Language

      The scheme was dreamed up to embed NZ Relay Video Interpreting on any webpage and in user workspaces. This is an ongoing experiment, driven by deaf people.

      Picture Language

      Professor Stephen Hawking used AAC via a computer-generated voice. There are many forms of AAC, including picture language. Providing this as a UI is being explored, with other AAC to follow. Important for the millions of people with Cerebral Palsy and Motor Neurone Disease.

      Invented Languages

      This system will be able to provide support for Klingon, Elvish, and other invented languages from books and movies, upon request and with volunteers prepared to do the work. This could be useful for fan communities.

      Dead Languages

      This system will be able to provide support for long-dead languages often studied by linguists and historians, such as Ancient Egyptian, Sumerian, Sanskrit, and Ancient Greek, upon request, with volunteers prepared to do the work. This could be useful for museums and faith communities.

      Workspace personalisation

      The workspace settings will eventually offer complete personalisation of the UI in other languages. This will use a personalisation form in account settings.

      Future Ajabbi Foundation Sponsorship

      Once Ajabbi has established ongoing sponsorship for Ortus for providing open-source BoxLang, the Ajabbi Foundation will generously sponsor open-source SIL KeyMan on an ongoing basis.

      Whats next

      Pipi 9 is available only in English. However, users can request any other language through their profile. Pipi 10 (2027-) will feature those multiple languages.

      The most useful and inspiring resource has been SIL Global.

      Dedication

      Every child has the right to be educated in the language of their people and of their birth. This is dedicated to those working tirelessly to record, strengthen or revive human languages.

      SIL KeyMan

      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

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library > Subscriptions > KeyMan Newsletter
      • Home > Handbook > 

      Last Updated

      10/08/2026

      SIL KeyMan

      By: Mike Peters
      On a Sandy Beach: 07/03/2026

      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 some 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

      1. Support Ortus in providing free CommandBoxBoxLang, etc., and outsource all related remote development to them.
      2. 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


      <script src='https://s.keyman.com/kmw/engine/18.0.246/keymanweb.js'></script>
      <script src='https://s.keyman.com/kmw/engine/18.0.246/kmwuitoggle.js'></script>
      <script>
        (function() {
          keyman.init({attachType:'auto'});
          keyman.addKeyboards('@en'); // Loads default English keyboard from Keyman Cloud (CDN)
          keyman.addKeyboards('@th'); // Loads default Thai keyboard from Keyman Cloud (CDN)
        })();
      </script>

      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 volunteers in entering 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

       <?xml version="1.0" encoding="UTF-8" ?>
      <ldml>
        
          <version number="1.1">ldml version 1.1</version>
          <generation date="2024-03-06"/>
          <language type="en"/>
          <territory type="US"/>
        
        <!-- other locale data sections follow -->
      </ldml>

      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

      Word Order 101

      Mike's Notes

      Something I need to learn for UI i18n translations.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      19/10/2025

      Word Order 101

      By: Mike Peters
      On a Sandy Beach: 19/10/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      My notes from Wikipedia

      "In linguistics, word order (also known as linear order) is the order of the syntactic constituents of a language. Word-order typology studies it from a cross-linguistic perspective and examines how languages employ different word-order patterns. Correlations between orders found in different syntactic sub-domains are also of interest. The primary word orders that are of interest are

      • The constituent order of a clause, namely the relative order of subject, object, and verb.
      • The order of modifiers (adjectives, numerals, demonstratives, possessives, and adjuncts) in a noun phrase;
      • The order of adverbials.

      ...

      These are all possible word orders for the subject, object, and verb in the order of most common to rarest (the examples use "she" as the subject, "loves" as the verb, and "him" as the object):

      Word Order Name

      • Code
      • % of languages
      • Example languages
      • Example of usage

      Subject-Object-Verb

      • SOV
      • 45%
      • Ainu, Amharic, Ancient Greek, Akkadian, Armenian, Aymara, Bambara, Basque, Bengali, Burmese, Burushaski, Chukchi, Cushitic languages, Dravidian languages, Elamite, Hindustani, Hittite, Hopi, Itelmen, Japanese, Korean, Kurdish, Latin, Lhasa Tibetan, Manchu, Mongolian, Munda languages, Navajo, Nepali, Nivkh, Northeast Caucasian languages, Northwest Caucasian languages, Pali, Pashto, Persian, Quechua, Sanskrit, Sinhala, Tigrinya, Turkic languages, Yukaghir
      • She him loves

      Subject-Verb-Object

      • SVO
      • 42%
      • Arabic (modern spoken varieties), Chinese, most European languages, Hausa, Hebrew, Indonesian, Pa'O, Kashmiri, Malay, Swahili, Thai, Vietnamese
      • She loves him

      Verb-Subject-Object

      • VSO
      • 9%
      • Arabic (classical and modern standard), Berber languages, Biblical Hebrew, Celtic languages, Filipino, Geʽez, Kariri, Polynesian languages
      • Loves she him

      Verb-Object-Subject

      • VOS
      • 3%
      • Algonquian languages, Arawakan languages, Car, Chumash, Fijian, Malagasy, Mayan languages, Otomanguean languages, Qʼeqchiʼ, Salishan languages, Terêna
      • Loves him she

      Objects-Verb-Subject

      • OVS
      • 1%
      • Äiwoo, Hixkaryana, Urarina
      • Him loves she

      Object-Subject-Verb

      • OSV
      • 0%
      • Xavante. Tobati, Warao, Haida
      • Him she loves

      " - Wikipedia

      Translation website

      Mike's Notes

      Notes on the new translation website. Feedback is very welcome.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      19/10/2025

      Translation website

      By: Mike Peters
      On a Sandy Beach: 23/09/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      The new translation website went live yesterday. It will become a catalogue of all strings used by Pipi when rendering web pages.

      In Pipi 9, the UI strings are not with the code. Strings are added at render time by the Render Engine (rnd) from a database. Each copy of Pipi is configured to work with one i18n language.

      Subdomain

      Languages

      The translation website has a separate section for each language. The section URL can include, if required.

      <3-letter language code>-<4-letter script code>-<2-letter country code>/

      Examples

      Each section will be written in that language and script. The language home page provides information about;
      • About
      • Terms
      • Downloads
      • Locales
      • Sources

      Terms

      Each language has a list of terms in that language.

      Each Term links to a web page for that term.

      The term home page will provide information about;

      • Term
      • Meaning
      • Part of speech (Verb/Noun/Pronoun/etc)
      • Grammatical number (Singular/etc)
      • Where it is used by Pipi
      • Source of information
      • List the same term in other languages and scripts. These will be linked back to the native language term page

      Downloads

      The lists of terms in different languages will be freely downloadable in multiple formats.

      Work in progress

      The website layout requires significant improvement and is subject to change based on the discovery of what works and is useful.

      Translation Workspace

      A separate workspace for logged-in users to edit translations will be made available in the future. This will use automated workflows to propose changes to the translation database.

      List of UI Phrases

      Mike's Notes

      This is a draft list of English phrases required for the user interface (UI). It will be updated over time. Suggestions and corrections are most welcome.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      27/09/2025

      List of UI Phrases

      By: Mike Peters
      On a Sandy Beach: 22/09/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      These common phrases are required for the English language User Interface (UI). They will be automatically used in the ribbon menu, controls, basic forms, and navigation by the Pipi CMS Engine (cms). Their equivalents in other languages and scripts will also be used by the CMS where internationalisation and localisation are required.

      Source

      • 100%
      • About
      • Align left
      • Align middle
      • Alight right
      • Automatic
      • Bold
      • Bullet list
      • Calendar
      • Cancel
      • Change password
      • Clear
      • Clear formating
      • Close
      • Close all
      • Contact
      • Contact Us
      • Convert
      • Copy
      • Copy to
      • Create
      • Cut
      • Database
      • Date
      • Date modified
      • Decrease indent
      • Delete
      • Description
      • Deselect
      • Deselect all
      • Design
      • Down
      • Drafts
      • Edit
      • Email
      • English
      • Exit
      • Export
      • External links
      • FAQ
      • File
      • Filename
      • Find
      • Find and replace
      • First
      • Font
      • Font colour
      • Font size
      • Font type
      • Forgot password
      • Format
      • Help
      • Hide
      • Home
      • Import
      • Inbox
      • Increase indent
      • Insert
      • Insert image
      • Insert video
      • Italics
      • Justify
      • Keyword
      • Keywords
      • Label
      • Labels
      • Last
      • Layout
      • Maori
      • Message
      • Maximise
      • Minimize
      • Modify
      • Month
      • Move
      • Move to
      • Name
      • New
      • New Task
      • Next
      • Numbered list
      • OK
      • Open
      • Open all
      • Open as
      • Options
      • Page setup
      • Password
      • Paste
      • Permission
      • Preferences
      • Preview
      • Previous
      • Print
      • Profile
      • Published on
      • Quoted text
      • Redo
      • Reference
      • References
      • Refresh
      • Rename
      • Reset password
      • Revert to draft
      • Role
      • Save
      • Save As
      • Search
      • Search description
      • See Also
      • Select
      • Select all
      • Send
      • Sent
      • Setting
      • Settings
      • Sitemap
      • Size
      • Sort
      • Spam
      • Strikethrough
      • Subscribe
      • Task
      • Text background
      • Text colour
      • Today
      • Type
      • Underline
      • Undo
      • Unsubscribe
      • Up
      • Update
      • Updated
      • User name
      • View
      • Website
      • Week
      • Workspace
      • Zoom In
      • Zoom Out

      UI Phrases

      Mike's Notes

      I'm looking for a list in English of standard phrases or terms commonly used in the User Interface (UI).

      eg;

      • Align Left
      • Align Middle
      • Alight Right
      • Cancel
      • Clear
      • Close
      • Copy
      • Create
      • Cut
      • Delete

      This would serve as the basis for creating an online translation database that supports multiple languages and writing systems, again using the words commonly used. It seems pointless to recreate the wheel.

      Maybe 500 common phrases would be enough to make the basic website UI and user workspaces available in different languages. Even if it is to sign up, create a profile, and help with community translation.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      23/09/2025

      UI Phrases

      By: Mike Peters
      On a Sandy Beach: 21/09/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      I have been experimenting with importing the Microsoft Term Collection. It is a freely downloadable zip file containing a collection of TBX files, one per language. TBX is an XML format with file extension ".tbx". There seem to be about 110+ languages. Each file record contains a source term in US English, and a translated term in the target language, eg French, German, Ukrainian.

      Success

      I was able to extract the terms that Microsoft uses. There are about 37,000     unique English terms. Some of them are useful, most are not, while others that are needed are missing. But it is a start.

      Language Tools

      To extract the language translations, the main challenge is converting the XML files into a tab-delimited format in the correct Unicode.

      I'm trying a range of tools to see what works.

      There is a list of TBX tools here

      https://www.tbxinfo.net/tbx-support/

      I used the free tool Glossary Converter to batch import 110+ language TBX files and convert to 110+ Excel 2007 format .xlsx files ready for batch import into the translation database.

      The only 4 languages where there was a conversion problem were;

      • Central Kurdish
      • Punjabi (Arabic)
      • Tartar (Cyrillic)
      • Wayuu

      This probably happened because I'm still learning how to use Glossary Converter and had the wrong setting for handling terms.

      Importing

      Importing has worked so far for these language files.

      • Afrikaans
      • French
      • Hebrew
      • German
      • Maori
      • Russian
      • Spanish
      • Ukranian

      TermBase eXchange (TBX)

      "TermBase eXchange (TBX) is an open XML-based standard that allows you to represent structured, concept-oriented terminological data in a database, which is known as termbase." - Wordbee

      .tbx File Format

      "TermBase eXchange (TBX) is an international standard (ISO 30042:2019) for the representation of structured concept-oriented terminological data, copublished by ISO and the Localization Industry Standards Association (LISA). Originally released in 2002 by LISA's OSCAR special interest group, TBX was adopted by ISO TC 37 in 2008. In 2019 ISO 30042:2008 was withdrawn and revised by ISO 30042:2019. It is currently available as an ISO standard and as an open, industry standard, available at no charge.

      TBX defines an XML format for the exchange of terminology data, and is "an industry standard for terminology exchange"." - Wikipedia

      Translation Website

      To accommodate the translation needs of Ajabbi, a static translation website using a subdomain is now being created. It will be batch-rendered from a database containing a list of terms in each language and writing system (script), with a page for each term and its usage.

      Database

      As the database is updated, the website will grow. It will begin with English-UK spelling and Māori, both of which use the Latin script, and gradually expand to cover all languages and dialects requested by users.

      The database data model should be compatible with importing and exporting TBX.

      Translation Website URLs

      Many languages have a local dialect (localisation) and sometimes use more than one script. There needs to be a robust pattern language for the automated naming of URLs. Using a naming pattern of 3-digit language code, plus a 4-digit script code, plus a 2-digit country code. If there is no variation, then use the 3-digit language code only, etc. 

      Some examples to think about;

      Translation Workspace

      A dedicated workspace for users to help translate phrases in the UI should be built. Later, this could be extended to include translating help documentation, content, and other materials. Something similar to how Wikipedia or OpenOffice enable community translation efforts. Of course, each workspace needs to be available in any of the 110+ languages imported so far.

      Open-source

      The phrase library on the translation website should be made freely available for download in multiple formats, including TBXCSV, and Database Formats.