>From cb822ca631b8cddfe03930ef68a12c97372bb8c1 Mon Sep 17 00:00:00 2001
From: Didier Roche <didro...@ubuntu.com>
Date: Mon, 26 Jan 2015 17:12:54 +0100
Subject: [PATCH 08/12] 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 5760916..b07760d 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 <linux/limits.h>
 #include <math.h>
 #include <stdbool.h>
@@ -101,7 +102,7 @@ static int handle_requests(int socket_fd) {
         const char *plymouth_cancel_message;
         bool cancel_message_plymouth_sent = false;
 
-        plymouth_cancel_message = strappenda("fsckd-cancel-msg:", "Press C to cancel all checks in progress");
+        plymouth_cancel_message = strappenda("fsckd-cancel-msg:", _("Press C to cancel all checks in progress"));
 #endif
 
         console = fopen("/dev/console", "we");
@@ -192,7 +193,9 @@ static int handle_requests(int socket_fd) {
                         numdevices = current_numdevices;
                         percent = current_percent;
 
-                        asprintf(&console_message, "Checking in progress on %d disks (%3.1f%% complete)",
+                        asprintf(&console_message,
+                                 ngettext("Checking in progress on %d disk (%3.1f%% complete)",
+                                          "Checking in progress on %d disks (%3.1f%% complete)", numdevices),
                                  numdevices, percent);
 #ifdef HAVE_PLYMOUTH
                         asprintf(&fsck_message, "fsckd:%d:%3.1f:%s", numdevices, percent, console_message);
@@ -208,7 +211,7 @@ static int handle_requests(int socket_fd) {
                         /* send to plymouth */
                         if (!cancel_message_plymouth_sent) {
                                 cancel_message_plymouth_sent = \
-                                        plymouth_watch_key("Cc", plymouth_cancel_message, cancel_requested);
+                                        plymouth_watch_key(_("Cc"), plymouth_cancel_message, cancel_requested);
                         }
                         plymouth_update(fsck_message);
 #endif
@@ -341,6 +344,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