Skip to content

[ JULEP ] Add Internationalization (i18n) and localization (l10n) support. (WIP) #43098

Open
@Ismael-VC

Description

Julia i18n & l10n

Implementation:

  • C/C++: gettext.h

    • pre-processor macros to determine if gettext.h and derived functionality should be used.
    • wrap translatable strings with _() AKA gettext().
    • Add i18n string catalog generation to build scripts.
  • Femtolisp: Port srfi#29/localization

    • Integrate localization bundles with gettext translation workflow.
  • Julia: Port Python gettext implementation to Julia (currently there is Gettext.jl but uses PyCall, also Gettext should be a standard library in order to localize julia itself, not just external packages).

Configuration

  • Makefiles should handle opt-in functionality to compile with i18n support, default is no i18n.

    • make.user configuration variable.
  • Runtime argument flag, needed to bypass LANG and other environment variables, when calling julia?

    • julia --LANG es_MX or LANG=es_MX julia.

Translation

Documentation

  • Document usage of Gettext.jl module.

Testing

  • Add tests.
    • C/C++
    • Femtolisp
    • Julia

Metadata

Assignees

No one assigned

    Labels

    julepJulia Enhancement Proposal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions