diff --git a/src/lib/elua/elua.c b/src/lib/elua/elua.c index be85d94d71..3e1a715a98 100644 --- a/src/lib/elua/elua.c +++ b/src/lib/elua/elua.c @@ -258,9 +258,29 @@ _elua_gettext_bind_textdomain(lua_State *L) #endif } +static int +_elua_get_message_language(lua_State *L) +{ + const char *e; + e = getenv("LANGUAGE"); + if (e && e[0]) goto success; + e = getenv("LC_ALL"); + if (e && e[0]) goto success; + e = getenv("LC_MESSAGES"); + if (e && e[0]) goto success; + e = getenv("LANG"); + if (e && e[0]) goto success; + lua_pushnil(L); + return 1; +success: + lua_pushstring(L, e); + return 1; +}; + const luaL_reg gettextlib[] = { { "bind_textdomain", _elua_gettext_bind_textdomain }, + { "get_message_language", _elua_get_message_language }, { NULL, NULL } }; diff --git a/src/scripts/elua/core/gettext.lua b/src/scripts/elua/core/gettext.lua index a77d50abc8..96af7d3941 100644 --- a/src/scripts/elua/core/gettext.lua +++ b/src/scripts/elua/core/gettext.lua @@ -7,7 +7,6 @@ local M = {} local gettext = ... local bind_textdomain = gettext.bind_textdomain -local bind_textdomain_codeset = gettext.bind_textdomain_codeset local dgettext = gettext.dgettext local dngettext = gettext.dngettext