aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBurt P <pburt0@gmail.com>2017-07-14 23:59:40 -0500
committerLeandro Pereira <leandro@hardinfo.org>2017-07-19 07:20:33 -0700
commite26ffa481c040f21b28ede1335194149faabb4c2 (patch)
tree8813cef84e25859e5fa42de8038dc0a78637fc1a /modules
parent2ad7b03874a7dd196ff15e4a0834688b47ca373c (diff)
Find a value for OS->Language field, Computer summary headers translatable
Note: "Computer" summary (not Computer->Summary). Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules')
-rw-r--r--modules/computer.c24
-rw-r--r--modules/computer/os.c33
2 files changed, 46 insertions, 11 deletions
diff --git a/modules/computer.c b/modules/computer.c
index 5789e95e..c77c2349 100644
--- a/modules/computer.c
+++ b/modules/computer.c
@@ -468,7 +468,7 @@ gchar *callback_os()
_("Current Session"),
_("Computer Name"), computer->os->hostname,
_("User Name"), computer->os->username,
- _("#Language"), computer->os->language,
+ _("Language"), computer->os->language,
_("Home Directory"), computer->os->homedir,
_("Desktop Environment"), computer->os->desktop,
_("Misc"),
@@ -658,30 +658,34 @@ gchar **hi_module_get_dependencies(void)
gchar *hi_module_get_summary(void)
{
- return g_strdup("[Operating System]\n"
+ return g_strdup_printf("[%s]\n"
"Icon=os.png\n"
"Method=computer::getOS\n"
- "[CPU]\n"
+ "[%s]\n"
"Icon=processor.png\n"
"Method=devices::getProcessorName\n"
- "[RAM]\n"
+ "[%s]\n"
"Icon=memory.png\n"
"Method=devices::getMemoryTotal\n"
- "[Motherboard]\n"
+ "[%s]\n"
"Icon=module.png\n"
"Method=devices::getMotherboard\n"
- "[Graphics]\n"
+ "[%s]\n"
"Icon=monitor.png\n"
"Method=computer::getDisplaySummary\n"
- "[Storage]\n"
+ "[%s]\n"
"Icon=hdd.png\n"
"Method=devices::getStorageDevices\n"
- "[Printers]\n"
+ "[%s]\n"
"Icon=printer.png\n"
"Method=devices::getPrinters\n"
- "[Audio]\n"
+ "[%s]\n"
"Icon=audio.png\n"
- "Method=computer::getAudioCards\n");
+ "Method=computer::getAudioCards\n",
+ _("Operating System"),
+ _("CPU"), _("RAM"), _("Motherboard"), _("Graphics"),
+ _("Storage"), _("Printers"), _("Audio")
+ );
}
void hi_module_deinit(void)
diff --git a/modules/computer/os.c b/modules/computer/os.c
index fa9bb476..3ea4189e 100644
--- a/modules/computer/os.c
+++ b/modules/computer/os.c
@@ -171,6 +171,37 @@ computer_get_entropy_avail(void)
return g_strdup_printf(_(tab_entropy_fstr[0]), bits);
}
+gchar *
+computer_get_language(void)
+{
+ gchar *tab_lang_env[] =
+ { "LANGUAGE", "LANG", "LC_ALL", "LC_MESSAGES", NULL };
+ gchar *lc = NULL, *env = NULL, *ret = NULL;
+ gint i = 0;
+
+ lc = setlocale(LC_ALL, NULL);
+
+ while (tab_lang_env[i] != NULL) {
+ env = g_strdup( g_getenv(tab_lang_env[i]) );
+ if (env != NULL) break;
+ i++;
+ }
+
+ if (env != NULL)
+ if (lc != NULL)
+ ret = g_strdup_printf("%s (%s)", lc, env);
+ else
+ ret = g_strdup_printf("%s", env);
+ else
+ if (lc != NULL)
+ ret = g_strdup_printf("%s", lc);
+
+ if (ret == NULL)
+ ret = g_strdup( _("(Unknown)") );
+
+ return ret;
+}
+
OperatingSystem *
computer_get_os(void)
{
@@ -263,7 +294,7 @@ computer_get_os(void)
os->kernel = g_strdup_printf("%s %s (%s)", utsbuf.sysname,
utsbuf.release, utsbuf.machine);
os->hostname = g_strdup(utsbuf.nodename);
- os->language = g_strdup(g_getenv("LC_MESSAGES"));
+ os->language = computer_get_language();
os->homedir = g_strdup(g_get_home_dir());
os->username = g_strdup_printf("%s (%s)",
g_get_user_name(), g_get_real_name());