Package limn.i18n


@NullMarked package limn.i18n
Internationalization: a localizable string as a value (I18nString), the process-wide language it resolves against (I18n), and the translation sources it reads (StringBundle, PropertyBundle).

A localizable string is a value the component stores, not a lookup it performs: capturing it is then the correct thing to do rather than the bug. The text pipeline draws Latin, Greek, Cyrillic and CJK; scripts needing shaping or bidi do not render correctly yet, whatever translations are registered.

  • Class
    Description
    Ready-made date and time formats, beside NumberFormats: what a table puts in a date column, and what any caption that shows a day or an hour can use.
    The UI language: the process locale, the locale in effect here, the registered bundles, and the epoch that every I18nString validates its cache against.
    A piece of user-visible text, carried as a value instead of resolved into a String at the point of use.
    Whether the language moved since a derived string was last built: the two facts a memo of formatted text has to compare, I18n.epoch() and I18n.locale(), held as one.
    Ready-made number formats: what a chart puts on an axis tick or a tooltip, what a table puts in a numeric column and its footer, and what any caption that shows a number can use.
    The digits a formatted number is written in: one zero code point and its nine successors, which is all a decimal numbering system is.
    Which grammatical form a language uses for a count: "1 item", "2 items", and the four other answers some languages give.
    CLDR's six cardinal categories.
    A localizable sentence with a count in it: "Documents, 12 items".
    A StringBundle backed by UTF-8 .properties files on the classpath, one family per domain:
    A source of translations.
    A key no registered bundle translates into a language, so the text fell back to the English its declaration carries: a typo in a key, a key left behind by a rename, or a file that has not caught up with the code.