aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Lavergne <gilir@ubuntu.com>2013-01-05 16:18:38 +0100
committerLeandro Pereira <leandro@hardinfo.org>2014-01-03 08:02:30 -0200
commiteb77158796dbf5f3ce395f5b85a2d0f78038fa00 (patch)
treefd3e5bc8281922378b388020f662871aeb60d805
parentba24b32ccaaf44f683ffe35cd4ac4ddf61c8da06 (diff)
Add initial translation support (patch from rodin.s)
-rw-r--r--hardinfo/hardinfo.c26
-rw-r--r--hardinfo/util.c71
-rw-r--r--includes/computer.h2
-rw-r--r--includes/hardinfo.h4
-rw-r--r--includes/loadgraph.h6
-rw-r--r--includes/menu.h1
-rw-r--r--modules/benchmark.c48
-rw-r--r--modules/computer.c119
-rw-r--r--modules/computer/alsa.c4
-rw-r--r--modules/computer/boots.c2
-rw-r--r--modules/computer/display.c8
-rw-r--r--modules/computer/environment.c2
-rw-r--r--modules/computer/loadavg.c1
-rw-r--r--modules/computer/os.c18
-rw-r--r--modules/devices.c42
-rw-r--r--modules/devices/battery.c16
-rw-r--r--modules/devices/printers.c46
-rw-r--r--modules/devices/storage.c38
-rw-r--r--modules/network.c38
-rw-r--r--po/POTFILES.in19
-rw-r--r--po/build_pot.sh4
-rw-r--r--po/hardinfo.po1748
-rw-r--r--po/hardinfo.pot1381
-rw-r--r--po/missing2
-rw-r--r--shell/callbacks.c62
-rw-r--r--shell/loadgraph.c2
-rw-r--r--shell/menu.c59
-rw-r--r--shell/report.c24
-rw-r--r--shell/shell.c20
-rw-r--r--shell/syncmanager.c42
30 files changed, 3512 insertions, 343 deletions
diff --git a/hardinfo/hardinfo.c b/hardinfo/hardinfo.c
index ffe35920..8218df14 100644
--- a/hardinfo/hardinfo.c
+++ b/hardinfo/hardinfo.c
@@ -32,6 +32,10 @@ ProgramParameters params = { 0 };
int main(int argc, char **argv)
{
+ setlocale( LC_ALL, "" );
+ bindtextdomain( "hardinfo", "/usr/share/locale" );
+ textdomain( "hardinfo" );
+
GSList *modules;
DEBUG("HardInfo version " VERSION ". Debug version.");
@@ -47,16 +51,16 @@ int main(int argc, char **argv)
if (params.show_version) {
g_print("HardInfo version " VERSION "\n");
g_print
- ("Copyright (C) 2003-2009 Leandro A. F. Pereira. See COPYING for details.\n\n");
+ (_("Copyright (C) 2003-2009 Leandro A. F. Pereira. See COPYING for details.\n\n"));
- g_print("Compile-time options:\n"
+ g_print(_("Compile-time options:\n"
" Release version: %s (%s)\n"
" BinReloc enabled: %s\n"
" Data prefix: %s\n"
" Library prefix: %s\n"
- " Compiled on: %s %s (%s)\n",
- RELEASE ? "Yes" : "No (" VERSION ")", ARCH,
- ENABLE_BINRELOC ? "Yes" : "No",
+ " Compiled on: %s %s (%s)\n"),
+ RELEASE ? _("Yes") : "No (" VERSION ")", ARCH,
+ ENABLE_BINRELOC ? _("Yes") : _("No"),
PREFIX, LIBPREFIX, PLATFORM, KERNEL, HOSTNAME);
DEBUG(" Debugging is enabled.");
@@ -67,15 +71,15 @@ int main(int argc, char **argv)
/* initialize the binreloc library, so we can load program data */
if (!binreloc_init(FALSE))
- g_error("Failed to find runtime data.\n\n"
+ g_error(_("Failed to find runtime data.\n\n"
"\342\200\242 Is HardInfo correctly installed?\n"
- "\342\200\242 See if %s and %s exists and you have read permision.",
+ "\342\200\242 See if %s and %s exists and you have read permision."),
PREFIX, LIBPREFIX);
/* list all module names */
if (params.list_modules) {
- g_print("Modules:\n"
- "%-20s%-15s%-12s\n", "File Name", "Name", "Version");
+ g_print(_("Modules:\n"
+ "%-20s%-15s%-12s\n"), _("File Name"), _("Name"), _("Version"));
for (modules = modules_load_all(); modules;
modules = modules->next) {
@@ -128,7 +132,7 @@ int main(int argc, char **argv)
result = module_call_method_param("benchmark::runBenchmark", params.run_benchmark);
if (!result) {
- g_error("Unknown benchmark ``%s'' or libbenchmark.so not loaded", params.run_benchmark);
+ g_error(_("Unknown benchmark ``%s'' or libbenchmark.so not loaded"), params.run_benchmark);
} else {
g_print("%s\n", result);
g_free(result);
@@ -156,7 +160,7 @@ int main(int argc, char **argv)
g_free(report);
} else {
- g_error("Don't know what to do. Exiting.");
+ g_error(_("Don't know what to do. Exiting."));
}
moreinfo_shutdown();
diff --git a/hardinfo/util.c b/hardinfo/util.c
index 3c083b34..e94d215a 100644
--- a/hardinfo/util.c
+++ b/hardinfo/util.c
@@ -96,35 +96,30 @@ gchar *seconds_to_string(unsigned int seconds)
days = hours / 24;
hours %= 24;
-#define plural(x) ((x > 1) ? "s" : "")
if (days < 1) {
if (hours < 1) {
- return g_strdup_printf("%d minute%s", minutes,
- plural(minutes));
+ return g_strdup_printf(ngettext("%d minute","%d minutes",minutes),minutes);
} else {
- return g_strdup_printf("%d hour%s, %d minute%s",
- hours,
- plural(hours), minutes,
- plural(minutes));
+ return g_strdup_printf(ngettext("%d hour, ","%d hours, ",hours),hours,
+ ngettext("%d minute","%d minutes",minutes),minutes);
}
}
-
- return g_strdup_printf("%d day%s, %d hour%s and %d minute%s",
- days, plural(days), hours,
- plural(hours), minutes, plural(minutes));
+ return g_strdup_printf(ngettext("%d day, ","%d days, ",days),days,
+ ngettext("%d hour and ","%d hours and ",hours),hours,
+ ngettext("%d minute","%d minutes",minutes),minutes);
}
inline gchar *size_human_readable(gfloat size)
{
if (size < KiB)
- return g_strdup_printf("%.1f B", size);
+ return g_strdup_printf(_("%.1f B"), size);
if (size < MiB)
- return g_strdup_printf("%.1f KiB", size / KiB);
+ return g_strdup_printf(_("%.1f KiB"), size / KiB);
if (size < GiB)
- return g_strdup_printf("%.1f MiB", size / MiB);
+ return g_strdup_printf(_("%.1f MiB"), size / MiB);
- return g_strdup_printf("%.1f GiB", size / GiB);
+ return g_strdup_printf(_("%.1f GiB"), size / GiB);
}
inline char *strend(gchar * str, gchar chr)
@@ -338,7 +333,7 @@ log_handler(const gchar * log_domain,
if (!params.gui_running) {
/* No GUI running: spit the message to the terminal */
g_print("\n\n*** %s: %s\n\n",
- (log_level & G_LOG_FLAG_FATAL) ? "Error" : "Warning",
+ (log_level & G_LOG_FLAG_FATAL) ? _("Error") : _("Warning"),
message);
} else {
/* Hooray! We have a GUI running! */
@@ -353,8 +348,8 @@ log_handler(const gchar * log_domain,
"<big><b>%s</b></big>\n\n%s",
(log_level &
G_LOG_FLAG_FATAL) ?
- "Fatal Error" :
- "Warning", message);
+ _("Fatal Error") :
+ _("Warning"), message);
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -378,56 +373,56 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param)
.short_name = 'r',
.arg = G_OPTION_ARG_NONE,
.arg_data = &create_report,
- .description = "creates a report and prints to standard output"},
+ .description = N_("creates a report and prints to standard output")},
{
.long_name = "report-format",
.short_name = 'f',
.arg = G_OPTION_ARG_STRING,
.arg_data = &report_format,
- .description = "chooses a report format (text, html)"},
+ .description = N_("chooses a report format (text, html)")},
{
.long_name = "run-benchmark",
.short_name = 'b',
.arg = G_OPTION_ARG_STRING,
.arg_data = &run_benchmark,
- .description = "run benchmark; requires benchmark.so to be loaded"},
+ .description = N_("run benchmark; requires benchmark.so to be loaded")},
{
.long_name = "list-modules",
.short_name = 'l',
.arg = G_OPTION_ARG_NONE,
.arg_data = &list_modules,
- .description = "lists modules"},
+ .description = N_("lists modules")},
{
.long_name = "load-module",
.short_name = 'm',
.arg = G_OPTION_ARG_STRING_ARRAY,
.arg_data = &use_modules,
- .description = "specify module to load"},
+ .description = N_("specify module to load")},
{
.long_name = "autoload-deps",
.short_name = 'a',
.arg = G_OPTION_ARG_NONE,
.arg_data = &autoload_deps,
- .description = "automatically load module dependencies"},
+ .description = N_("automatically load module dependencies")},
#ifdef HAS_LIBSOUP
{
.long_name = "xmlrpc-server",
.short_name = 'x',
.arg = G_OPTION_ARG_NONE,
.arg_data = &run_xmlrpc_server,
- .description = "run in XML-RPC server mode"},
+ .description = N_("run in XML-RPC server mode")},
#endif /* HAS_LIBSOUP */
{
.long_name = "version",
.short_name = 'v',
.arg = G_OPTION_ARG_NONE,
.arg_data = &show_version,
- .description = "shows program version and quit"},
+ .description = N_("shows program version and quit")},
{NULL}
};
GOptionContext *ctx;
- ctx = g_option_context_new("- System Profiler and Benchmark tool");
+ ctx = g_option_context_new(_("- System Profiler and Benchmark tool"));
g_option_context_set_ignore_unknown_options(ctx, FALSE);
g_option_context_set_help_enabled(ctx, TRUE);
@@ -437,8 +432,8 @@ void parameters_init(int *argc, char ***argv, ProgramParameters * param)
g_option_context_free(ctx);
if (*argc >= 2) {
- g_print("Unrecognized arguments.\n"
- "Try ``%s --help'' for more information.\n", *(argv)[0]);
+ g_print(_("Unrecognized arguments.\n"
+ "Try ``%s --help'' for more information.\n"), *(argv)[0]);
exit(1);
}
@@ -503,7 +498,7 @@ void open_url(gchar * url)
browser = (gchar *)browsers[i++];
} while (browser);
- g_warning("Couldn't find a Web browser to open URL %s.", url);
+ g_warning(_("Couldn't find a Web browser to open URL %s."), url);
}
/* Copyright: Jens Låås, SLU 2002 */
@@ -733,7 +728,7 @@ static ShellModule *module_load(gchar * filename)
g_module_symbol(module->dll, "hi_note_func",
(gpointer) & (entry->notefunc));
- entry->name = entries[i].name;
+ entry->name = _(entries[i].name); //gettext unname N_() in computer.c line 67 etc...
entry->scan_func = entries[i].scan_callback;
entry->func = entries[i].callback;
entry->number = i;
@@ -850,7 +845,7 @@ static GSList *modules_check_deps(GSList * modules)
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
- "Module \"%s\" depends on module \"%s\", load it?",
+ _("Module \"%s\" depends on module \"%s\", load it?"),
module->name,
deps[i]);
gtk_dialog_add_buttons(GTK_DIALOG(dialog),
@@ -873,7 +868,7 @@ static GSList *modules_check_deps(GSList * modules)
gtk_widget_destroy(dialog);
} else {
- g_error("Module \"%s\" depends on module \"%s\".",
+ g_error(_("Module \"%s\" depends on module \"%s\"."),
module->name, deps[i]);
}
}
@@ -918,12 +913,12 @@ static GSList *modules_load(gchar ** module_list)
if (g_slist_length(modules) == 0) {
if (params.use_modules == NULL) {
g_error
- ("No module could be loaded. Check permissions on \"%s\" and try again.",
+ (_("No module could be loaded. Check permissions on \"%s\" and try again."),
params.path_lib);
} else {
g_error
- ("No module could be loaded. Please use hardinfo -l to list all avai"
- "lable modules and try again with a valid module list.");
+ (_("No module could be loaded. Please use hardinfo -l to list all avai"
+ "lable modules and try again with a valid module list."));
}
}
@@ -1098,7 +1093,7 @@ void module_entry_scan_all_except(ModuleEntry * entries, gint except_entry)
if (i == except_entry)
continue;
- text = g_strdup_printf("Scanning: %s...", entry.name);
+ text = g_strdup_printf(_("Scanning: %s..."), _(entry.name));
shell_status_update(text);
g_free(text);
@@ -1108,7 +1103,7 @@ void module_entry_scan_all_except(ModuleEntry * entries, gint except_entry)
}
shell_view_set_enabled(TRUE);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
}
void module_entry_scan_all(ModuleEntry * entries)
diff --git a/includes/computer.h b/includes/computer.h
index fd2ebe60..451cd0ce 100644
--- a/includes/computer.h
+++ b/includes/computer.h
@@ -43,7 +43,7 @@ static struct {
{ DB_PREFIX "SuSE-release", "suse" },
{ DB_PREFIX "sun-release", "sun" },
{ DB_PREFIX "zenwalk-version", "zen" },
- { DB_PREFIX "puppyversion", "ppy" },
+ { DB_PREFIX "DISTRO_SPECS", "ppy" },
{ DB_PREFIX "distro-release", "fl" },
{ DB_PREFIX "vine-release", "vine" },
{ DB_PREFIX "PartedMagic-version", "pmag" },
diff --git a/includes/hardinfo.h b/includes/hardinfo.h
index 23a9468a..20d87ef8 100644
--- a/includes/hardinfo.h
+++ b/includes/hardinfo.h
@@ -23,6 +23,10 @@
#include "config.h"
#include "shell.h"
#include "vendor.h"
+#include <libintl.h>
+#include <locale.h>
+#define _(STRING) gettext(STRING)
+#define N_(STRING) (STRING)
typedef enum {
MODULE_FLAG_NONE = 0,
diff --git a/includes/loadgraph.h b/includes/loadgraph.h
index 3a53f793..1eae976f 100644
--- a/includes/loadgraph.h
+++ b/includes/loadgraph.h
@@ -24,6 +24,12 @@
#include <stdlib.h>
#include <gtk/gtk.h>
#include <math.h>
+/*#include <libintl.h>
+#include <locale.h>
+#define _(STRING) gettext(STRING)
+#define N_(STRING) (STRING)*/
+
+
typedef struct _LoadGraph LoadGraph;
diff --git a/includes/menu.h b/includes/menu.h
index 361b2323..3c804008 100644
--- a/includes/menu.h
+++ b/includes/menu.h
@@ -20,6 +20,7 @@
#include <shell.h>
+
void menu_init(Shell *shell);
#endif /* __MENU_H__ */
diff --git a/modules/benchmark.c b/modules/benchmark.c
index fffc0864..5a252184 100644
--- a/modules/benchmark.c
+++ b/modules/benchmark.c
@@ -47,13 +47,13 @@ gchar *callback_nqueens();
gchar *callback_gui();
static ModuleEntry entries[] = {
- {"CPU Blowfish", "blowfish.png", callback_bfsh, scan_bfsh, MODULE_FLAG_NONE},
- {"CPU CryptoHash", "cryptohash.png", callback_cryptohash, scan_cryptohash, MODULE_FLAG_NONE},
- {"CPU Fibonacci", "nautilus.png", callback_fib, scan_fib, MODULE_FLAG_NONE},
- {"CPU N-Queens", "nqueens.png", callback_nqueens, scan_nqueens, MODULE_FLAG_NONE},
- {"FPU FFT", "fft.png", callback_fft, scan_fft, MODULE_FLAG_NONE},
- {"FPU Raytracing", "raytrace.png", callback_raytr, scan_raytr, MODULE_FLAG_NONE},
- {"GPU Drawing", "module.png", callback_gui, scan_gui, MODULE_FLAG_NO_REMOTE},
+ {N_("CPU Blowfish"), "blowfish.png", callback_bfsh, scan_bfsh, MODULE_FLAG_NONE},
+ {N_("CPU CryptoHash"), "cryptohash.png", callback_cryptohash, scan_cryptohash, MODULE_FLAG_NONE},
+ {N_("CPU Fibonacci"), "nautilus.png", callback_fib, scan_fib, MODULE_FLAG_NONE},
+ {N_("CPU N-Queens"), "nqueens.png", callback_nqueens, scan_nqueens, MODULE_FLAG_NONE},
+ {N_("FPU FFT"), "fft.png", callback_fft, scan_fft, MODULE_FLAG_NONE},
+ {N_("FPU Raytracing"), "raytrace.png", callback_raytr, scan_raytr, MODULE_FLAG_NONE},
+ {N_("GPU Drawing"), "module.png", callback_gui, scan_gui, MODULE_FLAG_NO_REMOTE},
{NULL}
};
@@ -219,7 +219,7 @@ static gchar *__benchmark_include_results(gdouble result,
if (result > 0.0f) {
processor_frequency = module_call_method("devices::getProcessorFrequency");
- return_value = g_strdup_printf("[$ShellParam$]\n"
+ return_value = g_strdup_printf(_("[$ShellParam$]\n"
"Zebra=1\n"
"OrderType=%d\n"
"ViewType=3\n"
@@ -229,10 +229,10 @@ static gchar *__benchmark_include_results(gdouble result,
"ShowColumnHeaders=true\n"
"[%s]\n"
"<big><b>This Machine</b></big>=%.3f|%s MHz\n"
- "%s", order_type, benchmark, result, processor_frequency, results);
+ "%s"), order_type, benchmark, result, processor_frequency, results);
g_free(processor_frequency);
} else {
- return_value = g_strdup_printf("[$ShellParam$]\n"
+ return_value = g_strdup_printf(_("[$ShellParam$]\n"
"Zebra=1\n"
"OrderType=%d\n"
"ViewType=3\n"
@@ -241,7 +241,7 @@ static gchar *__benchmark_include_results(gdouble result,
"ColumnTitle$TextValue=CPU\n"
"ShowColumnHeaders=true\n"
"[%s]\n"
- "%s", order_type, benchmark, results);
+ "%s"), order_type, benchmark, results);
}
return return_value;
}
@@ -360,7 +360,7 @@ static void do_benchmark(void (*benchmark_function)(void), int entry)
GSpawnFlags spawn_flags = G_SPAWN_STDERR_TO_DEV_NULL;
gchar *bench_status;
- bench_status = g_strdup_printf("Benchmarking: <b>%s</b>.", entries[entry].name);
+ bench_status = g_strdup_printf(_("Benchmarking: <b>%s</b>."), entries[entry].name);
shell_view_set_enabled(FALSE);
shell_status_update(bench_status);
@@ -374,11 +374,11 @@ static void do_benchmark(void (*benchmark_function)(void), int entry)
GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO,
GTK_BUTTONS_NONE,
- "Benchmarking. Please do not move your mouse " \
- "or press any keys.");
+ _("Benchmarking. Please do not move your mouse " \
+ "or press any keys."));
g_object_set_data(G_OBJECT(bench_dialog), "result", "0.0");
gtk_dialog_add_buttons(GTK_DIALOG(bench_dialog),
- "Cancel", GTK_RESPONSE_ACCEPT, NULL);
+ _("Cancel"), GTK_RESPONSE_ACCEPT, NULL);
gtk_message_dialog_set_image(GTK_MESSAGE_DIALOG(bench_dialog), bench_image);
while (gtk_events_pending()) {
@@ -428,7 +428,7 @@ static void do_benchmark(void (*benchmark_function)(void), int entry)
shell_status_set_enabled(TRUE);
g_free(benchmark_dialog);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
return;
}
@@ -436,7 +436,7 @@ static void do_benchmark(void (*benchmark_function)(void), int entry)
gtk_widget_destroy(bench_dialog);
g_free(benchmark_dialog);
shell_status_set_enabled(TRUE);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
}
setpriority(PRIO_PROCESS, 0, -20);
@@ -508,17 +508,17 @@ const gchar *hi_note_func(gint entry)
{
switch (entry) {
case BENCHMARK_CRYPTOHASH:
- return "Results in MiB/second. Higher is better.";
+ return _("Results in MiB/second. Higher is better.");
case BENCHMARK_GUI:
- return "Results in HIMarks. Higher is better.";
+ return _("Results in HIMarks. Higher is better.");
case BENCHMARK_FFT:
case BENCHMARK_RAYTRACE:
case BENCHMARK_BLOWFISH:
case BENCHMARK_FIB:
case BENCHMARK_NQUEENS:
- return "Results in seconds. Lower is better.";
+ return _("Results in seconds. Lower is better.");
}
return NULL;
@@ -526,7 +526,7 @@ const gchar *hi_note_func(gint entry)
gchar *hi_module_get_name(void)
{
- return g_strdup("Benchmarks");
+ return g_strdup(_("Benchmarks"));
}
guchar hi_module_get_weight(void)
@@ -544,7 +544,7 @@ ModuleAbout *hi_module_get_about(void)
static ModuleAbout ma[] = {
{
.author = "Leandro A. F. Pereira",
- .description = "Perform tasks and compare with other systems",
+ .description = N_("Perform tasks and compare with other systems"),
.version = VERSION,
.license = "GNU GPL version 2"}
};
@@ -631,12 +631,12 @@ void hi_module_init(void)
{
static SyncEntry se[] = {
{
- .fancy_name = "Send benchmark results",
+ .fancy_name = N_("Send benchmark results"),
.name = "SendBenchmarkResults",
.save_to = NULL,
.get_data = get_benchmark_results},
{
- .fancy_name = "Receive benchmark results",
+ .fancy_name = N_("Receive benchmark results"),
.name = "RecvBenchmarkResults",
.save_to = "benchmark.conf",
.get_data = NULL}
diff --git a/modules/computer.c b/modules/computer.c
index cd015cf2..16c68217 100644
--- a/modules/computer.c
+++ b/modules/computer.c
@@ -65,19 +65,19 @@ void scan_dev(gboolean reload);
#endif /* GLIB_CHECK_VERSION(2,14,0) */
static ModuleEntry entries[] = {
- {"Summary", "summary.png", callback_summary, scan_summary, MODULE_FLAG_NONE},
- {"Operating System", "os.png", callback_os, scan_os, MODULE_FLAG_NONE},
- {"Kernel Modules", "module.png", callback_modules, scan_modules, MODULE_FLAG_NONE},
- {"Boots", "boot.png", callback_boots, scan_boots, MODULE_FLAG_NONE},
- {"Languages", "language.png", callback_locales, scan_locales, MODULE_FLAG_NONE},
- {"Filesystems", "dev_removable.png", callback_fs, scan_fs, MODULE_FLAG_NONE},
- {"Display", "monitor.png", callback_display, scan_display, MODULE_FLAG_NONE},
- {"Environment Variables", "environment.png", callback_env_var, scan_env_var, MODULE_FLAG_NONE},
+ {N_("Summary"), "summary.png", callback_summary, scan_summary, MODULE_FLAG_NONE},
+ {N_("Operating System"), "os.png", callback_os, scan_os, MODULE_FLAG_NONE},
+ {N_("Kernel Modules"), "module.png", callback_modules, scan_modules, MODULE_FLAG_NONE},
+ {N_("Boots"), "boot.png", callback_boots, scan_boots, MODULE_FLAG_NONE},
+ {N_("Languages"), "language.png", callback_locales, scan_locales, MODULE_FLAG_NONE},
+ {N_("Filesystems"), "dev_removable.png", callback_fs, scan_fs, MODULE_FLAG_NONE},
+ {N_("Display"), "monitor.png", callback_display, scan_display, MODULE_FLAG_NONE},
+ {N_("Environment Variables"), "environment.png", callback_env_var, scan_env_var, MODULE_FLAG_NONE},
#if GLIB_CHECK_VERSION(2,14,0)
- {"Development", "devel.png", callback_dev, scan_dev, MODULE_FLAG_NONE},
+ {N_("Development"), "devel.png", callback_dev, scan_dev, MODULE_FLAG_NONE},
#endif /* GLIB_CHECK_VERSION(2,14,0) */
- {"Users", "users.png", callback_users, scan_users, MODULE_FLAG_NONE},
- {"Groups", "users.png", callback_groups, scan_groups, MODULE_FLAG_NONE},
+ {N_("Users"), "users.png", callback_users, scan_users, MODULE_FLAG_NONE},
+ {N_("Groups"), "users.png", callback_groups, scan_groups, MODULE_FLAG_NONE},
{NULL},
};
@@ -96,11 +96,12 @@ gchar *hi_more_info(gchar * entry)
gchar *hi_get_field(gchar * field)
{
+ setlocale(LC_ALL, "C"); //Load Average is not updated if locale is not C, swithc locale to C
gchar *tmp;
if (g_str_equal(field, "Memory")) {
MemoryInfo *mi = computer_get_memory();
- tmp = g_strdup_printf("%dMB (%dMB used)", mi->total, mi->used);
+ tmp = g_strdup_printf(_("%dMB (%dMB used)"), mi->total, mi->used);
g_free(mi);
} else if (g_str_equal(field, "Uptime")) {
tmp = computer_get_formatted_uptime();
@@ -114,7 +115,7 @@ gchar *hi_get_field(gchar * field)
} else {
tmp = g_strdup("");
}
-
+ setlocale(LC_ALL, "");// switch locale back to normal
return tmp;
}
@@ -196,28 +197,28 @@ void scan_dev(gboolean reload)
gchar *regex;
gboolean stdout;
} detect_lang[] = {
- { "Scripting Languages", NULL, FALSE },
- { "CPython", "python -V", "\\d+\\.\\d+\\.\\d+", FALSE },
- { "Perl", "perl -v", "\\d+\\.\\d+\\.\\d+", TRUE },
- { "PHP", "php --version", "\\d+\\.\\d+\\.\\S+", TRUE},
- { "Ruby", "ruby --version", "\\d+\\.\\d+\\.\\d+", TRUE },
- { "Bash", "bash --version", "\\d+\\.\\d+\\.\\S+", TRUE},
- { "Compilers", NULL, FALSE },
- { "C (GCC)", "gcc -v", "\\d+\\.\\d+\\.\\d+", FALSE },
- { "C (Clang)", "clang -v", "\\d+\\.\\d+", FALSE },
- { "D (dmd)", "dmd --help", "\\d+\\.\\d+", TRUE },
- { "Java", "javac -version", "\\d+\\.\\d+\\.\\d+", FALSE },
- { "CSharp (Mono, old)", "mcs --version", "\\d+\\.\\d+\\.\\d+\\.\\d+", TRUE },
- { "CSharp (Mono)", "gmcs --version", "\\d+\\.\\d+\\.\\d+\\.\\d+", TRUE },
- { "Vala", "valac --version", "\\d+\\.\\d+\\.\\d+", TRUE },
- { "Haskell (GHC)", "ghc -v", "\\d+\\.\\d+\\.\\d+", FALSE },
- { "FreePascal", "fpc -iV", "\\d+\\.\\d+\\.?\\d*", TRUE },
- { "Tools", NULL, FALSE },
- { "make", "make --version", "\\d+\\.\\d+", TRUE },
- { "GDB", "gdb --version", "\\d+\\.\\S+", TRUE },
- { "strace", "strace -V", "\\d+\\.\\d+\\.?\\d*", TRUE },
- { "valgrind", "valgrind --version", "\\d+\\.\\d+\\.\\S+", TRUE },
- { "QMake", "qmake --version", "\\d+\\.\\S+", TRUE},
+ { N_("Scripting Languages"), NULL, FALSE },
+ { N_("CPython"), "python -V", "\\d+\\.\\d+\\.\\d+", FALSE },
+ { N_("Perl"), "perl -v", "\\d+\\.\\d+\\.\\d+", TRUE },
+ { N_("PHP"), "php --version", "\\d+\\.\\d+\\.\\S+", TRUE},
+ { N_("Ruby"), "ruby --version", "\\d+\\.\\d+\\.\\d+", TRUE },
+ { N_("Bash"), "bash --version", "\\d+\\.\\d+\\.\\S+", TRUE},
+ { N_("Compilers"), NULL, FALSE },
+ { N_("C (GCC)"), "gcc -v", "\\d+\\.\\d+\\.\\d+", FALSE },
+ { N_("C (Clang)"), "clang -v", "\\d+\\.\\d+", FALSE },
+ { N_("D (dmd)"), "dmd --help", "\\d+\\.\\d+", TRUE },
+ { N_("Java"), "javac -version", "\\d+\\.\\d+\\.\\d+", FALSE },
+ { N_("CSharp (Mono, old)"), "mcs --version", "\\d+\\.\\d+\\.\\d+\\.\\d+", TRUE },
+ { N_("CSharp (Mono)"), "gmcs --version", "\\d+\\.\\d+\\.\\d+\\.\\d+", TRUE },
+ { N_("Vala"), "valac --version", "\\d+\\.\\d+\\.\\d+", TRUE },
+ { N_("Haskell (GHC)"), "ghc -v", "\\d+\\.\\d+\\.\\d+", FALSE },
+ { N_("FreePascal"), "fpc -iV", "\\d+\\.\\d+\\.?\\d*", TRUE },
+ { N_("Tools"), NULL, FALSE },
+ { N_("make"), "make --version", "\\d+\\.\\d+", TRUE },
+ { N_("GDB"), "gdb --version", "\\d+\\.\\S+", TRUE },
+ { N_("strace"), "strace -V", "\\d+\\.\\d+\\.?\\d*", TRUE },
+ { N_("valgrind"), "valgrind --version", "\\d+\\.\\d+\\.\\S+", TRUE },
+ { N_("QMake"), "qmake --version", "\\d+\\.\\S+", TRUE},
};
g_free(dev_list);
@@ -260,10 +261,10 @@ void scan_dev(gboolean reload)
dev_list = h_strdup_cprintf("%s=%s\n", dev_list, detect_lang[i].compiler_name, version);
g_free(version);
} else {
- dev_list = h_strdup_cprintf("%s=Not found\n", dev_list, detect_lang[i].compiler_name);
+ dev_list = h_strdup_cprintf(_("%s=Not found\n"), dev_list, detect_lang[i].compiler_name);
}
- temp = g_strdup_printf("Detecting version: %s",
+ temp = g_strdup_printf(_("Detecting version: %s"),
detect_lang[i].compiler_name);
shell_status_update(temp);
g_free(temp);
@@ -274,11 +275,11 @@ void scan_dev(gboolean reload)
gchar *callback_dev()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"ColumnTitle$TextValue=Program\n"
"ColumnTitle$Value=Version\n"
"ShowColumnHeaders=true\n"
- "%s", dev_list);
+ "%s"), dev_list);
}
#endif /* GLIB_CHECK_VERSION(2,14,0) */
@@ -354,7 +355,7 @@ gchar *computer_get_virtualization()
DEBUG("no virtual machine detected; assuming physical machine");
- return g_strdup("Physical machine");
+ return g_strdup(_("Physical machine"));
}
gchar *callback_summary()
@@ -371,7 +372,7 @@ gchar *callback_summary()
storage_devices = module_call_method("devices::getStorageDevices");
virt = computer_get_virtualization();
- summary = g_strdup_printf("[$ShellParam$]\n"
+ summary = g_strdup_printf(_("[$ShellParam$]\n"
"UpdateInterval$Memory=1000\n"
"UpdateInterval$Date/Time=1000\n"
"#ReloadInterval=5000\n"
@@ -389,7 +390,7 @@ gchar *callback_summary()
"\n%s\n"
"[Input Devices]\n%s\n"
"\n%s\n"
- "\n%s\n",
+ "\n%s\n"),
processor_name,
virt,
computer->os->distro,
@@ -413,7 +414,7 @@ gchar *callback_summary()
gchar *callback_os()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"UpdateInterval$Uptime=10000\n"
"UpdateInterval$Load Average=1000\n"
"[Version]\n"
@@ -429,7 +430,7 @@ gchar *callback_os()
"Desktop Environment=%s\n"
"[Misc]\n"
"Uptime=...\n"
- "Load Average=...",
+ "Load Average=..."),
computer->os->kernel,
computer->os->kernel_version,
computer->os->libc,
@@ -442,39 +443,39 @@ gchar *callback_os()
gchar *callback_modules()
{
- return g_strdup_printf("[Loaded Modules]\n"
+ return g_strdup_printf(_("[Loaded Modules]\n"
"%s"
"[$ShellParam$]\n"
"ViewType=1\n"
"ColumnTitle$TextValue=Name\n"
"ColumnTitle$Value=Description\n"
- "ShowColumnHeaders=true\n", module_list);
+ "ShowColumnHeaders=true\n"), module_list);
}
gchar *callback_boots()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"ColumnTitle$TextValue=Date & Time\n"
"ColumnTitle$Value=Kernel Version\n"
"ShowColumnHeaders=true\n"
"\n"
- "%s", computer->os->boots);
+ "%s"), computer->os->boots);
}
gchar *callback_locales()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"ViewType=1\n"
"ColumnTitle$TextValue=Language Code\n"
"ColumnTitle$Value=Name\n"
"ShowColumnHeaders=true\n"
"[Available Languages]\n"
- "%s", computer->os->languages);
+ "%s"), computer->os->languages);
}
gchar *callback_fs()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"ViewType=4\n"
"ReloadInterval=5000\n"
"Zebra=1\n"
@@ -483,12 +484,12 @@ gchar *callback_fs()
"ColumnTitle$Progress=Usage\n"
"ColumnTitle$TextValue=Device\n"
"ShowColumnHeaders=true\n"
- "[Mounted File Systems]\n%s\n", fs_list);
+ "[Mounted File Systems]\n%s\n"), fs_list);
}
gchar *callback_display()
{
- return g_strdup_printf("[Display]\n"
+ return g_strdup_printf(_("[Display]\n"
"Resolution=%dx%d pixels\n"
"Vendor=%s\n"
"Version=%s\n"
@@ -500,7 +501,7 @@ gchar *callback_display()
"Vendor=%s\n"
"Renderer=%s\n"
"Version=%s\n"
- "Direct Rendering=%s\n",
+ "Direct Rendering=%s\n"),
computer->display->width,
computer->display->height,
computer->display->vendor,
@@ -510,7 +511,7 @@ gchar *callback_display()
computer->display->ogl_vendor,
computer->display->ogl_renderer,
computer->display->ogl_version,
- computer->display->dri ? "Yes" : "No");
+ computer->display->dri ? _("Y_es") : _("No"));
}
gchar *callback_users()
@@ -524,13 +525,13 @@ gchar *callback_users()
gchar *callback_groups()
{
- return g_strdup_printf("[$ShellParam$]\n"
+ return g_strdup_printf(_("[$ShellParam$]\n"
"ReloadInterval=10000\n"
"ColumnTitle$TextValue=Name\n"
"ColumnTitle$Value=Group ID\n"
"ShowColumnHeaders=true\n"
"[Groups]\n"
- "%s\n", groups);
+ "%s\n"), groups);
}
gchar *get_os_kernel(void)
@@ -604,7 +605,7 @@ ModuleEntry *hi_module_get_entries(void)
gchar *hi_module_get_name(void)
{
- return g_strdup("Computer");
+ return g_strdup(_("Computer"));
}
guchar hi_module_get_weight(void)
@@ -698,7 +699,7 @@ ModuleAbout *hi_module_get_about(void)
static ModuleAbout ma[] = {
{
.author = "Leandro A. F. Pereira",
- .description = "Gathers high-level computer information",
+ .description = N_("Gathers high-level computer information"),
.version = VERSION,
.license = "GNU GPL version 2"}
};
diff --git a/modules/computer/alsa.c b/modules/computer/alsa.c
index f1ff3ad8..e1e7b946 100644
--- a/modules/computer/alsa.c
+++ b/modules/computer/alsa.c
@@ -23,14 +23,14 @@ gchar *
computer_get_alsacards(Computer * computer)
{
GSList *p;
- gchar *tmp = g_strdup("[Audio Devices]\n");
+ gchar *tmp = g_strdup(_("[Audio Devices]\n"));
gint n = 0;
if (computer->alsa) {
for (p = computer->alsa->cards; p; p = p->next) {
AlsaCard *ac = (AlsaCard *) p->data;
- tmp = h_strdup_cprintf("Audio Adapter#%d=%s\n",
+ tmp = h_strdup_cprintf(_("Audio Adapter#%d=%s\n"),
tmp, ++n, ac->friendly_name);
}
}
diff --git a/modules/computer/boots.c b/modules/computer/boots.c
index 2944ff91..478e89ac 100644
--- a/modules/computer/boots.c
+++ b/modules/computer/boots.c
@@ -30,7 +30,7 @@ scan_boots_real(void)
scan_os(FALSE);
if (!computer->os->boots)
- computer->os->boots = g_strdup("[Boots]\n");
+ computer->os->boots = g_strdup(_("[Boots]\n"));
else
return;
diff --git a/modules/computer/display.c b/modules/computer/display.c
index ce23bbfd..d68345c6 100644
--- a/modules/computer/display.c
+++ b/modules/computer/display.c
@@ -80,9 +80,9 @@ get_x11_info(DisplayInfo *di)
if (tmp[1] && tmp[0]) {
tmp[1] = g_strchug(tmp[1]);
- get_str("vendor string", di->vendor);
- get_str("X.Org version", di->version);
- get_str("XFree86 version", di->version);
+ get_str(_("vendor string"), di->vendor);
+ get_str(_("X.Org version"), di->version);
+ get_str(_("XFree86 version"), di->version);
if (g_str_has_prefix(tmp[0], "number of extensions")) {
int n;
@@ -119,7 +119,7 @@ get_x11_info(DisplayInfo *di)
gdk_screen_get_monitor_geometry(screen, i, &rect);
- di->monitors = h_strdup_cprintf("Monitor %d=%dx%d pixels\n",
+ di->monitors = h_strdup_cprintf(_("Monitor %d=%dx%d pixels\n"),
di->monitors, i, rect.width, rect.height);
}
} else {
diff --git a/modules/computer/environment.c b/modules/computer/environment.c
index 8ef63b2d..2a8d235c 100644
--- a/modules/computer/environment.c
+++ b/modules/computer/environment.c
@@ -29,7 +29,7 @@ void scan_env_var(gboolean reload)
g_free(_env);
- _env = g_strdup("[Environment Variables]\n");
+ _env = g_strdup(_("[Environment Variables]\n"));
for (i = 0, envlist = g_listenv(); envlist[i]; i++) {
_env = h_strdup_cprintf("%s=%s\n", _env,
envlist[i], g_getenv(envlist[i]));
diff --git a/modules/computer/loadavg.c b/modules/computer/loadavg.c
index 523812be..e970fd44 100644
--- a/modules/computer/loadavg.c
+++ b/modules/computer/loadavg.c
@@ -38,7 +38,6 @@ computer_get_formatted_loadavg()
{
LoadInfo *li;
gchar *tmp;
-
li = computer_get_loadinfo();
tmp =
diff --git a/modules/computer/os.c b/modules/computer/os.c
index b5db28ec..b9d8d6f9 100644
--- a/modules/computer/os.c
+++ b/modules/computer/os.c
@@ -46,11 +46,11 @@ get_libc_version(void)
if (p) *p = '\0';
else goto err;
- return g_strdup_printf("GNU C Library version %s (%sstable)",
+ return g_strdup_printf(_("GNU C Library version %s (%sstable)"),
strchr(tmp, ' ') + 1,
- strstr(buf, " stable ") ? "" : "un");
+ strstr(buf, " stable ") ? "" : _("un"));
err:
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
#include <gdk/gdkx.h>
@@ -69,7 +69,7 @@ detect_desktop_environment(OperatingSystem * os)
obtain the version. */
version = popen("gnome-about --gnome-version", "r");
if (version) {
- (void)fscanf(version, "Version: %s", vers);
+ (void)fscanf(version, _("Version: %s"), vers);
if (pclose(version))
goto unknown;
} else {
@@ -103,7 +103,7 @@ detect_desktop_environment(OperatingSystem * os)
os->desktop = NULL;
if (!g_getenv("DISPLAY")) {
- os->desktop = g_strdup("Terminal");
+ os->desktop = g_strdup(_("Terminal"));
} else {
GdkScreen *screen = gdk_screen_get_default();
@@ -123,11 +123,11 @@ detect_desktop_environment(OperatingSystem * os)
}
if (!os->desktop) {
- os->desktop = g_strdup_printf("Unknown (Window Manager: %s)",
+ os->desktop = g_strdup_printf(_("Unknown (Window Manager: %s)"),
windowman);
}
} else {
- os->desktop = g_strdup("Unknown");
+ os->desktop = g_strdup(_("Unknown"));
}
}
}
@@ -163,7 +163,7 @@ computer_get_os(void)
for (i = 0;; i++) {
if (distro_db[i].file == NULL) {
os->distrocode = g_strdup("unk");
- os->distro = g_strdup("Unknown distribution");
+ os->distro = g_strdup(_("Unknown distribution"));
break;
}
@@ -198,7 +198,7 @@ computer_get_os(void)
if (g_str_equal(distro_db[i].codename, "ppy")) {
gchar *tmp;
- tmp = g_strdup_printf("Puppy Linux %.2f", atof(os->distro) / 100.0);
+ tmp = g_strdup_printf("Puppy Linux");
g_free(os->distro);
os->distro = tmp;
}
diff --git a/modules/devices.c b/modules/devices.c
index 6c6343d5..59163f04 100644
--- a/modules/devices.c
+++ b/modules/devices.c
@@ -71,20 +71,20 @@ void scan_device_resources(gboolean reload);
gchar *hi_more_info(gchar *entry);
static ModuleEntry entries[] = {
- {"Processor", "processor.png", callback_processors, scan_processors, MODULE_FLAG_NONE},
- {"Memory", "memory.png", callback_memory, scan_memory, MODULE_FLAG_NONE},
- {"PCI Devices", "devices.png", callback_pci, scan_pci, MODULE_FLAG_NONE},
- {"USB Devices", "usb.png", callback_usb, scan_usb, MODULE_FLAG_NONE},
- {"Printers", "printer.png", callback_printers, scan_printers, MODULE_FLAG_NONE},
- {"Battery", "battery.png", callback_battery, scan_battery, MODULE_FLAG_NONE},
- {"Sensors", "therm.png", callback_sensors, scan_sensors, MODULE_FLAG_NONE},
- {"Input Devices", "inputdevices.png", callback_input, scan_input, MODULE_FLAG_NONE},
- {"Storage", "hdd.png", callback_storage, scan_storage, MODULE_FLAG_NONE},
+ {N_("Processor"), "processor.png", callback_processors, scan_processors, MODULE_FLAG_NONE},
+ {N_("Memory"), "memory.png", callback_memory, scan_memory, MODULE_FLAG_NONE},
+ {N_("PCI Devices"), "devices.png", callback_pci, scan_pci, MODULE_FLAG_NONE},
+ {N_("USB Devices"), "usb.png", callback_usb, scan_usb, MODULE_FLAG_NONE},
+ {N_("Printers"), "printer.png", callback_printers, scan_printers, MODULE_FLAG_NONE},
+ {N_("Battery"), "battery.png", callback_battery, scan_battery, MODULE_FLAG_NONE},
+ {N_("Sensors"), "therm.png", callback_sensors, scan_sensors, MODULE_FLAG_NONE},
+ {N_("Input Devices"), "inputdevices.png", callback_input, scan_input, MODULE_FLAG_NONE},
+ {N_("Storage"), "hdd.png", callback_storage, scan_storage, MODULE_FLAG_NONE},
#if defined(ARCH_x86) || defined(ARCH_x86_64)
- {"DMI", "computer.png", callback_dmi, scan_dmi, MODULE_FLAG_NONE},
- {"Memory SPD", "memory.png", callback_spd, scan_spd, MODULE_FLAG_NONE},
+ {N_("DMI"), "computer.png", callback_dmi, scan_dmi, MODULE_FLAG_NONE},
+ {N_("Memory SPD"), "memory.png", callback_spd, scan_spd, MODULE_FLAG_NONE},
#endif /* x86 or x86_64 */
- {"Resources", "resources.png", callback_device_resources, scan_device_resources, MODULE_FLAG_NONE},
+ {N_("Resources"), "resources.png", callback_device_resources, scan_device_resources, MODULE_FLAG_NONE},
{NULL}
};
@@ -151,7 +151,7 @@ gchar *get_processor_frequency(void)
p = (Processor *)processors->data;
if (p->cpu_mhz == 0.0f) {
- return g_strdup("Unknown");
+ return g_strdup(N_("Unknown"));
} else {
return g_strdup_printf("%.0f", p->cpu_mhz);
}
@@ -175,7 +175,7 @@ gchar *get_pci_device_description(gchar *pci_id)
gchar *get_memory_total(void)
{
scan_memory(FALSE);
- return hi_more_info("Total Memory");
+ return hi_more_info(N_("Total Memory"));
}
gchar *get_motherboard(void)
@@ -190,11 +190,11 @@ gchar *get_motherboard(void)
if (board_name && board_vendor && *board_name && *board_vendor)
return g_strconcat(board_vendor, " ", board_name, NULL);
else if (board_name && *board_name)
- return g_strconcat(board_name, " (vendor unknown)", NULL);
+ return g_strconcat(board_name, _(" (vendor unknown)"), NULL);
else if (board_vendor && *board_vendor)
- return g_strconcat(board_vendor, " (model unknown)", NULL);
+ return g_strconcat(board_vendor, _(" (model unknown)"), NULL);
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
ShellModuleMethod *hi_exported_methods(void)
@@ -409,7 +409,7 @@ ModuleEntry *hi_module_get_entries(void)
gchar *hi_module_get_name(void)
{
- return g_strdup("Devices");
+ return g_strdup(_("Devices"));
}
guchar hi_module_get_weight(void)
@@ -421,7 +421,7 @@ void hi_module_init(void)
{
if (!g_file_test("/usr/share/misc/pci.ids", G_FILE_TEST_EXISTS)) {
static SyncEntry se = {
- .fancy_name = "Update PCI ID listing",
+ .fancy_name = N_("Update PCI ID listing"),
.name = "GetPCIIds",
.save_to = "pci.ids",
.get_data = NULL
@@ -433,7 +433,7 @@ void hi_module_init(void)
#if defined(ARCH_x86) || defined(ARCH_x86_64)
{
static SyncEntry se = {
- .fancy_name = "Update CPU feature database",
+ .fancy_name = N_("Update CPU feature database"),
.name = "RecvCPUFlags",
.save_to = "cpuflags.conf",
.get_data = NULL
@@ -461,7 +461,7 @@ ModuleAbout *hi_module_get_about(void)
static ModuleAbout ma[] = {
{
.author = "Leandro A. F. Pereira",
- .description = "Gathers information about hardware devices",
+ .description = N_("Gathers information about hardware devices"),
.version = VERSION,
.license = "GNU GPL version 2"}
};
diff --git a/modules/devices/battery.c b/modules/devices/battery.c
index d6d95255..404786c3 100644
--- a/modules/devices/battery.c
+++ b/modules/devices/battery.c
@@ -178,13 +178,13 @@ __scan_battery_acpi(void)
else
charge_rate = 0;
- battery_list = h_strdup_cprintf("\n[Battery: %s]\n"
+ battery_list = h_strdup_cprintf(_("\n[Battery: %s]\n"
"State=%s (load: %s)\n"
"Capacity=%s / %s (%.2f%%)\n"
"Battery Technology=%s (%s)\n"
"Manufacturer=%s\n"
"Model Number=%s\n"
- "Serial Number=%s\n",
+ "Serial Number=%s\n"),
battery_list,
entry,
state, rate,
@@ -263,23 +263,23 @@ __scan_battery_apm(void)
}
if (stotal && sremaining) {
- battery_list = h_strdup_cprintf("\n[Battery (APM)]\n"
+ battery_list = h_strdup_cprintf(_("\n[Battery (APM)]\n"
"Charge=%d%%\n"
"Remaining Charge=%s of %s\n"
"Using=%s\n"
"APM driver version=%s\n"
- "APM BIOS version=%s\n",
+ "APM BIOS version=%s\n"),
battery_list,
percentage,
sremaining, stotal,
ac_status[ac_bat],
apm_drv_ver, apm_bios_ver);
} else {
- battery_list = h_strdup_cprintf("\n[Battery (APM)]\n"
+ battery_list = h_strdup_cprintf(_("\n[Battery (APM)]\n"
"Charge=%d%%\n"
"Using=%s\n"
"APM driver version=%s\n"
- "APM BIOS version=%s\n",
+ "APM BIOS version=%s\n"),
battery_list,
percentage,
ac_status[ac_bat],
@@ -301,7 +301,7 @@ scan_battery_do(void)
if (*battery_list == '\0') {
g_free(battery_list);
- battery_list = g_strdup("[No batteries]\n"
- "No batteries found on this system=\n");
+ battery_list = g_strdup(_("[No batteries]\n"
+ "No batteries found on this system=\n"));
}
}
diff --git a/modules/devices/printers.c b/modules/devices/printers.c
index c3a02c45..77b52a43 100644
--- a/modules/devices/printers.c
+++ b/modules/devices/printers.c
@@ -78,42 +78,42 @@ gchar *__cups_callback_ptype(gchar *strvalue)
gchar *output = g_strdup("\n");
if (value & 0x0004)
- output = h_strdup_cprintf("\342\232\254 Can do black and white printing=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can do black and white printing=\n"), output);
if (value & 0x0008)
- output = h_strdup_cprintf("\342\232\254 Can do color printing=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can do color printing=\n"), output);
if (value & 0x0010)
- output = h_strdup_cprintf("\342\232\254 Can do duplexing=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can do duplexing=\n"), output);
if (value & 0x0020)
- output = h_strdup_cprintf("\342\232\254 Can do staple output=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can do staple output=\n"), output);
if (value & 0x0040)
- output = h_strdup_cprintf("\342\232\254 Can do copies=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can do copies=\n"), output);
if (value & 0x0080)
- output = h_strdup_cprintf("\342\232\254 Can collate copies=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Can collate copies=\n"), output);
if (value & 0x80000)
- output = h_strdup_cprintf("\342\232\254 Printer is rejecting jobs=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Printer is rejecting jobs=\n"), output);
if (value & 0x1000000)
- output = h_strdup_cprintf("\342\232\254 Printer was automatically discovered and added=\n", output);
+ output = h_strdup_cprintf(_("\342\232\254 Printer was automatically discovered and added=\n"), output);
return output;
} else {
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
}
gchar *__cups_callback_state(gchar *value)
{
if (!value) {
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
if (g_str_equal(value, "3")) {
- return g_strdup("Idle");
+ return g_strdup(_("Idle"));
} else if (g_str_equal(value, "4")) {
- return g_strdup("Printing a Job");
+ return g_strdup(_("Printing a Job"));
} else if (g_str_equal(value, "5")) {
- return g_strdup("Stopped");
+ return g_strdup(_("Stopped"));
} else {
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
}
@@ -128,16 +128,16 @@ gchar *__cups_callback_state_change_time(gchar *value)
return g_strdup(buf);
} else {
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
}
gchar *__cups_callback_boolean(gchar *value)
{
if (value) {
- return g_strdup(g_str_equal(value, "1") ? "Yes" : "No");
+ return g_strdup(g_str_equal(value, "1") ? _("Yes") : _("No"));
} else {
- return g_strdup("Unknown");
+ return g_strdup(_("Unknown"));
}
}
@@ -187,8 +187,8 @@ scan_printers_do(void)
init_cups();
printer_icons = g_strdup("");
- printer_list = g_strdup("[Printers]\n"
- "No suitable CUPS library found=");
+ printer_list = g_strdup(_("[Printers]\n"
+ "No suitable CUPS library found="));
return;
}
@@ -197,7 +197,7 @@ scan_printers_do(void)
num_dests = cups_dests_get(&dests);
if (num_dests > 0) {
- printer_list = g_strdup_printf("[Printers (CUPS)]\n");
+ printer_list = g_strdup_printf(_("[Printers (CUPS)]\n"));
printer_icons = g_strdup("");
for (i = 0; i < num_dests; i++) {
GHashTable *options;
@@ -240,7 +240,7 @@ scan_printers_do(void)
/* FIXME Do proper escaping */
temp = g_strdup(strreplacechr(temp, "&=", ' '));
} else {
- temp = g_strdup("Unknown");
+ temp = g_strdup(_("Unknown"));
}
}
@@ -260,7 +260,7 @@ scan_printers_do(void)
cups_dests_free(num_dests, dests);
} else {
- printer_list = g_strdup("[Printers]\n"
- "No printers found=\n");
+ printer_list = g_strdup(_("[Printers]\n"
+ "No printers found=\n"));
}
}
diff --git a/modules/devices/storage.c b/modules/devices/storage.c
index 3df6c765..127e27c8 100644
--- a/modules/devices/storage.c
+++ b/modules/devices/storage.c
@@ -43,7 +43,7 @@ __scan_scsi_devices(void)
if (!g_file_test("/proc/scsi/scsi", G_FILE_TEST_EXISTS))
return;
- scsi_storage_list = g_strdup("\n[SCSI Disks]\n");
+ scsi_storage_list = g_strdup(_("\n[SCSI Disks]\n"));
if ((proc_scsi = fopen("/proc/scsi/scsi", "r"))) {
while (fgets(buffer, 256, proc_scsi)) {
@@ -107,27 +107,27 @@ __scan_scsi_devices(void)
scsi_storage_list = h_strdup_cprintf("$%s$%s=\n", scsi_storage_list, devid, model);
storage_icons = h_strdup_cprintf("Icon$%s$%s=%s.png\n", storage_icons, devid, model, icon);
- gchar *strhash = g_strdup_printf("[Device Information]\n"
- "Model=%s\n", model);
+ gchar *strhash = g_strdup_printf(_("[Device Information]\n"
+ "Model=%s\n"), model);
const gchar *url = vendor_get_url(model);
if (url) {
- strhash = h_strdup_cprintf("Vendor=%s (%s)\n",
+ strhash = h_strdup_cprintf(_("Vendor=%s (%s)\n"),
strhash,
vendor_get_name(model),
url);
} else {
- strhash = h_strdup_cprintf("Vendor=%s\n",
+ strhash = h_strdup_cprintf(_("Vendor=%s\n"),
strhash,
vendor_get_name(model));
}
- strhash = h_strdup_cprintf("Type=%s\n"
+ strhash = h_strdup_cprintf(_("Type=%s\n"
"Revision=%s\n"
"[SCSI Controller]\n"
"Controller=scsi%d\n"
"Channel=%d\n"
- "ID=%d\n" "LUN=%d\n",
+ "ID=%d\n" "LUN=%d\n"),
strhash,
type,
revision,
@@ -166,7 +166,7 @@ __scan_ide_devices(void)
/* remove old devices from global device table */
moreinfo_del_with_prefix("DEV:IDE");
- ide_storage_list = g_strdup("\n[IDE Disks]\n");
+ ide_storage_list = g_strdup(_("\n[IDE Disks]\n"));
iface = 'a';
for (i = 0; i <= 16; i++) {
@@ -239,7 +239,7 @@ __scan_ide_devices(void)
strreplacechr(g_strstrip(buf), ":", '='),
"\n", NULL);
} else if (strstr(buf, "Device seems to be")) {
- driver = g_strdup_printf("Driver=%s\n", strchr(buf, ':') + 1);
+ driver = g_strdup_printf(_("Driver=%s\n"), strchr(buf, ':') + 1);
}
}
@@ -294,26 +294,26 @@ __scan_ide_devices(void)
model, g_str_equal(media, "cdrom") ? \
"cdrom" : "hdd");
- gchar *strhash = g_strdup_printf("[Device Information]\n"
- "Model=%s\n",
+ gchar *strhash = g_strdup_printf(_("[Device Information]\n"
+ "Model=%s\n"),
model);
const gchar *url = vendor_get_url(model);
if (url) {
- strhash = h_strdup_cprintf("Vendor=%s (%s)\n",
+ strhash = h_strdup_cprintf(_("Vendor=%s (%s)\n"),
strhash,
vendor_get_name(model),
url);
} else {
- strhash = h_strdup_cprintf("Vendor=%s\n",
+ strhash = h_strdup_cprintf(_("Vendor=%s\n"),
strhash,
vendor_get_name(model));
}
- strhash = h_strdup_cprintf("Device Name=hd%c\n"
+ strhash = h_strdup_cprintf(_("Device Name=hd%c\n"
"Media=%s\n"
- "Cache=%dkb\n",
+ "Cache=%dkb\n"),
strhash,
iface,
media,
@@ -326,9 +326,9 @@ __scan_ide_devices(void)
}
if (pgeometry && lgeometry) {
- strhash = h_strdup_cprintf("[Geometry]\n"
+ strhash = h_strdup_cprintf(_("[Geometry]\n"
"Physical=%s\n"
- "Logical=%s\n",
+ "Logical=%s\n"),
strhash, pgeometry, lgeometry);
g_free(pgeometry);
@@ -338,14 +338,14 @@ __scan_ide_devices(void)
}
if (capab) {
- strhash = h_strdup_cprintf("[Capabilities]\n%s", strhash, capab);
+ strhash = h_strdup_cprintf(_("[Capabilities]\n%s"), strhash, capab);
g_free(capab);
capab = NULL;
}
if (speed) {
- strhash = h_strdup_cprintf("[Speeds]\n%s", strhash, speed);
+ strhash = h_strdup_cprintf(_("[Speeds]\n%s"), strhash, speed);
g_free(speed);
speed = NULL;
diff --git a/modules/network.c b/modules/network.c
index 95cec5ec..18f8ba65 100644
--- a/modules/network.c
+++ b/modules/network.c
@@ -56,13 +56,13 @@ void scan_arp(gboolean reload);
void scan_statistics(gboolean reload);
static ModuleEntry entries[] = {
- {"Interfaces", "network-interface.png", callback_network, scan_network, MODULE_FLAG_NONE},
- {"IP Connections", "network-connections.png", callback_connections, scan_connections, MODULE_FLAG_NONE},
- {"Routing Table", "network.png", callback_route, scan_route, MODULE_FLAG_NONE},
- {"ARP Table", "module.png", callback_arp, scan_arp, MODULE_FLAG_NONE},
- {"DNS Servers", "dns.png", callback_dns, scan_dns, MODULE_FLAG_NONE},
- {"Statistics", "network-statistics.png", callback_statistics, scan_statistics, MODULE_FLAG_NONE},
- {"Shared Directories", "shares.png", callback_shares, scan_shares, MODULE_FLAG_NONE},
+ {N_("Interfaces"), "network-interface.png", callback_network, scan_network, MODULE_FLAG_NONE},
+ {N_("IP Connections"), "network-connections.png", callback_connections, scan_connections, MODULE_FLAG_NONE},
+ {N_("Routing Table"), "network.png", callback_route, scan_route, MODULE_FLAG_NONE},
+ {N_("ARP Table"), "module.png", callback_arp, scan_arp, MODULE_FLAG_NONE},
+ {N_("DNS Servers"), "dns.png", callback_dns, scan_dns, MODULE_FLAG_NONE},
+ {N_("Statistics"), "network-statistics.png", callback_statistics, scan_statistics, MODULE_FLAG_NONE},
+ {N_("Shared Directories"), "shares.png", callback_shares, scan_shares, MODULE_FLAG_NONE},
{NULL},
};
@@ -297,14 +297,14 @@ void scan_connections(gboolean reload)
gchar *callback_arp()
{
- return g_strdup_printf("[ARP Table]\n"
+ return g_strdup_printf(_("[ARP Table]\n"
"%s\n"
"[$ShellParam$]\n"
"ReloadInterval=3000\n"
"ColumnTitle$TextValue=IP Address\n"
"ColumnTitle$Value=Interface\n"
"ColumnTitle$Extra1=MAC Address\n"
- "ShowColumnHeaders=true\n",
+ "ShowColumnHeaders=true\n"),
__arp_table);
}
@@ -318,17 +318,17 @@ gchar *callback_shares()
gchar *callback_dns()
{
- return g_strdup_printf("[Name servers]\n"
+ return g_strdup_printf(_("[Name servers]\n"
"%s\n"
"[$ShellParam$]\n"
"ColumnTitle$TextValue=IP Address\n"
"ColumnTitle$Value=Name\n"
- "ShowColumnHeaders=true\n", __nameservers);
+ "ShowColumnHeaders=true\n"), __nameservers);
}
gchar *callback_connections()
{
- return g_strdup_printf("[Connections]\n"
+ return g_strdup_printf(_("[Connections]\n"
"%s\n"
"[$ShellParam$]\n"
"ReloadInterval=3000\n"
@@ -336,13 +336,13 @@ gchar *callback_connections()
"ColumnTitle$Value=Protocol\n"
"ColumnTitle$Extra1=Foreign Address\n"
"ColumnTitle$Extra2=State\n"
- "ShowColumnHeaders=true\n",
+ "ShowColumnHeaders=true\n"),
__connections);
}
gchar *callback_network()
{
- return g_strdup_printf("%s\n"
+ return g_strdup_printf(_("%s\n"
"[$ShellParam$]\n"
"ReloadInterval=3000\n"
"ViewType=1\n"
@@ -351,14 +351,14 @@ gchar *callback_network()
"ColumnTitle$Extra1=Sent\n"
"ColumnTitle$Extra2=Received\n"
"ShowColumnHeaders=true\n"
- "%s",
+ "%s"),
network_interfaces,
network_icons);
}
gchar *callback_route()
{
- return g_strdup_printf("[IP routing table]\n"
+ return g_strdup_printf(_("[IP routing table]\n"
"%s\n"
"[$ShellParam$]\n"
"ViewType=0\n"
@@ -367,7 +367,7 @@ gchar *callback_route()
"ColumnTitle$Value=Interface\n"
"ColumnTitle$Extra1=Flags\n"
"ColumnTitle$Extra2=Mask\n"
- "ShowColumnHeaders=true\n",
+ "ShowColumnHeaders=true\n"),
__routing_table);
}
@@ -396,7 +396,7 @@ ModuleEntry *hi_module_get_entries(void)
gchar *hi_module_get_name(void)
{
- return g_strdup("Network");
+ return g_strdup(_("Network"));
}
guchar hi_module_get_weight(void)
@@ -429,7 +429,7 @@ ModuleAbout *hi_module_get_about(void)
static ModuleAbout ma[] = {
{
.author = "Leandro A. F. Pereira",
- .description = "Gathers information about this computer's network connection",
+ .description = N_("Gathers information about this computer's network connection"),
.version = VERSION,
.license = "GNU GPL version 2"}
};
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 00000000..591e6387
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,19 @@
+shell/callbacks.c
+shell/menu.c
+shell/report.c
+shell/shell.c
+shell/syncmanager.c
+modules/benchmark.c
+modules/computer.c
+modules/devices.c
+modules/network.c
+modules/computer/alsa.c
+modules/computer/boots.c
+modules/computer/display.c
+modules/computer/environment.c
+hardinfo/util.c
+modules/devices/x86/processor.c
+modules/devices/printers.c
+modules/computer/os.c
+modules/devices/battery.c
+modules/devices/storage.c
diff --git a/po/build_pot.sh b/po/build_pot.sh
new file mode 100644
index 00000000..511aa000
--- /dev/null
+++ b/po/build_pot.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+cd ..
+
+xgettext --from-code="UTF-8" --keyword="_" --keyword="N_" -f po/POTFILES.in -o - \ No newline at end of file
diff --git a/po/hardinfo.po b/po/hardinfo.po
new file mode 100644
index 00000000..eabeb64a
--- /dev/null
+++ b/po/hardinfo.po
@@ -0,0 +1,1748 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: hardinfo puppy\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-09-01 22:24+0300\n"
+"PO-Revision-Date: \n"
+"Last-Translator: Sergey Rodin <rodin.s@rambler.ru>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Russian\n"
+"X-Poedit-Country: UKRAINE\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+
+#: shell/callbacks.c:71
+#, c-format
+msgid "Remote: <b>%s</b>"
+msgstr "Удалённо: <b>%s</b>"
+
+#: shell/callbacks.c:117
+msgid "Disconnecting..."
+msgstr "Отключение..."
+
+#: shell/callbacks.c:120
+msgid "Unloading modules..."
+msgstr "Выгрузка модулей..."
+
+#: shell/callbacks.c:123
+msgid "Loading local modules..."
+msgstr "Загрузка локальных модулей..."
+
+#: shell/callbacks.c:130
+#: shell/callbacks.c:162
+#: shell/shell.c:314
+#: shell/shell.c:814
+#: shell/shell.c:1796
+#: modules/benchmark.c:431
+#: modules/benchmark.c:439
+#: hardinfo/util.c:1106
+msgid "Done."
+msgstr "Выполнено."
+
+#: shell/callbacks.c:142
+msgid "Save Image"
+msgstr "Сохранить изображение"
+
+#: shell/callbacks.c:158
+msgid "Saving image..."
+msgstr "Сохранение изображения..."
+
+#: shell/callbacks.c:236
+msgid "No context help available."
+msgstr "Контекстная справка недоступна"
+
+#: shell/callbacks.c:318
+#, c-format
+msgid "%s Module"
+msgstr "%s модуль"
+
+#: shell/callbacks.c:325
+#, c-format
+msgid ""
+"Written by %s\n"
+"Licensed under %s"
+msgstr ""
+"Автор программы %s\n"
+"Лицензия %s"
+
+#: shell/callbacks.c:339
+#, c-format
+msgid "No about information is associated with the %s module."
+msgstr "Нет информации о модуле %s."
+
+#: shell/callbacks.c:353
+msgid "Author:"
+msgstr "Автор:"
+
+#: shell/callbacks.c:356
+msgid "Contributors:"
+msgstr "Участники:"
+
+#: shell/callbacks.c:360
+msgid "Based on work by:"
+msgstr "Основан на работах:"
+
+#: shell/callbacks.c:361
+msgid "MD5 implementation by Colin Plumb (see md5.c for details)"
+msgstr "Реализация MD5 Колина Пламба (подробности md5.c)"
+
+#: shell/callbacks.c:362
+msgid "SHA1 implementation by Steve Reid (see sha1.c for details)"
+msgstr "Реализация SHA1 Стива Рейда (см. подробности в sha1.c) "
+
+#: shell/callbacks.c:363
+msgid "Blowfish implementation by Paul Kocher (see blowfich.c for details)"
+msgstr "Реализация Blowfish Пола Кочера (см. подробности в blowfich.c)"
+
+#: shell/callbacks.c:364
+msgid "Raytracing benchmark by John Walker (see fbench.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:365
+msgid "FFT benchmark by Scott Robert Ladd (see fftbench.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:366
+msgid "Some code partly based on x86cpucaps by Osamu Kayasono"
+msgstr ""
+
+#: shell/callbacks.c:367
+msgid "Vendor list based on GtkSysInfo by Pissens Sebastien"
+msgstr ""
+
+#: shell/callbacks.c:368
+msgid "DMI support based on code by Stewart Adam"
+msgstr ""
+
+#: shell/callbacks.c:369
+msgid "SCSI support based on code by Pascal F. Martin"
+msgstr ""
+
+#: shell/callbacks.c:373
+#, fuzzy
+msgid "Jakub Szypulka"
+msgstr "Jakub Jelínek"
+
+#: shell/callbacks.c:374
+msgid "Tango Project"
+msgstr "Проект Tango"
+
+#: shell/callbacks.c:375
+msgid "The GNOME Project"
+msgstr "Проект GNOME"
+
+#: shell/callbacks.c:376
+msgid "VMWare, Inc. (USB icon from VMWare Workstation 6)"
+msgstr "VMWare, Inc. (USB значок из VMWare Workstation 6)"
+
+#: shell/callbacks.c:387
+msgid "System information and benchmark tool"
+msgstr "Информация о системе и тестирование"
+
+#: shell/callbacks.c:392
+msgid ""
+"HardInfo is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
+msgstr ""
+"HardInfo это свободное программное обеспечение; вы можете распространять его и/или изменять под условиями Общей общественной лицензии GNU, которая была опубликована Фондом свободного программного обеспечения, версия 2.\n"
+"\n"
+"Эта программа распространятся в надежде, что будет полезной, но БЕЗ КАКОЙ-ЛИБО ГАРАНТИИ; даже без предполагаемой гарантии ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ. См. подробности в Общественной лицензии GNU.\n"
+"\n"
+"Вы должны были получить копию Общественной лицензии GNU вместе с этой программой; если нет, пишите в Фонд свободного программного обеспечения, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
+
+#: shell/menu.c:35
+msgid "_Information"
+msgstr "_Информация"
+
+#: shell/menu.c:36
+msgid "_Remote"
+msgstr "_Удалённо"
+
+#: shell/menu.c:37
+msgid "_View"
+msgstr "_Вид"
+
+#: shell/menu.c:38
+msgid "_Help"
+msgstr "_Справка"
+
+#: shell/menu.c:39
+msgid "About _Modules"
+msgstr "О _модулях"
+
+#: shell/menu.c:43
+msgid "Generate _Report"
+msgstr "Создать _отчёт"
+
+#: shell/menu.c:48
+msgid "_Network Updater..."
+msgstr "_Обновление через сеть..."
+
+#: shell/menu.c:53
+msgid "_Open..."
+msgstr "_Открыть..."
+
+#: shell/menu.c:58
+msgid "_Connect to..."
+msgstr "_Подключиться к..."
+
+#: shell/menu.c:63
+msgid "_Manage hosts..."
+msgstr "_Управление хостами..."
+
+#: shell/menu.c:68
+msgid "_Local computer"
+msgstr "_Локальный компьютер"
+
+#: shell/menu.c:73
+msgid "_Copy to Clipboard"
+msgstr "_Копировать в буфер"
+
+#: shell/menu.c:74
+msgid "Copy to clipboard"
+msgstr "Копировать в буфер обмена"
+
+#: shell/menu.c:78
+msgid "_Save image as..."
+msgstr "_Сохранить изображение как..."
+
+#: shell/menu.c:83
+msgid "_Refresh"
+msgstr "_Обновить"
+
+#: shell/menu.c:88
+msgid "Contents"
+msgstr "Содержание"
+
+#: shell/menu.c:93
+#: shell/shell.c:1790
+#: shell/shell.c:1807
+msgid "Context help"
+msgstr "Контекстная справка"
+
+#: shell/menu.c:98
+msgid "_Open HardInfo Web Site"
+msgstr "_Открыть веб-сайт Hardinfo"
+
+#: shell/menu.c:103
+msgid "_Report bug"
+msgstr "_Сообщить об ошибке"
+
+#: shell/menu.c:108
+msgid "_Donate to the project"
+msgstr "_Поддержать проект"
+
+#: shell/menu.c:113
+msgid "_About HardInfo"
+msgstr "_О HardInfo"
+
+#: shell/menu.c:114
+msgid "Displays program version information"
+msgstr "Показывает информацию о версии программы"
+
+#: shell/menu.c:118
+msgid "_Quit"
+msgstr "_Выход"
+
+#: shell/menu.c:125
+msgid "_Side Pane"
+msgstr "_Боковая панель"
+
+#: shell/menu.c:126
+msgid "Toggles side pane visibility"
+msgstr "Управляет боковой панелью"
+
+#: shell/menu.c:129
+msgid "_Toolbar"
+msgstr "_Панель инструментов"
+
+#: shell/menu.c:133
+msgid "_Accept connections"
+msgstr "_Принимать подключения"
+
+#: shell/report.c:492
+msgid "Save File"
+msgstr "Сохранить файл"
+
+#: shell/report.c:616
+msgid "Cannot create ReportContext. Programming bug?"
+msgstr "Не могу создать ReportContext. Ошибка программирования?"
+
+#: shell/report.c:634
+msgid "Open the report with your web browser?"
+msgstr "Открыть отчёт в веб-браузере?"
+
+#: shell/report.c:662
+msgid "Generating report..."
+msgstr "Создаётся отчёт..."
+
+#: shell/report.c:672
+msgid "Report saved."
+msgstr "Отчёт сохранён."
+
+#: shell/report.c:674
+msgid "Error while creating the report."
+msgstr "Ошибка во время создания отчёта."
+
+#: shell/report.c:776
+msgid "Generate Report"
+msgstr "Создать отчёт"
+
+#: shell/report.c:793
+msgid ""
+"<big><b>Generate Report</b></big>\n"
+"Please choose the information that you wish to view in your report:"
+msgstr ""
+"<big><b>Создать отчёт</b></big>\n"
+"Пожалуйста выберите информацию, которую вы хотите видеть в отчёте:"
+
+#: shell/report.c:853
+msgid "Select _None"
+msgstr "Выбор: нет"
+
+#: shell/report.c:860
+msgid "Select _All"
+msgstr "Выбор: все"
+
+#: shell/report.c:878
+msgid "_Generate"
+msgstr "_Сгенерировать"
+
+#: shell/shell.c:407
+#, c-format
+msgid "%s - System Information"
+msgstr "%s - Информация о системе"
+
+#: shell/shell.c:412
+msgid "System Information"
+msgstr "Информация о системе"
+
+#: shell/shell.c:801
+msgid "Loading modules..."
+msgstr "Загрузка модулей..."
+
+#: shell/shell.c:1650
+#, c-format
+msgid "<b>%s → Summary</b>"
+msgstr "<b>%s → </b>"
+
+#: shell/shell.c:1758
+msgid "Updating..."
+msgstr "Обновление..."
+
+#: shell/syncmanager.c:69
+msgid ""
+"<big><b>Synchronize with Central Database</b></big>\n"
+"The following information may be synchronized with the HardInfo central database."
+msgstr ""
+"<big><b>Синхронизировать с центральной базой данных</b></big>\n"
+"Следующая информация может быть синхронизирована с центральной базой данных HardInfo."
+
+#: shell/syncmanager.c:72
+msgid ""
+"<big><b>Synchronizing</b></big>\n"
+"This may take some time."
+msgstr ""
+"<big><b>Синхронизация</b></big>\n"
+"Это может занять какое-то время."
+
+#: shell/syncmanager.c:132
+msgid "HardInfo was compiled without libsoup support. (Network Updater requires it.)"
+msgstr "HardInfo был скомпилирован без поддержки libsoup. (Нужен для сетевого обновления.)"
+
+#: shell/syncmanager.c:161
+#: shell/syncmanager.c:185
+#, c-format
+msgid "%s (error #%d)"
+msgstr "%s (ошибка #%d)"
+
+#: shell/syncmanager.c:170
+#: shell/syncmanager.c:194
+msgid "Could not parse XML-RPC response"
+msgstr "Не могу разобрать XML-RPC ответ"
+
+#: shell/syncmanager.c:267
+#, c-format
+msgid "Server says it supports API version %d, but this version of HardInfo only supports API version %d."
+msgstr "Сервер говорит, что поддерживает API версии %d, но эта версия HardInfo поддерживает API только версии %d."
+
+#: shell/syncmanager.c:362
+msgid "Contacting HardInfo Central Database"
+msgstr "Подключение к центральной базе данных Hardinfo"
+
+#: shell/syncmanager.c:363
+msgid "Cleaning up"
+msgstr "Очистка"
+
+#: shell/syncmanager.c:480
+#, c-format
+msgid "<s>%s</s> <i>(canceled)</i>"
+msgstr "<s>%s</s> <i>(отменен)</i>"
+
+#: shell/syncmanager.c:497
+#, c-format
+msgid "<b><s>%s</s></b> <i>(failed)</i>"
+msgstr "<b><s>%s</s></b> <i>(ошибка)</i>"
+
+#: shell/syncmanager.c:509
+#, c-format
+msgid ""
+"Failed while performing \"%s\". Please file a bug report if this problem persists. (Use the Help→Report bug option.)\n"
+"\n"
+"Details: %s"
+msgstr ""
+"Ошибка во время выполнения \"%s\". Если проблема будет повторяться пожалуйста сообщите об ошибке. (Используйте опцию в меню Справка.)\n"
+"\n"
+"Подробности: %s"
+
+#: shell/syncmanager.c:518
+#, c-format
+msgid "Failed while performing \"%s\". Please file a bug report if this problem persists. (Use the Help→Report bug option.)"
+msgstr "Ошибка во время выполнения \"%s\". Пожалуйста сообщите об ошибке если проблема будет повторяться. (Используйте опцию в меню Справка.)"
+
+#: shell/syncmanager.c:646
+msgid "Network Updater"
+msgstr "Сетевое обновление"
+
+#: shell/syncmanager.c:727
+msgid "_Synchronize"
+msgstr "_Синхронизировать"
+
+#: modules/benchmark.c:50
+#, fuzzy
+msgid "CPU Blowfish"
+msgstr "ЦПУ МГц"
+
+#: modules/benchmark.c:51
+#, fuzzy
+msgid "CPU CryptoHash"
+msgstr "ЦПУ МГц"
+
+#: modules/benchmark.c:52
+#, fuzzy
+msgid "CPU Fibonacci"
+msgstr "ЦПУ МГц"
+
+#: modules/benchmark.c:53
+#, fuzzy
+msgid "CPU N-Queens"
+msgstr "ЦПУ МГц"
+
+#: modules/benchmark.c:54
+msgid "FPU FFT"
+msgstr ""
+
+#: modules/benchmark.c:55
+msgid "FPU Raytracing"
+msgstr ""
+
+#: modules/benchmark.c:56
+msgid "GPU Drawing"
+msgstr ""
+
+#: modules/benchmark.c:222
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=CPU Clock\n"
+"ColumnTitle$Progress=Results\n"
+"ColumnTitle$TextValue=CPU\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"<big><b>This Machine</b></big>=%.3f|%s MHz\n"
+"%s"
+msgstr ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=Частота процессора\n"
+"ColumnTitle$Progress=Результаты\n"
+"ColumnTitle$TextValue=Процессор\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"<big><b>Эта машина</b></big>=%.3f|%s MHz\n"
+"%s"
+
+#: modules/benchmark.c:235
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=CPU Clock\n"
+"ColumnTitle$Progress=Results\n"
+"ColumnTitle$TextValue=CPU\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"%s"
+msgstr ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=Частота процессора\n"
+"ColumnTitle$Progress=Результаты\n"
+"ColumnTitle$TextValue=Процессор\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"%s"
+
+#: modules/benchmark.c:363
+#, c-format
+msgid "Benchmarking: <b>%s</b>."
+msgstr "Тестирование: <b>%s</b>"
+
+#: modules/benchmark.c:377
+msgid "Benchmarking. Please do not move your mouse or press any keys."
+msgstr "Тестирование. Пожалуйста не двигайте мышь и не нажимайте на кнопки."
+
+#: modules/benchmark.c:381
+msgid "Cancel"
+msgstr "Отмена"
+
+#: modules/benchmark.c:511
+msgid "Results in MiB/second. Higher is better."
+msgstr "Результаты в MiB/сек. Чем выше, тем лучше."
+
+#: modules/benchmark.c:514
+msgid "Results in HIMarks. Higher is better."
+msgstr "Результаты в HIMarks. Чем выше, тем лучше."
+
+#: modules/benchmark.c:521
+msgid "Results in seconds. Lower is better."
+msgstr "Результат в секундах. Чем ниже тем лучше."
+
+#: modules/benchmark.c:529
+msgid "Benchmarks"
+msgstr "Тесты"
+
+#: modules/benchmark.c:547
+msgid "Perform tasks and compare with other systems"
+msgstr "Выполняет задания и сравнивает с другими системами"
+
+#: modules/benchmark.c:634
+msgid "Send benchmark results"
+msgstr "Отправить результаты тестирования"
+
+#: modules/benchmark.c:639
+msgid "Receive benchmark results"
+msgstr "Принять результаты тестирования"
+
+#: modules/computer.c:68
+msgid "Summary"
+msgstr "Суммарная информация"
+
+#: modules/computer.c:69
+msgid "Operating System"
+msgstr "Операционная система"
+
+#: modules/computer.c:70
+msgid "Kernel Modules"
+msgstr "Модули ядра"
+
+#: modules/computer.c:71
+msgid "Boots"
+msgstr "Загрузки"
+
+#: modules/computer.c:72
+msgid "Languages"
+msgstr "Языки"
+
+#: modules/computer.c:73
+msgid "Filesystems"
+msgstr "Файловые системы"
+
+#: modules/computer.c:74
+msgid "Display"
+msgstr "Дисплей"
+
+#: modules/computer.c:75
+msgid "Environment Variables"
+msgstr "Переменные окружения"
+
+#: modules/computer.c:77
+msgid "Development"
+msgstr "Разработка"
+
+#: modules/computer.c:79
+msgid "Users"
+msgstr "Пользователи"
+
+#: modules/computer.c:80
+msgid "Groups"
+msgstr "Группы"
+
+#: modules/computer.c:104
+#, c-format
+msgid "%dMB (%dMB used)"
+msgstr "%dMB (%dMB занято)"
+
+#: modules/computer.c:200
+msgid "Scripting Languages"
+msgstr "Скриптовые языки"
+
+#: modules/computer.c:201
+msgid "CPython"
+msgstr ""
+
+#: modules/computer.c:202
+#, fuzzy
+msgid "Perl"
+msgstr "Perl"
+
+#: modules/computer.c:203
+msgid "PHP"
+msgstr ""
+
+#: modules/computer.c:204
+msgid "Ruby"
+msgstr ""
+
+#: modules/computer.c:205
+msgid "Bash"
+msgstr ""
+
+#: modules/computer.c:206
+msgid "Compilers"
+msgstr "Компиляторы"
+
+#: modules/computer.c:207
+msgid "C (GCC)"
+msgstr ""
+
+#: modules/computer.c:208
+#, fuzzy
+msgid "Java"
+msgstr "Язык программирования Java"
+
+#: modules/computer.c:209
+#, fuzzy
+msgid "CSharp (Mono, old)"
+msgstr "Найдена старая установка %s."
+
+#: modules/computer.c:210
+#, fuzzy
+msgid "CSharp (Mono)"
+msgstr "Моноширинный шрифт"
+
+#: modules/computer.c:211
+#, fuzzy
+msgid "Vala"
+msgstr "базы данных vala"
+
+#: modules/computer.c:212
+msgid "Haskell (GHC)"
+msgstr ""
+
+#: modules/computer.c:213
+msgid "FreePascal"
+msgstr ""
+
+#: modules/computer.c:214
+msgid "Tools"
+msgstr "Инструменты"
+
+#: modules/computer.c:262
+#, c-format
+msgid "%s=Not found\n"
+msgstr "%s=Не найдено\n"
+
+#: modules/computer.c:265
+#, c-format
+msgid "Detecting version: %s"
+msgstr "Определена версия: %s"
+
+#: modules/computer.c:276
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Program\n"
+"ColumnTitle$Value=Version\n"
+"ShowColumnHeaders=true\n"
+"%s"
+msgstr ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Программа\n"
+"ColumnTitle$Value=Версия\n"
+"ShowColumnHeaders=true\n"
+"%s"
+
+#: modules/computer.c:356
+msgid "Physical machine"
+msgstr "Физическая машина"
+
+# Memory и Date/Time не переводить, не будет обновляться.
+#: modules/computer.c:373
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"UpdateInterval$Memory=1000\n"
+"UpdateInterval$Date/Time=1000\n"
+"#ReloadInterval=5000\n"
+"[Computer]\n"
+"Processor=%s\n"
+"Memory=...\n"
+"Machine Type=%s\n"
+"Operating System=%s\n"
+"User Name=%s\n"
+"Date/Time=...\n"
+"[Display]\n"
+"Resolution=%dx%d pixels\n"
+"OpenGL Renderer=%s\n"
+"X11 Vendor=%s\n"
+"\n"
+"%s\n"
+"[Input Devices]\n"
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s\n"
+msgstr ""
+"[$ShellParam$]\n"
+"UpdateInterval$Memory=1000\n"
+"UpdateInterval$Date/Time=1000\n"
+"#ReloadInterval=5000\n"
+"[Компьютер]\n"
+"Процессор=%s\n"
+"Memory=...\n"
+"Тип машины=%s\n"
+"Операционная система=%s\n"
+"Пользователь=%s\n"
+"Date/Time=...\n"
+"[Дисплей]\n"
+"Разрешение=%dx%d пикс.\n"
+"OpenGL Renderer=%s\n"
+"X11 Vendor=%s\n"
+"\n"
+"%s\n"
+"[Устройства ввода]\n"
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s\n"
+
+# Uptime и Load Average не переводить, не будут обновляться.
+#: modules/computer.c:415
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"UpdateInterval$Uptime=10000\n"
+"UpdateInterval$Load Average=1000\n"
+"[Version]\n"
+"Kernel=%s\n"
+"Version=%s\n"
+"C Library=%s\n"
+"Distribution=%s\n"
+"[Current Session]\n"
+"Computer Name=%s\n"
+"User Name=%s\n"
+"#Language=%s\n"
+"Home Directory=%s\n"
+"Desktop Environment=%s\n"
+"[Misc]\n"
+"Uptime=...\n"
+"Load Average=..."
+msgstr ""
+"[$ShellParam$]\n"
+"UpdateInterval$Uptime=10000\n"
+"UpdateInterval$Load Average=1000\n"
+"[Версия]\n"
+"Ядро=%s\n"
+"Версия=%s\n"
+"Библиотека C=%s\n"
+"Дистрибутив=%s\n"
+"[Текущая сессия]\n"
+"Имя компьютера=%s\n"
+"Пользователь=%s\n"
+"#Язык=%s\n"
+"Домашний каталог=%s\n"
+"Окружение рабочего стола=%s\n"
+"[Разное]\n"
+"Uptime=...\n"
+"Load Average=..."
+
+#: modules/computer.c:444
+#, c-format
+msgid ""
+"[Loaded Modules]\n"
+"%s[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Name\n"
+"ColumnTitle$Value=Description\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+"[Loaded Modules]\n"
+"%s[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Имя\n"
+"ColumnTitle$Value=Описание\n"
+"ShowColumnHeaders=true\n"
+
+#: modules/computer.c:455
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Date & Time\n"
+"ColumnTitle$Value=Kernel Version\n"
+"ShowColumnHeaders=true\n"
+"\n"
+"%s"
+msgstr ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Дата и время\n"
+"ColumnTitle$Value=Версия ядра\n"
+"ShowColumnHeaders=true\n"
+"\n"
+"%s"
+
+#: modules/computer.c:465
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Language Code\n"
+"ColumnTitle$Value=Name\n"
+"ShowColumnHeaders=true\n"
+"[Available Languages]\n"
+"%s"
+msgstr ""
+"[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Код языка\n"
+"ColumnTitle$Value=Название\n"
+"ShowColumnHeaders=true\n"
+"[Available Languages]\n"
+"%s"
+
+#: modules/computer.c:476
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ViewType=4\n"
+"ReloadInterval=5000\n"
+"Zebra=1\n"
+"NormalizePercentage=false\n"
+"ColumnTitle$Extra1=Mount Point\n"
+"ColumnTitle$Progress=Usage\n"
+"ColumnTitle$TextValue=Device\n"
+"ShowColumnHeaders=true\n"
+"[Mounted File Systems]\n"
+"%s\n"
+msgstr ""
+"[$ShellParam$]\n"
+"ViewType=4\n"
+"ReloadInterval=5000\n"
+"Zebra=1\n"
+"NormalizePercentage=false\n"
+"ColumnTitle$Extra1=Точка монтирования\n"
+"ColumnTitle$Progress=Использование\n"
+"ColumnTitle$TextValue=Устройство\n"
+"ShowColumnHeaders=true\n"
+"[Mounted File Systems]\n"
+"%s\n"
+
+#: modules/computer.c:490
+#, c-format
+msgid ""
+"[Display]\n"
+"Resolution=%dx%d pixels\n"
+"Vendor=%s\n"
+"Version=%s\n"
+"[Monitors]\n"
+"%s[Extensions]\n"
+"%s[OpenGL]\n"
+"Vendor=%s\n"
+"Renderer=%s\n"
+"Version=%s\n"
+"Direct Rendering=%s\n"
+msgstr ""
+"[Дисплей]\n"
+"Разрешение=%dx%d пикс.\n"
+"Производитель=%s\n"
+"Версия=%s\n"
+"[Монитор]\n"
+"%s[Расширения]\n"
+"%s[OpenGL]\n"
+"Производитель=%s\n"
+"Renderer=%s\n"
+"Версия=%s\n"
+"Графическое ускорение=%s\n"
+
+#: modules/computer.c:512
+msgid "Y_es"
+msgstr "Есть"
+
+#: modules/computer.c:512
+#: modules/devices/printers.c:138
+msgid "No"
+msgstr "Нет"
+
+#: modules/computer.c:526
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ReloadInterval=10000\n"
+"ColumnTitle$TextValue=Name\n"
+"ColumnTitle$Value=Group ID\n"
+"ShowColumnHeaders=true\n"
+"[Groups]\n"
+"%s\n"
+msgstr ""
+"[$ShellParam$]\n"
+"ReloadInterval=10000\n"
+"ColumnTitle$TextValue=Имя\n"
+"ColumnTitle$Value=ID группы\n"
+"ShowColumnHeaders=true\n"
+"[Groups]\n"
+"%s\n"
+
+#: modules/computer.c:606
+msgid "Computer"
+msgstr "Компьютер"
+
+#: modules/computer.c:700
+msgid "Gathers high-level computer information"
+msgstr "Собирает высокоуровневую информацию о компьютере"
+
+#: modules/devices.c:74
+msgid "Processor"
+msgstr "Процессор"
+
+#: modules/devices.c:75
+msgid "Memory"
+msgstr "Память"
+
+#: modules/devices.c:76
+msgid "PCI Devices"
+msgstr "Устройства PCI"
+
+#: modules/devices.c:77
+msgid "USB Devices"
+msgstr "Устройства USB"
+
+#: modules/devices.c:78
+msgid "Printers"
+msgstr "Принтеры"
+
+#: modules/devices.c:79
+msgid "Battery"
+msgstr "Батарея"
+
+#: modules/devices.c:80
+msgid "Sensors"
+msgstr "Сенсоры"
+
+#: modules/devices.c:81
+msgid "Input Devices"
+msgstr "Устройства ввода"
+
+#: modules/devices.c:82
+msgid "Storage"
+msgstr "Устройства хранения"
+
+#: modules/devices.c:84
+msgid "DMI"
+msgstr ""
+
+#: modules/devices.c:85
+msgid "Memory SPD"
+msgstr "Память SPD"
+
+#: modules/devices.c:87
+msgid "Resources"
+msgstr "Ресурсы"
+
+#: modules/devices.c:154
+#: modules/devices.c:197
+#: modules/devices/printers.c:99
+#: modules/devices/printers.c:106
+#: modules/devices/printers.c:116
+#: modules/devices/printers.c:131
+#: modules/devices/printers.c:140
+#: modules/devices/printers.c:243
+#: modules/computer/os.c:53
+#: modules/computer/os.c:130
+msgid "Unknown"
+msgstr "Неизвестно"
+
+#: modules/devices.c:178
+msgid "Total Memory"
+msgstr "Общая память"
+
+#: modules/devices.c:193
+msgid " (vendor unknown)"
+msgstr "(производитель неизвестен)"
+
+#: modules/devices.c:195
+msgid " (model unknown)"
+msgstr "(модель неизвестна)"
+
+#: modules/devices.c:412
+msgid "Devices"
+msgstr "Устройства"
+
+#: modules/devices.c:424
+msgid "Update PCI ID listing"
+msgstr "Обновить список PCI ID"
+
+#: modules/devices.c:436
+msgid "Update CPU feature database"
+msgstr "Обновить базу данных функций процессора"
+
+#: modules/devices.c:464
+msgid "Gathers information about hardware devices"
+msgstr "Собирает информацию об устройствах"
+
+#: modules/network.c:59
+msgid "Interfaces"
+msgstr "Интерфейсы"
+
+#: modules/network.c:60
+msgid "IP Connections"
+msgstr "IP подключения"
+
+#: modules/network.c:61
+msgid "Routing Table"
+msgstr "Таблица маршрутизации"
+
+#: modules/network.c:62
+msgid "ARP Table"
+msgstr "Таблица ARP"
+
+#: modules/network.c:63
+msgid "DNS Servers"
+msgstr "DNS сервера"
+
+#: modules/network.c:64
+msgid "Statistics"
+msgstr "Статистика"
+
+#: modules/network.c:65
+msgid "Shared Directories"
+msgstr "Общие каталоги"
+
+#: modules/network.c:300
+#, c-format
+msgid ""
+"[ARP Table]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Interface\n"
+"ColumnTitle$Extra1=MAC Address\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+"[Таблица ARP]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Interface\n"
+"ColumnTitle$Extra1=MAC Address\n"
+"ShowColumnHeaders=true\n"
+
+#: modules/network.c:321
+#, c-format
+msgid ""
+"[Name servers]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Name\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+"[Name servers]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Name\n"
+"ShowColumnHeaders=true\n"
+
+#: modules/network.c:331
+#, c-format
+msgid ""
+"[Connections]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=Local Address\n"
+"ColumnTitle$Value=Protocol\n"
+"ColumnTitle$Extra1=Foreign Address\n"
+"ColumnTitle$Extra2=State\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+"[Connections]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue= Локальный адрес\n"
+"ColumnTitle$Value=Протокол\n"
+"ColumnTitle$Extra1=Удалённый адрес\n"
+"ColumnTitle$Extra2=Состояние\n"
+"ShowColumnHeaders=true\n"
+
+#: modules/network.c:345
+#, c-format
+msgid ""
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Interface\n"
+"ColumnTitle$Value=IP Address\n"
+"ColumnTitle$Extra1=Sent\n"
+"ColumnTitle$Extra2=Received\n"
+"ShowColumnHeaders=true\n"
+"%s"
+msgstr ""
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Интерфейс\n"
+"ColumnTitle$Value=IP адрес\n"
+"ColumnTitle$Extra1=Отправлено\n"
+"ColumnTitle$Extra2=Получено\n"
+"ShowColumnHeaders=true\n"
+"%s"
+
+#: modules/network.c:361
+#, c-format
+msgid ""
+"[IP routing table]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ViewType=0\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=Destination / Gateway\n"
+"ColumnTitle$Value=Interface\n"
+"ColumnTitle$Extra1=Flags\n"
+"ColumnTitle$Extra2=Mask\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+"[IP routing table]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ViewType=0\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=Цель / Шлюз\n"
+"ColumnTitle$Value=Интерфейс\n"
+"ColumnTitle$Extra1=Флаги\n"
+"ColumnTitle$Extra2=Маска\n"
+"ShowColumnHeaders=true\n"
+
+#: modules/network.c:399
+msgid "Network"
+msgstr "Сеть"
+
+#: modules/network.c:432
+msgid "Gathers information about this computer's network connection"
+msgstr "Собирает информацию о сетевых подключениях"
+
+#: modules/computer/alsa.c:26
+msgid "[Audio Devices]\n"
+msgstr "[Аудио устройства]\n"
+
+#: modules/computer/alsa.c:33
+#, c-format
+msgid "Audio Adapter#%d=%s\n"
+msgstr "Звуковая карта#%d=%s\n"
+
+#: modules/computer/boots.c:33
+msgid "[Boots]\n"
+msgstr "[Загрузки]\n"
+
+#: modules/computer/display.c:83
+msgid "vendor string"
+msgstr "строка производителя"
+
+#: modules/computer/display.c:84
+msgid "X.Org version"
+msgstr "Версия X.Org"
+
+#: modules/computer/display.c:85
+msgid "XFree86 version"
+msgstr "Версия XFree86"
+
+#: modules/computer/display.c:122
+#, c-format
+msgid "Monitor %d=%dx%d pixels\n"
+msgstr "Монитор %d=%dx%d пикселей\n"
+
+#: modules/computer/environment.c:32
+msgid "[Environment Variables]\n"
+msgstr "[Переменные окружения]\n"
+
+#: hardinfo/util.c:102
+#: hardinfo/util.c:105
+#: hardinfo/util.c:110
+#, c-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] "%d минута"
+msgstr[1] "%d минуты"
+msgstr[2] "%d минут"
+
+#: hardinfo/util.c:104
+#, c-format
+msgid "%d hour, "
+msgid_plural "%d hours, "
+msgstr[0] "%d час"
+msgstr[1] "%d часа"
+msgstr[2] "%d часов"
+
+#: hardinfo/util.c:108
+#, c-format
+msgid "%d day, "
+msgid_plural "%d days, "
+msgstr[0] "%d день"
+msgstr[1] "%d дня"
+msgstr[2] "%d дней"
+
+#: hardinfo/util.c:109
+#, c-format
+msgid "%d hour and "
+msgid_plural "%d hours and "
+msgstr[0] "%d час и"
+msgstr[1] "%d часа и"
+msgstr[2] "%d часов и"
+
+#: hardinfo/util.c:116
+#, c-format
+msgid "%.1f B"
+msgstr "%.1f Б"
+
+#: hardinfo/util.c:118
+#, fuzzy, c-format
+msgid "%.1f KiB"
+msgstr "%.1f ГБ"
+
+#: hardinfo/util.c:120
+#, fuzzy, c-format
+msgid "%.1f MiB"
+msgstr "%.1f ГБ"
+
+#: hardinfo/util.c:122
+#, fuzzy, c-format
+msgid "%.1f GiB"
+msgstr "%.1f ГБ"
+
+#: hardinfo/util.c:336
+msgid "Error"
+msgstr "Ошибка"
+
+#: hardinfo/util.c:336
+#: hardinfo/util.c:352
+msgid "Warning"
+msgstr "Предупреждение"
+
+#: hardinfo/util.c:351
+msgid "Fatal Error"
+msgstr "Фатальная ошибка"
+
+#: hardinfo/util.c:376
+msgid "creates a report and prints to standard output"
+msgstr "создаёт отчёт и выводит на стандартный вывод"
+
+#: hardinfo/util.c:382
+msgid "chooses a report format (text, html)"
+msgstr "выбирает формат отчёта (text, html)"
+
+#: hardinfo/util.c:388
+msgid "run benchmark; requires benchmark.so to be loaded"
+msgstr "запуск теста; требует чтобы benchmark.so был загружен"
+
+#: hardinfo/util.c:394
+msgid "lists modules"
+msgstr "список модулей"
+
+#: hardinfo/util.c:400
+msgid "specify module to load"
+msgstr "укажите модуль для загрузки"
+
+#: hardinfo/util.c:406
+msgid "automatically load module dependencies"
+msgstr "автоматически загружает зависимости модулей"
+
+#: hardinfo/util.c:413
+msgid "run in XML-RPC server mode"
+msgstr "запуск в режиме сервера XML-RPC"
+
+#: hardinfo/util.c:420
+msgid "shows program version and quit"
+msgstr "показывает версию программы и выходит"
+
+#: hardinfo/util.c:425
+msgid "- System Profiler and Benchmark tool"
+msgstr "- Инструмент для тестирования и проверки свойств системы"
+
+#: hardinfo/util.c:435
+#, c-format
+msgid ""
+"Unrecognized arguments.\n"
+"Try ``%s --help'' for more information.\n"
+msgstr ""
+"Неизвестные аргументы.\n"
+"Используйте `%s --help' для справки.\n"
+
+#: hardinfo/util.c:501
+#, c-format
+msgid "Couldn't find a Web browser to open URL %s."
+msgstr "Не могу найти веб-браузер для открытия URL %s."
+
+#: hardinfo/util.c:848
+#, c-format
+msgid "Module \"%s\" depends on module \"%s\", load it?"
+msgstr "Модуль \"%s\" зависин от модуля \"%s\", загрузить его?"
+
+#: hardinfo/util.c:871
+#, c-format
+msgid "Module \"%s\" depends on module \"%s\"."
+msgstr "Модуль \"%s\" зависит от модуля \"%s\"."
+
+#: hardinfo/util.c:916
+#, c-format
+msgid "No module could be loaded. Check permissions on \"%s\" and try again."
+msgstr "Модули не могут быть загружены. Проверьте разрешения на \"%s\" и попробуйте снова."
+
+#: hardinfo/util.c:920
+msgid "No module could be loaded. Please use hardinfo -l to list all available modules and try again with a valid module list."
+msgstr "Модули не могут быть загружены. Пожалуйста используйте hardinfo -l чтобы получить список доступных модулей и попробуйте снова с правильным списком модулей."
+
+#: hardinfo/util.c:1096
+#, c-format
+msgid "Scanning: %s..."
+msgstr "Сканирование: %s..."
+
+#: modules/devices/x86/processor.c:145
+msgid "Cache information not available=\n"
+msgstr "Информация о кеше недоступна=\n"
+
+#: modules/devices/x86/processor.c:484
+#, c-format
+msgid ""
+"[Processor]\n"
+"Name=%s\n"
+"Family, model, stepping=%d, %d, %d (%s)\n"
+"Vendor=%s\n"
+"[Configuration]\n"
+"Cache Size=%dkb\n"
+"Frequency=%.2fMHz\n"
+"BogoMIPS=%.2f\n"
+"Byte Order=%s\n"
+"[Features]\n"
+"FDIV Bug=%s\n"
+"HLT Bug=%s\n"
+"F00F Bug=%s\n"
+"Coma Bug=%s\n"
+"Has FPU=%s\n"
+"[Cache]\n"
+"%s\n"
+"[Capabilities]\n"
+"%s"
+msgstr ""
+"[Процессор]\n"
+"Название=%s\n"
+"Семья, модель, stepping=%d, %d, %d (%s)\n"
+"Производитель=%s\n"
+"[Конфигурация]\n"
+"Размер кеша=%dkb\n"
+"Частота=%.2fМГц\n"
+"BogoMIPS=%.2f\n"
+"Byte Order=%s\n"
+"[Функции]\n"
+"FDIV Bug=%s\n"
+"HLT Bug=%s\n"
+"F00F Bug=%s\n"
+"Coma Bug=%s\n"
+"Has FPU=%s\n"
+"[Кеш]\n"
+"%s\n"
+"[Возможности]\n"
+"%s"
+
+#: modules/devices/x86/processor.c:542
+#, c-format
+msgid "%s$CPU%d$%s=%.2fMHz\n"
+msgstr "%s$CPU%d$%s=%.2fМГц\n"
+
+#: modules/devices/printers.c:81
+msgid "⚬ Can do black and white printing=\n"
+msgstr "⚬ Может печатать черно-белым=\n"
+
+#: modules/devices/printers.c:83
+msgid "⚬ Can do color printing=\n"
+msgstr "⚬ Может печатать цветным=\n"
+
+#: modules/devices/printers.c:85
+#, fuzzy
+msgid "⚬ Can do duplexing=\n"
+msgstr "Не исправлять:"
+
+#: modules/devices/printers.c:87
+#, fuzzy
+msgid "⚬ Can do staple output=\n"
+msgstr "Выходной файл не может быть переименован."
+
+#: modules/devices/printers.c:89
+msgid "⚬ Can do copies=\n"
+msgstr "⚬ Можно делать копии=\n"
+
+#: modules/devices/printers.c:91
+msgid "⚬ Can collate copies=\n"
+msgstr "⚬ Can collate copies=\n"
+
+#: modules/devices/printers.c:93
+msgid "⚬ Printer is rejecting jobs=\n"
+msgstr "⚬ Printer is rejecting jobs=\n"
+
+#: modules/devices/printers.c:95
+msgid "⚬ Printer was automatically discovered and added=\n"
+msgstr "⚬ Принтер был автоматически найден и добавлен=\n"
+
+#: modules/devices/printers.c:110
+msgid "Idle"
+msgstr "Неактивен"
+
+#: modules/devices/printers.c:112
+msgid "Printing a Job"
+msgstr "Печатается задача"
+
+#: modules/devices/printers.c:114
+msgid "Stopped"
+msgstr "Остановлен"
+
+#: modules/devices/printers.c:138
+msgid "Yes"
+msgstr "Да"
+
+#: modules/devices/printers.c:190
+msgid ""
+"[Printers]\n"
+"No suitable CUPS library found="
+msgstr ""
+"[Принтеры]\n"
+"Подходящей библиотеки CUPS не найдено="
+
+#: modules/devices/printers.c:200
+msgid "[Printers (CUPS)]\n"
+msgstr "[Принтеры (CUPS)]\n"
+
+#: modules/devices/printers.c:263
+msgid ""
+"[Printers]\n"
+"No printers found=\n"
+msgstr ""
+"[Принтеры]\n"
+"Принтеры не найдены=\n"
+
+#: modules/computer/os.c:49
+#, c-format
+msgid "GNU C Library version %s (%sstable)"
+msgstr "Библиотека GNU C версии %s (%sстабильна)"
+
+#: modules/computer/os.c:51
+msgid "un"
+msgstr "не"
+
+#: modules/computer/os.c:72
+#, c-format
+msgid "Version: %s"
+msgstr "Версия: %s"
+
+#: modules/computer/os.c:106
+msgid "Terminal"
+msgstr "Терминал"
+
+#: modules/computer/os.c:126
+#, c-format
+msgid "Unknown (Window Manager: %s)"
+msgstr "Неизвестно (Оконный менеджер: %s)"
+
+#: modules/computer/os.c:166
+msgid "Unknown distribution"
+msgstr "Неизвестный дистрибутив"
+
+#: modules/devices/battery.c:181
+#, c-format
+msgid ""
+"\n"
+"[Battery: %s]\n"
+"State=%s (load: %s)\n"
+"Capacity=%s / %s (%.2f%%)\n"
+"Battery Technology=%s (%s)\n"
+"Manufacturer=%s\n"
+"Model Number=%s\n"
+"Serial Number=%s\n"
+msgstr ""
+"\n"
+"[Батарея: %s]\n"
+"Состояние=%s (нагрузка: %s)\n"
+"Емкость=%s / %s (%.2f%%)\n"
+"Технология батареи=%s (%s)\n"
+"Изготовитель=%s\n"
+"Номер модели=%s\n"
+"Серийный номер=%s\n"
+
+#: modules/devices/battery.c:266
+#, c-format
+msgid ""
+"\n"
+"[Battery (APM)]\n"
+"Charge=%d%%\n"
+"Remaining Charge=%s of %s\n"
+"Using=%s\n"
+"APM driver version=%s\n"
+"APM BIOS version=%s\n"
+msgstr ""
+"\n"
+"[Батарея (APM)]\n"
+"Заряд=%d%%\n"
+"Оставшийся заряд=%s из %s\n"
+"Используется=%s\n"
+"APM драйвер версии=%s\n"
+"APM BIOS версии=%s\n"
+
+#: modules/devices/battery.c:278
+#, c-format
+msgid ""
+"\n"
+"[Battery (APM)]\n"
+"Charge=%d%%\n"
+"Using=%s\n"
+"APM driver version=%s\n"
+"APM BIOS version=%s\n"
+msgstr ""
+"\n"
+"[Батарея (APM)]\n"
+"Заряд=%d%%\n"
+"Используется=%s\n"
+"APM драйвер версии=%s\n"
+"APM BIOS версии=%s\n"
+
+#: modules/devices/battery.c:304
+msgid ""
+"[No batteries]\n"
+"No batteries found on this system=\n"
+msgstr ""
+"[No batteries]\n"
+"Батареи не найдены на этой системе=\n"
+
+#: modules/devices/storage.c:46
+msgid ""
+"\n"
+"[SCSI Disks]\n"
+msgstr ""
+"\n"
+"[SCSI диски]\n"
+
+#: modules/devices/storage.c:110
+#: modules/devices/storage.c:297
+#, c-format
+msgid ""
+"[Device Information]\n"
+"Model=%s\n"
+msgstr ""
+"[Информация об устройстве]\n"
+"Модель=%s\n"
+
+#: modules/devices/storage.c:115
+#: modules/devices/storage.c:304
+#, c-format
+msgid "Vendor=%s (%s)\n"
+msgstr "Изготовитель=%s (%s)\n"
+
+#: modules/devices/storage.c:120
+#: modules/devices/storage.c:309
+#, c-format
+msgid "Vendor=%s\n"
+msgstr "Изготовитель=%s\n"
+
+#: modules/devices/storage.c:125
+#, c-format
+msgid ""
+"Type=%s\n"
+"Revision=%s\n"
+"[SCSI Controller]\n"
+"Controller=scsi%d\n"
+"Channel=%d\n"
+"ID=%d\n"
+"LUN=%d\n"
+msgstr ""
+
+#: modules/devices/storage.c:169
+msgid ""
+"\n"
+"[IDE Disks]\n"
+msgstr ""
+"\n"
+"[IDE диски]\n"
+
+#: modules/devices/storage.c:242
+#, c-format
+msgid "Driver=%s\n"
+msgstr "Драйвер=%s\n"
+
+#: modules/devices/storage.c:314
+#, c-format
+msgid ""
+"Device Name=hd%c\n"
+"Media=%s\n"
+"Cache=%dkb\n"
+msgstr ""
+
+#: modules/devices/storage.c:329
+#, c-format
+msgid ""
+"[Geometry]\n"
+"Physical=%s\n"
+"Logical=%s\n"
+msgstr ""
+"[Геометрия]\n"
+"Физическая=%s\n"
+"Логическая=%s\n"
+
+#: modules/devices/storage.c:341
+#, c-format
+msgid ""
+"[Capabilities]\n"
+"%s"
+msgstr ""
+
+#: modules/devices/storage.c:348
+#, c-format
+msgid ""
+"[Speeds]\n"
+"%s"
+msgstr ""
+"[Скорости]\n"
+"%s"
+
+#~ msgid ""
+#~ "[$ShellParam$]\n"
+#~ "ReloadInterval=10000\n"
+#~ "ViewType=1\n"
+#~ "[Users]\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "[$ShellParam$]\n"
+#~ "ReloadInterval=10000\n"
+#~ "ViewType=1\n"
+#~ "[Пользователи]\n"
+#~ "%s\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "[Operating System]\n"
+#~ "Icon=os.png\n"
+#~ "Method=computer::getOS\n"
+#~ "[CPU]\n"
+#~ "Icon=processor.png\n"
+#~ "Method=devices::getProcessorName\n"
+#~ "[RAM]\n"
+#~ "Icon=memory.png\n"
+#~ "Method=devices::getMemoryTotal\n"
+#~ "[Motherboard]\n"
+#~ "Icon=module.png\n"
+#~ "Method=devices::getMotherboard\n"
+#~ "[Graphics]\n"
+#~ "Icon=monitor.png\n"
+#~ "Method=computer::getDisplaySummary\n"
+#~ "[Storage]\n"
+#~ "Icon=hdd.png\n"
+#~ "Method=devices::getStorageDevices\n"
+#~ "[Printers]\n"
+#~ "Icon=printer.png\n"
+#~ "Method=devices::getPrinters\n"
+#~ "[Audio]\n"
+#~ "Icon=audio.png\n"
+#~ "Method=computer::getAudioCards\n"
+#~ msgstr ""
+#~ "[Operating System]\n"
+#~ "Icon=os.png\n"
+#~ "Method=computer::getOS\n"
+#~ "[CPU]\n"
+#~ "Icon=processor.png\n"
+#~ "Method=devices::getProcessorName\n"
+#~ "[RAM]\n"
+#~ "Icon=memory.png\n"
+#~ "Method=devices::getMemoryTotal\n"
+#~ "[Motherboard]\n"
+#~ "Icon=module.png\n"
+#~ "Method=devices::getMotherboard\n"
+#~ "[Graphics]\n"
+#~ "Icon=monitor.png\n"
+#~ "Method=computer::getDisplaySummary\n"
+#~ "[Storage]\n"
+#~ "Icon=hdd.png\n"
+#~ "Method=devices::getStorageDevices\n"
+#~ "[Printers]\n"
+#~ "Icon=printer.png\n"
+#~ "Method=devices::getPrinters\n"
+#~ "[Audio]\n"
+#~ "Icon=audio.png\n"
+#~ "Method=computer::getAudioCards\n"
+#~ msgid "Uptime"
+#~ msgstr "Время работы"
+#~ msgid "Date/Time"
+#~ msgstr "Дата/время"
+
+# Должно совпадать с таким-же полем в строке 430 computer.c
+#~ msgid "Load Average"
+#~ msgstr "Средняя нагрузка"
+#~ msgid ""
+#~ "[Memory]\n"
+#~ "%s\n"
+#~ "[$ShellParam$]\n"
+#~ "ViewType=2\n"
+#~ "LoadGraphSuffix= kB\n"
+#~ "RescanInterval=2000\n"
+#~ "%s\n"
+#~ msgstr ""
+#~ "[Memory]\n"
+#~ "%s\n"
+#~ "[$ShellParam$]\n"
+#~ "ViewType=2\n"
+#~ "LoadGraphSuffix= kB\n"
+#~ "RescanInterval=2000\n"
+#~ "%s\n"
+#~ msgid ""
+#~ "[PCI Devices]\n"
+#~ "%s[$ShellParam$]\n"
+#~ "ViewType=1\n"
+#~ msgstr ""
+#~ "[PCI Devices]\n"
+#~ "%s[$ShellParam$]\n"
+#~ "ViewType=1\n"
+#~ msgid ""
+#~ "[Input Devices]\n"
+#~ "%s[$ShellParam$]\n"
+#~ "ViewType=1\n"
+#~ "ReloadInterval=5000\n"
+#~ "%s"
+#~ msgstr ""
+#~ "[Input Devices]\n"
+#~ "%s[$ShellParam$]\n"
+#~ "ViewType=1\n"
+#~ "ReloadInterval=5000\n"
+#~ "%s"
+#~ msgid "HardInfo cannot run without loading the additional module."
+#~ msgstr "HardInfo не может быть запущен без дополнительного модуля."
+#, fuzzy
+#~ msgid "AboutModule%s"
+#~ msgstr "О _модулях"
+
diff --git a/po/hardinfo.pot b/po/hardinfo.pot
new file mode 100644
index 00000000..9ffabb54
--- /dev/null
+++ b/po/hardinfo.pot
@@ -0,0 +1,1381 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-09-01 22:24+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: shell/callbacks.c:71
+#, c-format
+msgid "Remote: <b>%s</b>"
+msgstr ""
+
+#: shell/callbacks.c:117
+msgid "Disconnecting..."
+msgstr ""
+
+#: shell/callbacks.c:120
+msgid "Unloading modules..."
+msgstr ""
+
+#: shell/callbacks.c:123
+msgid "Loading local modules..."
+msgstr ""
+
+#: shell/callbacks.c:130 shell/callbacks.c:162 shell/shell.c:314
+#: shell/shell.c:814 shell/shell.c:1796 modules/benchmark.c:431
+#: modules/benchmark.c:439 hardinfo/util.c:1106
+msgid "Done."
+msgstr ""
+
+#: shell/callbacks.c:142
+msgid "Save Image"
+msgstr ""
+
+#: shell/callbacks.c:158
+msgid "Saving image..."
+msgstr ""
+
+#: shell/callbacks.c:236
+msgid "No context help available."
+msgstr ""
+
+#: shell/callbacks.c:318
+#, c-format
+msgid "%s Module"
+msgstr ""
+
+#: shell/callbacks.c:325
+#, c-format
+msgid ""
+"Written by %s\n"
+"Licensed under %s"
+msgstr ""
+
+#: shell/callbacks.c:339
+#, c-format
+msgid "No about information is associated with the %s module."
+msgstr ""
+
+#: shell/callbacks.c:353
+msgid "Author:"
+msgstr ""
+
+#: shell/callbacks.c:356
+msgid "Contributors:"
+msgstr ""
+
+#: shell/callbacks.c:360
+msgid "Based on work by:"
+msgstr ""
+
+#: shell/callbacks.c:361
+msgid "MD5 implementation by Colin Plumb (see md5.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:362
+msgid "SHA1 implementation by Steve Reid (see sha1.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:363
+msgid "Blowfish implementation by Paul Kocher (see blowfich.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:364
+msgid "Raytracing benchmark by John Walker (see fbench.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:365
+msgid "FFT benchmark by Scott Robert Ladd (see fftbench.c for details)"
+msgstr ""
+
+#: shell/callbacks.c:366
+msgid "Some code partly based on x86cpucaps by Osamu Kayasono"
+msgstr ""
+
+#: shell/callbacks.c:367
+msgid "Vendor list based on GtkSysInfo by Pissens Sebastien"
+msgstr ""
+
+#: shell/callbacks.c:368
+msgid "DMI support based on code by Stewart Adam"
+msgstr ""
+
+#: shell/callbacks.c:369
+msgid "SCSI support based on code by Pascal F. Martin"
+msgstr ""
+
+#: shell/callbacks.c:373
+msgid "Jakub Szypulka"
+msgstr ""
+
+#: shell/callbacks.c:374
+msgid "Tango Project"
+msgstr ""
+
+#: shell/callbacks.c:375
+msgid "The GNOME Project"
+msgstr ""
+
+#: shell/callbacks.c:376
+msgid "VMWare, Inc. (USB icon from VMWare Workstation 6)"
+msgstr ""
+
+#: shell/callbacks.c:387
+msgid "System information and benchmark tool"
+msgstr ""
+
+#: shell/callbacks.c:392
+msgid ""
+"HardInfo is free software; you can redistribute it and/or modify it under "
+"the terms of the GNU General Public License as published by the Free "
+"Software Foundation, version 2.\n"
+"\n"
+"This program is distributed in the hope that it will be useful, but WITHOUT "
+"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or "
+"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for "
+"more details.\n"
+"\n"
+"You should have received a copy of the GNU General Public License along with "
+"this program; if not, write to the Free Software Foundation, Inc., 51 "
+"Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
+msgstr ""
+
+#: shell/menu.c:35
+msgid "_Information"
+msgstr ""
+
+#: shell/menu.c:36
+msgid "_Remote"
+msgstr ""
+
+#: shell/menu.c:37
+msgid "_View"
+msgstr ""
+
+#: shell/menu.c:38
+msgid "_Help"
+msgstr ""
+
+#: shell/menu.c:39
+msgid "About _Modules"
+msgstr ""
+
+#: shell/menu.c:43
+msgid "Generate _Report"
+msgstr ""
+
+#: shell/menu.c:48
+msgid "_Network Updater..."
+msgstr ""
+
+#: shell/menu.c:53
+msgid "_Open..."
+msgstr ""
+
+#: shell/menu.c:58
+msgid "_Connect to..."
+msgstr ""
+
+#: shell/menu.c:63
+msgid "_Manage hosts..."
+msgstr ""
+
+#: shell/menu.c:68
+msgid "_Local computer"
+msgstr ""
+
+#: shell/menu.c:73
+msgid "_Copy to Clipboard"
+msgstr ""
+
+#: shell/menu.c:74
+msgid "Copy to clipboard"
+msgstr ""
+
+#: shell/menu.c:78
+msgid "_Save image as..."
+msgstr ""
+
+#: shell/menu.c:83
+msgid "_Refresh"
+msgstr ""
+
+#: shell/menu.c:88
+msgid "Contents"
+msgstr ""
+
+#: shell/menu.c:93 shell/shell.c:1790 shell/shell.c:1807
+msgid "Context help"
+msgstr ""
+
+#: shell/menu.c:98
+msgid "_Open HardInfo Web Site"
+msgstr ""
+
+#: shell/menu.c:103
+msgid "_Report bug"
+msgstr ""
+
+#: shell/menu.c:108
+msgid "_Donate to the project"
+msgstr ""
+
+#: shell/menu.c:113
+msgid "_About HardInfo"
+msgstr ""
+
+#: shell/menu.c:114
+msgid "Displays program version information"
+msgstr ""
+
+#: shell/menu.c:118
+msgid "_Quit"
+msgstr ""
+
+#: shell/menu.c:125
+msgid "_Side Pane"
+msgstr ""
+
+#: shell/menu.c:126
+msgid "Toggles side pane visibility"
+msgstr ""
+
+#: shell/menu.c:129
+msgid "_Toolbar"
+msgstr ""
+
+#: shell/menu.c:133
+msgid "_Accept connections"
+msgstr ""
+
+#: shell/report.c:492
+msgid "Save File"
+msgstr ""
+
+#: shell/report.c:616
+msgid "Cannot create ReportContext. Programming bug?"
+msgstr ""
+
+#: shell/report.c:634
+msgid "Open the report with your web browser?"
+msgstr ""
+
+#: shell/report.c:662
+msgid "Generating report..."
+msgstr ""
+
+#: shell/report.c:672
+msgid "Report saved."
+msgstr ""
+
+#: shell/report.c:674
+msgid "Error while creating the report."
+msgstr ""
+
+#: shell/report.c:776
+msgid "Generate Report"
+msgstr ""
+
+#: shell/report.c:793
+msgid ""
+"<big><b>Generate Report</b></big>\n"
+"Please choose the information that you wish to view in your report:"
+msgstr ""
+
+#: shell/report.c:853
+msgid "Select _None"
+msgstr ""
+
+#: shell/report.c:860
+msgid "Select _All"
+msgstr ""
+
+#: shell/report.c:878
+msgid "_Generate"
+msgstr ""
+
+#: shell/shell.c:407
+#, c-format
+msgid "%s - System Information"
+msgstr ""
+
+#: shell/shell.c:412
+msgid "System Information"
+msgstr ""
+
+#: shell/shell.c:801
+msgid "Loading modules..."
+msgstr ""
+
+#: shell/shell.c:1650
+#, c-format
+msgid "<b>%s → Summary</b>"
+msgstr ""
+
+#: shell/shell.c:1758
+msgid "Updating..."
+msgstr ""
+
+#: shell/syncmanager.c:69
+msgid ""
+"<big><b>Synchronize with Central Database</b></big>\n"
+"The following information may be synchronized with the HardInfo central "
+"database."
+msgstr ""
+
+#: shell/syncmanager.c:72
+msgid ""
+"<big><b>Synchronizing</b></big>\n"
+"This may take some time."
+msgstr ""
+
+#: shell/syncmanager.c:132
+msgid ""
+"HardInfo was compiled without libsoup support. (Network Updater requires it.)"
+msgstr ""
+
+#: shell/syncmanager.c:161 shell/syncmanager.c:185
+#, c-format
+msgid "%s (error #%d)"
+msgstr ""
+
+#: shell/syncmanager.c:170 shell/syncmanager.c:194
+msgid "Could not parse XML-RPC response"
+msgstr ""
+
+#: shell/syncmanager.c:267
+#, c-format
+msgid ""
+"Server says it supports API version %d, but this version of HardInfo only "
+"supports API version %d."
+msgstr ""
+
+#: shell/syncmanager.c:362
+msgid "Contacting HardInfo Central Database"
+msgstr ""
+
+#: shell/syncmanager.c:363
+msgid "Cleaning up"
+msgstr ""
+
+#: shell/syncmanager.c:480
+#, c-format
+msgid "<s>%s</s> <i>(canceled)</i>"
+msgstr ""
+
+#: shell/syncmanager.c:497
+#, c-format
+msgid "<b><s>%s</s></b> <i>(failed)</i>"
+msgstr ""
+
+#: shell/syncmanager.c:509
+#, c-format
+msgid ""
+"Failed while performing \"%s\". Please file a bug report if this problem "
+"persists. (Use the Help→Report bug option.)\n"
+"\n"
+"Details: %s"
+msgstr ""
+
+#: shell/syncmanager.c:518
+#, c-format
+msgid ""
+"Failed while performing \"%s\". Please file a bug report if this problem "
+"persists. (Use the Help→Report bug option.)"
+msgstr ""
+
+#: shell/syncmanager.c:646
+msgid "Network Updater"
+msgstr ""
+
+#: shell/syncmanager.c:727
+msgid "_Synchronize"
+msgstr ""
+
+#: modules/benchmark.c:50
+msgid "CPU Blowfish"
+msgstr ""
+
+#: modules/benchmark.c:51
+msgid "CPU CryptoHash"
+msgstr ""
+
+#: modules/benchmark.c:52
+msgid "CPU Fibonacci"
+msgstr ""
+
+#: modules/benchmark.c:53
+msgid "CPU N-Queens"
+msgstr ""
+
+#: modules/benchmark.c:54
+msgid "FPU FFT"
+msgstr ""
+
+#: modules/benchmark.c:55
+msgid "FPU Raytracing"
+msgstr ""
+
+#: modules/benchmark.c:56
+msgid "GPU Drawing"
+msgstr ""
+
+#: modules/benchmark.c:222
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=CPU Clock\n"
+"ColumnTitle$Progress=Results\n"
+"ColumnTitle$TextValue=CPU\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"<big><b>This Machine</b></big>=%.3f|%s MHz\n"
+"%s"
+msgstr ""
+
+#: modules/benchmark.c:235
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"Zebra=1\n"
+"OrderType=%d\n"
+"ViewType=3\n"
+"ColumnTitle$Extra1=CPU Clock\n"
+"ColumnTitle$Progress=Results\n"
+"ColumnTitle$TextValue=CPU\n"
+"ShowColumnHeaders=true\n"
+"[%s]\n"
+"%s"
+msgstr ""
+
+#: modules/benchmark.c:363
+#, c-format
+msgid "Benchmarking: <b>%s</b>."
+msgstr ""
+
+#: modules/benchmark.c:377
+msgid "Benchmarking. Please do not move your mouse or press any keys."
+msgstr ""
+
+#: modules/benchmark.c:381
+msgid "Cancel"
+msgstr ""
+
+#: modules/benchmark.c:511
+msgid "Results in MiB/second. Higher is better."
+msgstr ""
+
+#: modules/benchmark.c:514
+msgid "Results in HIMarks. Higher is better."
+msgstr ""
+
+#: modules/benchmark.c:521
+msgid "Results in seconds. Lower is better."
+msgstr ""
+
+#: modules/benchmark.c:529
+msgid "Benchmarks"
+msgstr ""
+
+#: modules/benchmark.c:547
+msgid "Perform tasks and compare with other systems"
+msgstr ""
+
+#: modules/benchmark.c:634
+msgid "Send benchmark results"
+msgstr ""
+
+#: modules/benchmark.c:639
+msgid "Receive benchmark results"
+msgstr ""
+
+#: modules/computer.c:68
+msgid "Summary"
+msgstr ""
+
+#: modules/computer.c:69
+msgid "Operating System"
+msgstr ""
+
+#: modules/computer.c:70
+msgid "Kernel Modules"
+msgstr ""
+
+#: modules/computer.c:71
+msgid "Boots"
+msgstr ""
+
+#: modules/computer.c:72
+msgid "Languages"
+msgstr ""
+
+#: modules/computer.c:73
+msgid "Filesystems"
+msgstr ""
+
+#: modules/computer.c:74
+msgid "Display"
+msgstr ""
+
+#: modules/computer.c:75
+msgid "Environment Variables"
+msgstr ""
+
+#: modules/computer.c:77
+msgid "Development"
+msgstr ""
+
+#: modules/computer.c:79
+msgid "Users"
+msgstr ""
+
+#: modules/computer.c:80
+msgid "Groups"
+msgstr ""
+
+#: modules/computer.c:104
+#, c-format
+msgid "%dMB (%dMB used)"
+msgstr ""
+
+#: modules/computer.c:200
+msgid "Scripting Languages"
+msgstr ""
+
+#: modules/computer.c:201
+msgid "CPython"
+msgstr ""
+
+#: modules/computer.c:202
+msgid "Perl"
+msgstr ""
+
+#: modules/computer.c:203
+msgid "PHP"
+msgstr ""
+
+#: modules/computer.c:204
+msgid "Ruby"
+msgstr ""
+
+#: modules/computer.c:205
+msgid "Bash"
+msgstr ""
+
+#: modules/computer.c:206
+msgid "Compilers"
+msgstr ""
+
+#: modules/computer.c:207
+msgid "C (GCC)"
+msgstr ""
+
+#: modules/computer.c:208
+msgid "Java"
+msgstr ""
+
+#: modules/computer.c:209
+msgid "CSharp (Mono, old)"
+msgstr ""
+
+#: modules/computer.c:210
+msgid "CSharp (Mono)"
+msgstr ""
+
+#: modules/computer.c:211
+msgid "Vala"
+msgstr ""
+
+#: modules/computer.c:212
+msgid "Haskell (GHC)"
+msgstr ""
+
+#: modules/computer.c:213
+msgid "FreePascal"
+msgstr ""
+
+#: modules/computer.c:214
+msgid "Tools"
+msgstr ""
+
+#: modules/computer.c:262
+#, c-format
+msgid "%s=Not found\n"
+msgstr ""
+
+#: modules/computer.c:265
+#, c-format
+msgid "Detecting version: %s"
+msgstr ""
+
+#: modules/computer.c:276
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Program\n"
+"ColumnTitle$Value=Version\n"
+"ShowColumnHeaders=true\n"
+"%s"
+msgstr ""
+
+#: modules/computer.c:356
+msgid "Physical machine"
+msgstr ""
+
+#: modules/computer.c:373
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"UpdateInterval$Memory=1000\n"
+"UpdateInterval$Date/Time=1000\n"
+"#ReloadInterval=5000\n"
+"[Computer]\n"
+"Processor=%s\n"
+"Memory=...\n"
+"Machine Type=%s\n"
+"Operating System=%s\n"
+"User Name=%s\n"
+"Date/Time=...\n"
+"[Display]\n"
+"Resolution=%dx%d pixels\n"
+"OpenGL Renderer=%s\n"
+"X11 Vendor=%s\n"
+"\n"
+"%s\n"
+"[Input Devices]\n"
+"%s\n"
+"\n"
+"%s\n"
+"\n"
+"%s\n"
+msgstr ""
+
+#: modules/computer.c:415
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"UpdateInterval$Uptime=10000\n"
+"UpdateInterval$Load Average=1000\n"
+"[Version]\n"
+"Kernel=%s\n"
+"Version=%s\n"
+"C Library=%s\n"
+"Distribution=%s\n"
+"[Current Session]\n"
+"Computer Name=%s\n"
+"User Name=%s\n"
+"#Language=%s\n"
+"Home Directory=%s\n"
+"Desktop Environment=%s\n"
+"[Misc]\n"
+"Uptime=...\n"
+"Load Average=..."
+msgstr ""
+
+#: modules/computer.c:444
+#, c-format
+msgid ""
+"[Loaded Modules]\n"
+"%s[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Name\n"
+"ColumnTitle$Value=Description\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+
+#: modules/computer.c:455
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=Date & Time\n"
+"ColumnTitle$Value=Kernel Version\n"
+"ShowColumnHeaders=true\n"
+"\n"
+"%s"
+msgstr ""
+
+#: modules/computer.c:465
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Language Code\n"
+"ColumnTitle$Value=Name\n"
+"ShowColumnHeaders=true\n"
+"[Available Languages]\n"
+"%s"
+msgstr ""
+
+#: modules/computer.c:476
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ViewType=4\n"
+"ReloadInterval=5000\n"
+"Zebra=1\n"
+"NormalizePercentage=false\n"
+"ColumnTitle$Extra1=Mount Point\n"
+"ColumnTitle$Progress=Usage\n"
+"ColumnTitle$TextValue=Device\n"
+"ShowColumnHeaders=true\n"
+"[Mounted File Systems]\n"
+"%s\n"
+msgstr ""
+
+#: modules/computer.c:490
+#, c-format
+msgid ""
+"[Display]\n"
+"Resolution=%dx%d pixels\n"
+"Vendor=%s\n"
+"Version=%s\n"
+"[Monitors]\n"
+"%s[Extensions]\n"
+"%s[OpenGL]\n"
+"Vendor=%s\n"
+"Renderer=%s\n"
+"Version=%s\n"
+"Direct Rendering=%s\n"
+msgstr ""
+
+#: modules/computer.c:512
+msgid "Y_es"
+msgstr ""
+
+#: modules/computer.c:512 modules/devices/printers.c:138
+msgid "No"
+msgstr ""
+
+#: modules/computer.c:526
+#, c-format
+msgid ""
+"[$ShellParam$]\n"
+"ReloadInterval=10000\n"
+"ColumnTitle$TextValue=Name\n"
+"ColumnTitle$Value=Group ID\n"
+"ShowColumnHeaders=true\n"
+"[Groups]\n"
+"%s\n"
+msgstr ""
+
+#: modules/computer.c:606
+msgid "Computer"
+msgstr ""
+
+#: modules/computer.c:700
+msgid "Gathers high-level computer information"
+msgstr ""
+
+#: modules/devices.c:74
+msgid "Processor"
+msgstr ""
+
+#: modules/devices.c:75
+msgid "Memory"
+msgstr ""
+
+#: modules/devices.c:76
+msgid "PCI Devices"
+msgstr ""
+
+#: modules/devices.c:77
+msgid "USB Devices"
+msgstr ""
+
+#: modules/devices.c:78
+msgid "Printers"
+msgstr ""
+
+#: modules/devices.c:79
+msgid "Battery"
+msgstr ""
+
+#: modules/devices.c:80
+msgid "Sensors"
+msgstr ""
+
+#: modules/devices.c:81
+msgid "Input Devices"
+msgstr ""
+
+#: modules/devices.c:82
+msgid "Storage"
+msgstr ""
+
+#: modules/devices.c:84
+msgid "DMI"
+msgstr ""
+
+#: modules/devices.c:85
+msgid "Memory SPD"
+msgstr ""
+
+#: modules/devices.c:87
+msgid "Resources"
+msgstr ""
+
+#: modules/devices.c:154 modules/devices.c:197 modules/devices/printers.c:99
+#: modules/devices/printers.c:106 modules/devices/printers.c:116
+#: modules/devices/printers.c:131 modules/devices/printers.c:140
+#: modules/devices/printers.c:243 modules/computer/os.c:53
+#: modules/computer/os.c:130
+msgid "Unknown"
+msgstr ""
+
+#: modules/devices.c:178
+msgid "Total Memory"
+msgstr ""
+
+#: modules/devices.c:193
+msgid " (vendor unknown)"
+msgstr ""
+
+#: modules/devices.c:195
+msgid " (model unknown)"
+msgstr ""
+
+#: modules/devices.c:412
+msgid "Devices"
+msgstr ""
+
+#: modules/devices.c:424
+msgid "Update PCI ID listing"
+msgstr ""
+
+#: modules/devices.c:436
+msgid "Update CPU feature database"
+msgstr ""
+
+#: modules/devices.c:464
+msgid "Gathers information about hardware devices"
+msgstr ""
+
+#: modules/network.c:59
+msgid "Interfaces"
+msgstr ""
+
+#: modules/network.c:60
+msgid "IP Connections"
+msgstr ""
+
+#: modules/network.c:61
+msgid "Routing Table"
+msgstr ""
+
+#: modules/network.c:62
+msgid "ARP Table"
+msgstr ""
+
+#: modules/network.c:63
+msgid "DNS Servers"
+msgstr ""
+
+#: modules/network.c:64
+msgid "Statistics"
+msgstr ""
+
+#: modules/network.c:65
+msgid "Shared Directories"
+msgstr ""
+
+#: modules/network.c:300
+#, c-format
+msgid ""
+"[ARP Table]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Interface\n"
+"ColumnTitle$Extra1=MAC Address\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+
+#: modules/network.c:321
+#, c-format
+msgid ""
+"[Name servers]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ColumnTitle$TextValue=IP Address\n"
+"ColumnTitle$Value=Name\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+
+#: modules/network.c:331
+#, c-format
+msgid ""
+"[Connections]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=Local Address\n"
+"ColumnTitle$Value=Protocol\n"
+"ColumnTitle$Extra1=Foreign Address\n"
+"ColumnTitle$Extra2=State\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+
+#: modules/network.c:345
+#, c-format
+msgid ""
+"%s\n"
+"[$ShellParam$]\n"
+"ReloadInterval=3000\n"
+"ViewType=1\n"
+"ColumnTitle$TextValue=Interface\n"
+"ColumnTitle$Value=IP Address\n"
+"ColumnTitle$Extra1=Sent\n"
+"ColumnTitle$Extra2=Received\n"
+"ShowColumnHeaders=true\n"
+"%s"
+msgstr ""
+
+#: modules/network.c:361
+#, c-format
+msgid ""
+"[IP routing table]\n"
+"%s\n"
+"[$ShellParam$]\n"
+"ViewType=0\n"
+"ReloadInterval=3000\n"
+"ColumnTitle$TextValue=Destination / Gateway\n"
+"ColumnTitle$Value=Interface\n"
+"ColumnTitle$Extra1=Flags\n"
+"ColumnTitle$Extra2=Mask\n"
+"ShowColumnHeaders=true\n"
+msgstr ""
+
+#: modules/network.c:399
+msgid "Network"
+msgstr ""
+
+#: modules/network.c:432
+msgid "Gathers information about this computer's network connection"
+msgstr ""
+
+#: modules/computer/alsa.c:26
+msgid "[Audio Devices]\n"
+msgstr ""
+
+#: modules/computer/alsa.c:33
+#, c-format
+msgid "Audio Adapter#%d=%s\n"
+msgstr ""
+
+#: modules/computer/boots.c:33
+msgid "[Boots]\n"
+msgstr ""
+
+#: modules/computer/display.c:83
+msgid "vendor string"
+msgstr ""
+
+#: modules/computer/display.c:84
+msgid "X.Org version"
+msgstr ""
+
+#: modules/computer/display.c:85
+msgid "XFree86 version"
+msgstr ""
+
+#: modules/computer/display.c:122
+#, c-format
+msgid "Monitor %d=%dx%d pixels\n"
+msgstr ""
+
+#: modules/computer/environment.c:32
+msgid "[Environment Variables]\n"
+msgstr ""
+
+#: hardinfo/util.c:102 hardinfo/util.c:105 hardinfo/util.c:110
+#, c-format
+msgid "%d minute"
+msgid_plural "%d minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: hardinfo/util.c:104
+#, c-format
+msgid "%d hour, "
+msgid_plural "%d hours, "
+msgstr[0] ""
+msgstr[1] ""
+
+#: hardinfo/util.c:108
+#, c-format
+msgid "%d day, "
+msgid_plural "%d days, "
+msgstr[0] ""
+msgstr[1] ""
+
+#: hardinfo/util.c:109
+#, c-format
+msgid "%d hour and "
+msgid_plural "%d hours and "
+msgstr[0] ""
+msgstr[1] ""
+
+#: hardinfo/util.c:116
+#, c-format
+msgid "%.1f B"
+msgstr ""
+
+#: hardinfo/util.c:118
+#, c-format
+msgid "%.1f KiB"
+msgstr ""
+
+#: hardinfo/util.c:120
+#, c-format
+msgid "%.1f MiB"
+msgstr ""
+
+#: hardinfo/util.c:122
+#, c-format
+msgid "%.1f GiB"
+msgstr ""
+
+#: hardinfo/util.c:336
+msgid "Error"
+msgstr ""
+
+#: hardinfo/util.c:336 hardinfo/util.c:352
+msgid "Warning"
+msgstr ""
+
+#: hardinfo/util.c:351
+msgid "Fatal Error"
+msgstr ""
+
+#: hardinfo/util.c:376
+msgid "creates a report and prints to standard output"
+msgstr ""
+
+#: hardinfo/util.c:382
+msgid "chooses a report format (text, html)"
+msgstr ""
+
+#: hardinfo/util.c:388
+msgid "run benchmark; requires benchmark.so to be loaded"
+msgstr ""
+
+#: hardinfo/util.c:394
+msgid "lists modules"
+msgstr ""
+
+#: hardinfo/util.c:400
+msgid "specify module to load"
+msgstr ""
+
+#: hardinfo/util.c:406
+msgid "automatically load module dependencies"
+msgstr ""
+
+#: hardinfo/util.c:413
+msgid "run in XML-RPC server mode"
+msgstr ""
+
+#: hardinfo/util.c:420
+msgid "shows program version and quit"
+msgstr ""
+
+#: hardinfo/util.c:425
+msgid "- System Profiler and Benchmark tool"
+msgstr ""
+
+#: hardinfo/util.c:435
+#, c-format
+msgid ""
+"Unrecognized arguments.\n"
+"Try ``%s --help'' for more information.\n"
+msgstr ""
+
+#: hardinfo/util.c:501
+#, c-format
+msgid "Couldn't find a Web browser to open URL %s."
+msgstr ""
+
+#: hardinfo/util.c:848
+#, c-format
+msgid "Module \"%s\" depends on module \"%s\", load it?"
+msgstr ""
+
+#: hardinfo/util.c:871
+#, c-format
+msgid "Module \"%s\" depends on module \"%s\"."
+msgstr ""
+
+#: hardinfo/util.c:916
+#, c-format
+msgid "No module could be loaded. Check permissions on \"%s\" and try again."
+msgstr ""
+
+#: hardinfo/util.c:920
+msgid ""
+"No module could be loaded. Please use hardinfo -l to list all available "
+"modules and try again with a valid module list."
+msgstr ""
+
+#: hardinfo/util.c:1096
+#, c-format
+msgid "Scanning: %s..."
+msgstr ""
+
+#: modules/devices/x86/processor.c:145
+msgid "Cache information not available=\n"
+msgstr ""
+
+#: modules/devices/x86/processor.c:484
+#, c-format
+msgid ""
+"[Processor]\n"
+"Name=%s\n"
+"Family, model, stepping=%d, %d, %d (%s)\n"
+"Vendor=%s\n"
+"[Configuration]\n"
+"Cache Size=%dkb\n"
+"Frequency=%.2fMHz\n"
+"BogoMIPS=%.2f\n"
+"Byte Order=%s\n"
+"[Features]\n"
+"FDIV Bug=%s\n"
+"HLT Bug=%s\n"
+"F00F Bug=%s\n"
+"Coma Bug=%s\n"
+"Has FPU=%s\n"
+"[Cache]\n"
+"%s\n"
+"[Capabilities]\n"
+"%s"
+msgstr ""
+
+#: modules/devices/x86/processor.c:542
+#, c-format
+msgid "%s$CPU%d$%s=%.2fMHz\n"
+msgstr ""
+
+#: modules/devices/printers.c:81
+msgid "⚬ Can do black and white printing=\n"
+msgstr ""
+
+#: modules/devices/printers.c:83
+msgid "⚬ Can do color printing=\n"
+msgstr ""
+
+#: modules/devices/printers.c:85
+msgid "⚬ Can do duplexing=\n"
+msgstr ""
+
+#: modules/devices/printers.c:87
+msgid "⚬ Can do staple output=\n"
+msgstr ""
+
+#: modules/devices/printers.c:89
+msgid "⚬ Can do copies=\n"
+msgstr ""
+
+#: modules/devices/printers.c:91
+msgid "⚬ Can collate copies=\n"
+msgstr ""
+
+#: modules/devices/printers.c:93
+msgid "⚬ Printer is rejecting jobs=\n"
+msgstr ""
+
+#: modules/devices/printers.c:95
+msgid "⚬ Printer was automatically discovered and added=\n"
+msgstr ""
+
+#: modules/devices/printers.c:110
+msgid "Idle"
+msgstr ""
+
+#: modules/devices/printers.c:112
+msgid "Printing a Job"
+msgstr ""
+
+#: modules/devices/printers.c:114
+msgid "Stopped"
+msgstr ""
+
+#: modules/devices/printers.c:138
+msgid "Yes"
+msgstr ""
+
+#: modules/devices/printers.c:190
+msgid ""
+"[Printers]\n"
+"No suitable CUPS library found="
+msgstr ""
+
+#: modules/devices/printers.c:200
+msgid "[Printers (CUPS)]\n"
+msgstr ""
+
+#: modules/devices/printers.c:263
+msgid ""
+"[Printers]\n"
+"No printers found=\n"
+msgstr ""
+
+#: modules/computer/os.c:49
+#, c-format
+msgid "GNU C Library version %s (%sstable)"
+msgstr ""
+
+#: modules/computer/os.c:51
+msgid "un"
+msgstr ""
+
+#: modules/computer/os.c:72
+#, c-format
+msgid "Version: %s"
+msgstr ""
+
+#: modules/computer/os.c:106
+msgid "Terminal"
+msgstr ""
+
+#: modules/computer/os.c:126
+#, c-format
+msgid "Unknown (Window Manager: %s)"
+msgstr ""
+
+#: modules/computer/os.c:166
+msgid "Unknown distribution"
+msgstr ""
+
+#: modules/devices/battery.c:181
+#, c-format
+msgid ""
+"\n"
+"[Battery: %s]\n"
+"State=%s (load: %s)\n"
+"Capacity=%s / %s (%.2f%%)\n"
+"Battery Technology=%s (%s)\n"
+"Manufacturer=%s\n"
+"Model Number=%s\n"
+"Serial Number=%s\n"
+msgstr ""
+
+#: modules/devices/battery.c:266
+#, c-format
+msgid ""
+"\n"
+"[Battery (APM)]\n"
+"Charge=%d%%\n"
+"Remaining Charge=%s of %s\n"
+"Using=%s\n"
+"APM driver version=%s\n"
+"APM BIOS version=%s\n"
+msgstr ""
+
+#: modules/devices/battery.c:278
+#, c-format
+msgid ""
+"\n"
+"[Battery (APM)]\n"
+"Charge=%d%%\n"
+"Using=%s\n"
+"APM driver version=%s\n"
+"APM BIOS version=%s\n"
+msgstr ""
+
+#: modules/devices/battery.c:304
+msgid ""
+"[No batteries]\n"
+"No batteries found on this system=\n"
+msgstr ""
+
+#: modules/devices/storage.c:46
+msgid ""
+"\n"
+"[SCSI Disks]\n"
+msgstr ""
+
+#: modules/devices/storage.c:110 modules/devices/storage.c:297
+#, c-format
+msgid ""
+"[Device Information]\n"
+"Model=%s\n"
+msgstr ""
+
+#: modules/devices/storage.c:115 modules/devices/storage.c:304
+#, c-format
+msgid "Vendor=%s (%s)\n"
+msgstr ""
+
+#: modules/devices/storage.c:120 modules/devices/storage.c:309
+#, c-format
+msgid "Vendor=%s\n"
+msgstr ""
+
+#: modules/devices/storage.c:125
+#, c-format
+msgid ""
+"Type=%s\n"
+"Revision=%s\n"
+"[SCSI Controller]\n"
+"Controller=scsi%d\n"
+"Channel=%d\n"
+"ID=%d\n"
+"LUN=%d\n"
+msgstr ""
+
+#: modules/devices/storage.c:169
+msgid ""
+"\n"
+"[IDE Disks]\n"
+msgstr ""
+
+#: modules/devices/storage.c:242
+#, c-format
+msgid "Driver=%s\n"
+msgstr ""
+
+#: modules/devices/storage.c:314
+#, c-format
+msgid ""
+"Device Name=hd%c\n"
+"Media=%s\n"
+"Cache=%dkb\n"
+msgstr ""
+
+#: modules/devices/storage.c:329
+#, c-format
+msgid ""
+"[Geometry]\n"
+"Physical=%s\n"
+"Logical=%s\n"
+msgstr ""
+
+#: modules/devices/storage.c:341
+#, c-format
+msgid ""
+"[Capabilities]\n"
+"%s"
+msgstr ""
+
+#: modules/devices/storage.c:348
+#, c-format
+msgid ""
+"[Speeds]\n"
+"%s"
+msgstr ""
diff --git a/po/missing b/po/missing
new file mode 100644
index 00000000..306ced32
--- /dev/null
+++ b/po/missing
@@ -0,0 +1,2 @@
+hardinfo/hardinfo.c
+modules/devices/storage.c
diff --git a/shell/callbacks.c b/shell/callbacks.c
index 16211995..2bfb73b5 100644
--- a/shell/callbacks.c
+++ b/shell/callbacks.c
@@ -68,7 +68,7 @@ void cb_connect_host(GtkAction * action)
if (remote_connect_host(name)) {
gchar *tmp;
- tmp = g_strdup_printf("Remote: <b>%s</b>", name);
+ tmp = g_strdup_printf(_("Remote: <b>%s</b>"), name);
shell_set_remote_label(shell, tmp);
g_free(tmp);
@@ -114,20 +114,20 @@ void cb_local_computer()
#ifdef HAS_LIBSOUP
Shell *shell = shell_get_main_shell();
- shell_status_update("Disconnecting...");
+ shell_status_update(_("Disconnecting..."));
remote_disconnect_all(TRUE);
- shell_status_update("Unloading modules...");
+ shell_status_update(_("Unloading modules..."));
module_unload_all();
- shell_status_update("Loading local modules...");
+ shell_status_update(_("Loading local modules..."));
shell->tree->modules = modules_load_all();
g_slist_foreach(shell->tree->modules, shell_add_modules_to_gui, shell->tree);
gtk_tree_view_expand_all(GTK_TREE_VIEW(shell->tree->view));
shell_view_set_enabled(TRUE);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
shell_set_remote_label(shell, "");
#endif /* HAS_LIBSOUP */
}
@@ -139,7 +139,7 @@ void cb_save_graphic()
gchar *filename;
/* save the pixbuf to a png file */
- dialog = gtk_file_chooser_dialog_new("Save Image",
+ dialog = gtk_file_chooser_dialog_new(_("Save Image"),
NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL,
@@ -155,11 +155,11 @@ void cb_save_graphic()
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
gtk_widget_destroy(dialog);
- shell_status_update("Saving image...");
+ shell_status_update(_("Saving image..."));
tree_view_save_image(filename);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
g_free(filename);
return;
@@ -233,7 +233,7 @@ no_context_help:
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
- "No context help available.");
+ _("No context help available."));
gtk_dialog_run(GTK_DIALOG(dialog));
gtk_widget_destroy(dialog);
@@ -315,14 +315,14 @@ void cb_about_module(GtkAction * action)
about = gtk_about_dialog_new();
- text = g_strdup_printf("%s Module", sm->name);
+ text = g_strdup_printf(_("%s Module"), sm->name);
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), text);
g_free(text);
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about),
ma->version);
- text = g_strdup_printf("Written by %s\nLicensed under %s",
+ text = g_strdup_printf(_("Written by %s\nLicensed under %s"),
ma->author, ma->license);
gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about), text);
g_free(text);
@@ -336,7 +336,7 @@ void cb_about_module(GtkAction * action)
gtk_widget_destroy(about);
} else {
g_warning
- ("No about information is associated with the %s module.",
+ (_("No about information is associated with the %s module."),
name);
}
@@ -350,30 +350,30 @@ void cb_about()
{
GtkWidget *about;
const gchar *authors[] = {
- "Author:",
+ _("Author:"),
"Leandro A. F. Pereira",
"",
- "Contributors:",
+ _("Contributors:"),
"Agney Lopes Roth Ferraz",
"Andrey Esin",
"",
- "Based on work by:",
- "MD5 implementation by Colin Plumb (see md5.c for details)",
- "SHA1 implementation by Steve Reid (see sha1.c for details)",
- "Blowfish implementation by Paul Kocher (see blowfich.c for details)",
- "Raytracing benchmark by John Walker (see fbench.c for details)",
- "FFT benchmark by Scott Robert Ladd (see fftbench.c for details)",
- "Some code partly based on x86cpucaps by Osamu Kayasono",
- "Vendor list based on GtkSysInfo by Pissens Sebastien",
- "DMI support based on code by Stewart Adam",
- "SCSI support based on code by Pascal F. Martin",
+ _("Based on work by:"),
+ _("MD5 implementation by Colin Plumb (see md5.c for details)"),
+ _("SHA1 implementation by Steve Reid (see sha1.c for details)"),
+ _("Blowfish implementation by Paul Kocher (see blowfich.c for details)"),
+ _("Raytracing benchmark by John Walker (see fbench.c for details)"),
+ _("FFT benchmark by Scott Robert Ladd (see fftbench.c for details)"),
+ _("Some code partly based on x86cpucaps by Osamu Kayasono"),
+ _("Vendor list based on GtkSysInfo by Pissens Sebastien"),
+ _("DMI support based on code by Stewart Adam"),
+ _("SCSI support based on code by Pascal F. Martin"),
NULL
};
const gchar *artists[] = {
- "Jakub Szypulka",
- "Tango Project",
- "The GNOME Project",
- "VMWare, Inc. (USB icon from VMWare Workstation 6)",
+ _("Jakub Szypulka"),
+ _("Tango Project"),
+ _("The GNOME Project"),
+ _("VMWare, Inc. (USB icon from VMWare Workstation 6)"),
NULL
};
@@ -384,12 +384,12 @@ void cb_about()
"Copyright \302\251 2003-2012 "
"Leandro A. F. Pereira");
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about),
- "System information and benchmark tool");
+ _("System information and benchmark tool"));
gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about),
icon_cache_get_pixbuf("logo.png"));
gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about),
- "HardInfo is free software; you can redistribute it and/or modify "
+ _("HardInfo is free software; you can redistribute it and/or modify "
"it under the terms of the GNU General Public License as published by "
"the Free Software Foundation, version 2.\n\n"
"This program is distributed in the hope that it will be useful, "
@@ -398,7 +398,7 @@ void cb_about()
"GNU General Public License for more details.\n\n"
"You should have received a copy of the GNU General Public License "
"along with this program; if not, write to the Free Software "
- "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA");
+ "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"));
#if GTK_CHECK_VERSION(2,8,0)
gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(about), TRUE);
#endif
diff --git a/shell/loadgraph.c b/shell/loadgraph.c
index c8503072..22c44dae 100644
--- a/shell/loadgraph.c
+++ b/shell/loadgraph.c
@@ -323,6 +323,8 @@ gboolean lg_update(gpointer d)
int main(int argc, char **argv)
{
+
+
LoadGraph *lg;
GtkWidget *window;
diff --git a/shell/menu.c b/shell/menu.c
index 6b96e271..ddc2f864 100644
--- a/shell/menu.c
+++ b/shell/menu.c
@@ -28,108 +28,109 @@
#include <callbacks.h>
#include <hardinfo.h>
+
#include "uidefs.h"
static GtkActionEntry entries[] = {
- {"InformationMenuAction", NULL, "_Information"}, /* name, stock id, label */
- {"RemoteMenuAction", NULL, "_Remote"},
- {"ViewMenuAction", NULL, "_View"},
- {"HelpMenuAction", NULL, "_Help"},
- {"HelpMenuModulesAction", HI_STOCK_ABOUT_MODULES, "About _Modules"},
+ {"InformationMenuAction", NULL, N_("_Information")}, /* name, stock id, label */
+ {"RemoteMenuAction", NULL, N_("_Remote")},
+ {"ViewMenuAction", NULL, N_("_View")},
+ {"HelpMenuAction", NULL, N_("_Help")},
+ {"HelpMenuModulesAction", HI_STOCK_ABOUT_MODULES, N_("About _Modules")},
{"MainMenuBarAction", NULL, ""},
{"ReportAction", HI_STOCK_REPORT, /* name, stock id */
- "Generate _Report", "<control>R", /* label, accelerator */
+ N_("Generate _Report"), "<control>R", /* label, accelerator */
NULL, /* tooltip */
G_CALLBACK(cb_generate_report)},
{"SyncManagerAction", HI_STOCK_SYNC_MENU,
- "_Network Updater...", NULL,
+ N_("_Network Updater..."), NULL,
NULL,
G_CALLBACK(cb_sync_manager)},
{"OpenAction", GTK_STOCK_OPEN,
- "_Open...", NULL,
+ N_("_Open..."), NULL,
NULL,
G_CALLBACK(cb_sync_manager)},
{"ConnectToAction", GTK_STOCK_CONNECT,
- "_Connect to...", NULL,
+ N_("_Connect to..."), NULL,
NULL,
G_CALLBACK(cb_connect_to)},
{"ManageAction", NULL,
- "_Manage hosts...", NULL,
+ N_("_Manage hosts..."), NULL,
NULL,
G_CALLBACK(cb_manage_hosts)},
{"LocalComputerAction", GTK_STOCK_HOME,
- "_Local computer", NULL,
+ N_("_Local computer"), NULL,
NULL,
G_CALLBACK(cb_local_computer)},
{"CopyAction", GTK_STOCK_COPY,
- "_Copy to Clipboard", "<control>C",
- "Copy to clipboard",
+ N_("_Copy to Clipboard"), "<control>C",
+ N_("Copy to clipboard"),
G_CALLBACK(cb_copy_to_clipboard)},
{"SaveGraphAction", GTK_STOCK_SAVE_AS,
- "_Save image as...", "<control>S",
+ N_("_Save image as..."), "<control>S",
NULL,
G_CALLBACK(cb_save_graphic)},
{"RefreshAction", GTK_STOCK_REFRESH,
- "_Refresh", "F5",
+ N_("_Refresh"), "F5",
NULL,
G_CALLBACK(cb_refresh)},
{"OnlineDocsAction", GTK_STOCK_HELP,
- "Contents", "F1",
+ N_("Contents"), "F1",
NULL,
G_CALLBACK(cb_open_online_docs)},
{"ContextHelpAction", NULL,
- "Context help", "<Ctrl>F1",
+ N_("Context help"), "<Ctrl>F1",
NULL,
G_CALLBACK(cb_open_online_docs_context)},
{"HomePageAction", HI_STOCK_INTERNET,
- "_Open HardInfo Web Site", NULL,
+ N_("_Open HardInfo Web Site"), NULL,
NULL,
G_CALLBACK(cb_open_web_page)},
{"ReportBugAction", HI_STOCK_INTERNET,
- "_Report bug", NULL,
+ N_("_Report bug"), NULL,
NULL,
G_CALLBACK(cb_report_bug)},
{"DonateAction", HI_STOCK_DONATE,
- "_Donate to the project", NULL,
+ N_("_Donate to the project"), NULL,
NULL,
G_CALLBACK(cb_donate)},
{"AboutAction", GTK_STOCK_ABOUT,
- "_About HardInfo", NULL,
- "Displays program version information",
+ N_("_About HardInfo"), NULL,
+ N_("Displays program version information"),
G_CALLBACK(cb_about)},
{"QuitAction", GTK_STOCK_QUIT,
- "_Quit", "<control>Q",
+ N_("_Quit"), "<control>Q",
NULL,
G_CALLBACK(cb_quit)}
};
static GtkToggleActionEntry toggle_entries[] = {
{"SidePaneAction", NULL,
- "_Side Pane", NULL,
- "Toggles side pane visibility",
+ N_("_Side Pane"), NULL,
+ N_("Toggles side pane visibility"),
G_CALLBACK(cb_side_pane)},
{"ToolbarAction", NULL,
- "_Toolbar", NULL,
+ N_("_Toolbar"), NULL,
NULL,
G_CALLBACK(cb_toolbar)},
{"ActAsServerAction", NULL,
- "_Accept connections", NULL,
+ N_("_Accept connections"), NULL,
NULL,
G_CALLBACK(cb_act_as_server) }
};
@@ -163,13 +164,15 @@ void menu_init(Shell * shell)
/* Pack up our objects:
* menu_box -> window
* actions -> action_group
- * action_group -> menu_manager */
+ * action_group -> menu_manager */
+ gtk_action_group_set_translation_domain( action_group, "hardinfo" );//gettext
gtk_action_group_add_actions(action_group, entries,
G_N_ELEMENTS(entries), NULL);
gtk_action_group_add_toggle_actions(action_group, toggle_entries,
G_N_ELEMENTS(toggle_entries),
NULL);
gtk_ui_manager_insert_action_group(menu_manager, action_group, 0);
+
/* Read in the UI from our XML file */
error = NULL;
diff --git a/shell/report.c b/shell/report.c
index 20974de1..241bca67 100644
--- a/shell/report.c
+++ b/shell/report.c
@@ -489,7 +489,7 @@ static gchar *report_get_filename(void)
GtkWidget *dialog;
gchar *filename = NULL;
- dialog = gtk_file_chooser_dialog_new("Save File",
+ dialog = gtk_file_chooser_dialog_new(_("Save File"),
NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL,
@@ -613,7 +613,7 @@ static gboolean report_generate(ReportDialog * rd)
create_context = file_types_get_data_by_name(file_types, file);
if (!create_context) {
- g_warning("Cannot create ReportContext. Programming bug?");
+ g_warning(_("Cannot create ReportContext. Programming bug?"));
g_free(file);
return FALSE;
}
@@ -631,7 +631,7 @@ static gboolean report_generate(ReportDialog * rd)
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
- "Open the report with your web browser?");
+ _("Open the report with your web browser?"));
gtk_dialog_add_buttons(GTK_DIALOG(dialog),
GTK_STOCK_NO, GTK_RESPONSE_REJECT,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
@@ -659,7 +659,7 @@ void report_dialog_show(GtkTreeModel * model, GtkWidget * parent)
ReportDialog *rd = report_dialog_new(model, parent);
if (gtk_dialog_run(GTK_DIALOG(rd->dialog)) == GTK_RESPONSE_ACCEPT) {
- shell_status_update("Generating report...");
+ shell_status_update(_("Generating report..."));
gtk_widget_hide(rd->dialog);
shell_view_set_enabled(FALSE);
shell_status_set_enabled(TRUE);
@@ -669,9 +669,9 @@ void report_dialog_show(GtkTreeModel * model, GtkWidget * parent)
shell_status_set_enabled(FALSE);
if (success)
- shell_status_update("Report saved.");
+ shell_status_update(_("Report saved."));
else
- shell_status_update("Error while creating the report.");
+ shell_status_update(_("Error while creating the report."));
}
set_all_active(rd, FALSE);
@@ -773,7 +773,7 @@ static ReportDialog
rd = g_new0(ReportDialog, 1);
dialog = gtk_dialog_new();
- gtk_window_set_title(GTK_WINDOW(dialog), "Generate Report");
+ gtk_window_set_title(GTK_WINDOW(dialog), _("Generate Report"));
gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
gtk_window_set_default_size(GTK_WINDOW(dialog), 420, 260);
gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent));
@@ -790,9 +790,9 @@ static ReportDialog
hbox = gtk_hbox_new(FALSE, 5);
gtk_box_pack_start(GTK_BOX(dialog1_vbox), hbox, FALSE, FALSE, 0);
- label = gtk_label_new("<big><b>Generate Report</b></big>\n"
+ label = gtk_label_new(_("<big><b>Generate Report</b></big>\n"
"Please choose the information that you wish "
- "to view in your report:");
+ "to view in your report:"));
gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
gtk_label_set_use_markup(GTK_LABEL(label), TRUE);
gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
@@ -850,14 +850,14 @@ static ReportDialog
gtk_button_box_set_layout(GTK_BUTTON_BOX(vbuttonbox3),
GTK_BUTTONBOX_START);
- button3 = gtk_button_new_with_mnemonic("Select _None");
+ button3 = gtk_button_new_with_mnemonic(_("Select _None"));
gtk_widget_show(button3);
gtk_container_add(GTK_CONTAINER(vbuttonbox3), button3);
GTK_WIDGET_SET_FLAGS(button3, GTK_CAN_DEFAULT);
g_signal_connect(button3, "clicked",
G_CALLBACK(report_dialog_sel_none), rd);
- button6 = gtk_button_new_with_mnemonic("Select _All");
+ button6 = gtk_button_new_with_mnemonic(_("Select _All"));
gtk_widget_show(button6);
gtk_container_add(GTK_CONTAINER(vbuttonbox3), button6);
GTK_WIDGET_SET_FLAGS(button6, GTK_CAN_DEFAULT);
@@ -875,7 +875,7 @@ static ReportDialog
GTK_RESPONSE_CANCEL);
GTK_WIDGET_SET_FLAGS(button8, GTK_CAN_DEFAULT);
- button7 = gtk_button_new_with_mnemonic("_Generate");
+ button7 = gtk_button_new_with_mnemonic(_("_Generate"));
gtk_widget_show(button7);
gtk_dialog_add_action_widget(GTK_DIALOG(dialog), button7,
GTK_RESPONSE_ACCEPT);
diff --git a/shell/shell.c b/shell/shell.c
index 9d0e88ba..c6add81b 100644
--- a/shell/shell.c
+++ b/shell/shell.c
@@ -311,7 +311,7 @@ void shell_status_set_enabled(gboolean setting)
gtk_widget_hide(shell->progress);
shell_view_set_enabled(TRUE);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
}
}
@@ -404,12 +404,12 @@ void shell_set_title(Shell *shell, gchar *subtitle)
if (subtitle) {
gchar *tmp;
- tmp = g_strdup_printf("%s - System Information", subtitle);
+ tmp = g_strdup_printf(_("%s - System Information"), subtitle);
gtk_window_set_title(GTK_WINDOW(shell->window), tmp);
g_free(tmp);
} else {
- gtk_window_set_title(GTK_WINDOW(shell->window), "System Information");
+ gtk_window_set_title(GTK_WINDOW(shell->window), _("System Information"));
}
}
@@ -798,7 +798,7 @@ void shell_init(GSList * modules)
gtk_notebook_set_show_border(GTK_NOTEBOOK(shell->notebook), FALSE);
shell_status_set_enabled(TRUE);
- shell_status_update("Loading modules...");
+ shell_status_update(_("Loading modules..."));
shell->tree->modules = modules ? modules : modules_load_all();
@@ -811,7 +811,7 @@ void shell_init(GSList * modules)
gtk_widget_hide(shell->notebook);
gtk_widget_hide(shell->note->event_box);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
shell_status_set_enabled(FALSE);
shell_action_set_enabled("ContextHelpAction", FALSE);
@@ -1647,7 +1647,7 @@ static void shell_summary_create_header(ShellSummary *summary,
GtkWidget *header, *label;
gchar *temp;
- temp = g_strdup_printf("<b>%s \342\206\222 Summary</b>", title);
+ temp = g_strdup_printf(_("<b>%s \342\206\222 Summary</b>"), title);
header = gtk_menu_item_new_with_label(temp);
gtk_menu_item_select(GTK_MENU_ITEM(header));
@@ -1755,7 +1755,7 @@ static void module_selected(gpointer data)
gchar *title;
shell_status_set_enabled(TRUE);
- shell_status_update("Updating...");
+ shell_status_update(_("Updating..."));
entry->selected = TRUE;
shell->selected = entry;
@@ -1787,13 +1787,13 @@ static void module_selected(gpointer data)
g_free(temp);
} else {
shell_action_set_enabled("ContextHelpAction", FALSE);
- shell_action_set_label("ContextHelpAction", "Context help");
+ shell_action_set_label("ContextHelpAction", _("Context help"));
}
shell_action_set_enabled("RefreshAction", TRUE);
shell_action_set_enabled("CopyAction", TRUE);
- shell_status_update("Done.");
+ shell_status_update(_("Done."));
shell_status_set_enabled(FALSE);
} else {
shell_set_title(shell, NULL);
@@ -1804,7 +1804,7 @@ static void module_selected(gpointer data)
set_view_type(SHELL_VIEW_NORMAL, FALSE);
shell_action_set_enabled("ContextHelpAction", FALSE);
- shell_action_set_label("ContextHelpAction", "Context help");
+ shell_action_set_label("ContextHelpAction", _("Context help"));
if (shell->selected_module->summaryfunc) {
shell_show_summary();
diff --git a/shell/syncmanager.c b/shell/syncmanager.c
index ce50d429..3afd45b7 100644
--- a/shell/syncmanager.c
+++ b/shell/syncmanager.c
@@ -66,11 +66,11 @@ static GQuark err_quark;
#define XMLRPC_SERVER_URI "http://hardinfo.berlios.de/xmlrpc/"
#define XMLRPC_SERVER_API_VERSION 1
-#define LABEL_SYNC_DEFAULT "<big><b>Synchronize with Central Database</b></big>\n" \
+#define LABEL_SYNC_DEFAULT _("<big><b>Synchronize with Central Database</b></big>\n" \
"The following information may be synchronized " \
- "with the HardInfo central database."
-#define LABEL_SYNC_SYNCING "<big><b>Synchronizing</b></big>\n" \
- "This may take some time."
+ "with the HardInfo central database.")
+#define LABEL_SYNC_SYNCING _("<big><b>Synchronizing</b></big>\n" \
+ "This may take some time.")
static SyncDialog *sync_dialog_new(GtkWidget *parent);
static void sync_dialog_destroy(SyncDialog * sd);
@@ -129,7 +129,7 @@ void sync_manager_show(GtkWidget *parent)
{
#ifndef HAS_LIBSOUP
g_warning
- ("HardInfo was compiled without libsoup support. (Network Updater requires it.)");
+ (_("HardInfo was compiled without libsoup support. (Network Updater requires it.)"));
#else /* !HAS_LIBSOUP */
SyncDialog *sd = sync_dialog_new(parent);
@@ -158,7 +158,7 @@ static gint _soup_get_xmlrpc_value_int(SoupMessage * msg,
sna->error = NULL;
if (!SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
- SNA_ERROR(1, "%s (error #%d)", msg->reason_phrase,
+ SNA_ERROR(1, _("%s (error #%d)"), msg->reason_phrase,
msg->status_code);
goto bad;
}
@@ -167,7 +167,7 @@ static gint _soup_get_xmlrpc_value_int(SoupMessage * msg,
msg->response_body->length,
NULL,
G_TYPE_INT, &int_value)) {
- SNA_ERROR(2, "Could not parse XML-RPC response");
+ SNA_ERROR(2, _("Could not parse XML-RPC response"));
}
bad:
@@ -182,7 +182,7 @@ static gchar *_soup_get_xmlrpc_value_string(SoupMessage * msg,
sna->error = NULL;
if (!SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
- SNA_ERROR(1, "%s (error #%d)", msg->reason_phrase,
+ SNA_ERROR(1, _("%s (error #%d)"), msg->reason_phrase,
msg->status_code);
goto bad;
}
@@ -191,7 +191,7 @@ static gchar *_soup_get_xmlrpc_value_string(SoupMessage * msg,
msg->response_body->length,
NULL,
G_TYPE_STRING, &string)) {
- SNA_ERROR(2, "Could not parse XML-RPC response");
+ SNA_ERROR(2, _("Could not parse XML-RPC response"));
}
bad:
@@ -264,9 +264,9 @@ static void _action_check_api_version_got_response(SoupSession * session,
gint version = _soup_get_xmlrpc_value_int(msg, sna);
if (version != XMLRPC_SERVER_API_VERSION) {
- SNA_ERROR(5, "Server says it supports API version %d, but "
+ SNA_ERROR(5, _("Server says it supports API version %d, but "
"this version of HardInfo only supports API "
- "version %d.", version, XMLRPC_SERVER_API_VERSION);
+ "version %d."), version, XMLRPC_SERVER_API_VERSION);
}
g_main_quit(loop);
@@ -359,8 +359,8 @@ static SyncNetAction *sync_manager_get_selected_actions(gint * n)
GSList *entry;
SyncNetAction *actions;
SyncNetAction
- action_check_api = { "Contacting HardInfo Central Database", _action_check_api_version },
- action_clean_up = { "Cleaning up", NULL};
+ action_check_api = { _("Contacting HardInfo Central Database"), _action_check_api_version },
+ action_clean_up = { _("Cleaning up"), NULL};
actions = g_new0(SyncNetAction, 2 + g_slist_length(entries));
@@ -477,7 +477,7 @@ static void sync_dialog_netarea_start_actions(SyncDialog * sd,
if (sd->flag_cancel) {
markup =
- g_strdup_printf("<s>%s</s> <i>(canceled)</i>",
+ g_strdup_printf(_("<s>%s</s> <i>(canceled)</i>"),
sna[i].name);
gtk_label_set_markup(GTK_LABEL(labels[i]), markup);
g_free(markup);
@@ -494,7 +494,7 @@ static void sync_dialog_netarea_start_actions(SyncDialog * sd,
if (sna[i].do_action && !sna[i].do_action(sd, &sna[i])) {
markup =
- g_strdup_printf("<b><s>%s</s></b> <i>(failed)</i>",
+ g_strdup_printf(_("<b><s>%s</s></b> <i>(failed)</i>"),
sna[i].name);
gtk_label_set_markup(GTK_LABEL(labels[i]), markup);
g_free(markup);
@@ -506,18 +506,18 @@ static void sync_dialog_netarea_start_actions(SyncDialog * sd,
if (sna[i].error->code != 1) {
/* the user has not cancelled something... */
g_warning
- ("Failed while performing \"%s\". Please file a bug report "
+ (_("Failed while performing \"%s\". Please file a bug report "
"if this problem persists. (Use the Help\342\206\222Report"
- " bug option.)\n\nDetails: %s", sna[i].name,
+ " bug option.)\n\nDetails: %s"), sna[i].name,
sna[i].error->message);
}
g_error_free(sna[i].error);
} else {
g_warning
- ("Failed while performing \"%s\". Please file a bug report "
+ (_("Failed while performing \"%s\". Please file a bug report "
"if this problem persists. (Use the Help\342\206\222Report"
- " bug option.)", sna[i].name);
+ " bug option.)"), sna[i].name);
}
break;
}
@@ -643,7 +643,7 @@ static SyncDialog *sync_dialog_new(GtkWidget *parent)
dialog = gtk_dialog_new();
gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent));
- gtk_window_set_title(GTK_WINDOW(dialog), "Network Updater");
+ gtk_window_set_title(GTK_WINDOW(dialog), _("Network Updater"));
gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
gtk_window_set_icon(GTK_WINDOW(dialog),
icon_cache_get_pixbuf("syncmanager.png"));
@@ -724,7 +724,7 @@ static SyncDialog *sync_dialog_new(GtkWidget *parent)
GTK_RESPONSE_CANCEL);
GTK_WIDGET_SET_FLAGS(button8, GTK_CAN_DEFAULT);
- button7 = gtk_button_new_with_mnemonic("_Synchronize");
+ button7 = gtk_button_new_with_mnemonic(_("_Synchronize"));
gtk_widget_show(button7);
gtk_dialog_add_action_widget(GTK_DIALOG(dialog), button7,
GTK_RESPONSE_ACCEPT);