>From 3f029b3549b736f57cfb73c016022f13185187f8 Mon Sep 17 00:00:00 2001
From: Didier Roche <didro...@ubuntu.com>
Date: Mon, 26 Jan 2015 17:12:54 +0100
Subject: [PATCH 5/9] Translate fsckd messages for plymouth

For plymouth themes not supporting i18n (like .script), send translated
messages to display to user, which is equivalent to the sent machine
readable data.
---
 po/POTFILES.in    |  1 +
 src/fsckd/fsckd.c | 10 +++++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index b4c1121..70e7594 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -5,3 +5,4 @@ src/locale/org.freedesktop.locale1.policy.in
 src/login/org.freedesktop.login1.policy.in
 src/machine/org.freedesktop.machine1.policy.in
 src/timedate/org.freedesktop.timedate1.policy.in
+src/fsckd/fsckd.c
diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c
index dc00fc6..834476c 100644
--- a/src/fsckd/fsckd.c
+++ b/src/fsckd/fsckd.c
@@ -24,6 +24,7 @@
 
 #include <getopt.h>
 #include <errno.h>
+#include <libintl.h>
 #include <math.h>
 #include <stdbool.h>
 #include <stdlib.h>
@@ -182,7 +183,7 @@ static int send_message_plymouth(Manager *m, const char *message) {
                 if (r < 0)
                         return log_warning_errno(errno, "Can't send to plymouth cancel key: %m");
                 m->plymouth_cancel_sent = true;
-                plymouth_cancel_message = strjoina("fsckd-cancel-msg:", "Press Ctrl+C to cancel all filesystem checks in progress");
+                plymouth_cancel_message = strjoina("fsckd-cancel-msg:", _("Press Ctrl+C to cancel all filesystem checks in progress"));
                 r = send_message_plymouth_socket(m->plymouth_fd, plymouth_cancel_message, false);
                 if (r < 0)
                         log_warning_errno(r, "Can't send filesystem cancel message to plymouth: %m");
@@ -222,8 +223,10 @@ static int update_global_progress(Manager *m) {
                 m->numdevices = current_numdevices;
                 m->percent = current_percent;
 
-                if (asprintf(&console_message, "Checking in progress on %d disks (%3.1f%% complete)",
-                                                m->numdevices, m->percent) < 0)
+                if (asprintf(&console_message,
+                             ngettext("Checking in progress on %d disk (%3.1f%% complete)",
+                                      "Checking in progress on %d disks (%3.1f%% complete)", m->numdevices),
+                                      m->numdevices, m->percent) < 0)
                         return -ENOMEM;
                 if (asprintf(&fsck_message, "fsckd:%d:%3.1f:%s", m->numdevices, m->percent, console_message) < 0)
                         return -ENOMEM;
@@ -507,6 +510,7 @@ int main(int argc, char *argv[]) {
         log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
+        init_gettext();
 
         r = parse_argv(argc, argv);
         if (r <= 0)
-- 
2.1.4

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to