[ JULEP ] Add Internationalization (i18n) and localization (l10n) support. (WIP) #43098
Open
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
_()
AKAgettext()
. - Add i18n string catalog generation to build scripts.
- pre-processor macros to determine if
-
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 callingjulia
?-
julia --LANG es_MX
orLANG=es_MX julia
.
-
Translation
- Set up Transifex to host generated i18n string catalogs.
Documentation
- Document usage of Gettext.jl module.
Testing
- Add tests.
- C/C++
- Femtolisp
- Julia