From 3a685d40c0280f930e959b32dedf1b3270e37a6e Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Thu, 30 Apr 2015 11:15:48 +0100 Subject: [PATCH] elua lib: add a func to retrieve the current translation lang --- src/lib/elua/elua.c | 20 ++++++++++++++++++++ src/scripts/elua/core/gettext.lua | 1 - 2 files changed, 20 insertions(+), 1 deletion(-) 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