From 3ccd4457741dc98a5e8ee655fe4166b0a9022966 Mon Sep 17 00:00:00 2001 From: mfloryan Date: Tue, 19 Feb 2008 22:44:06 +0000 Subject: [PATCH] Extended messages to make full use of plurals --- src/gradient-context.cpp | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/gradient-context.cpp b/src/gradient-context.cpp index da211661c..230072e64 100644 --- a/src/gradient-context.cpp +++ b/src/gradient-context.cpp @@ -154,20 +154,37 @@ gradient_selection_changed (Inkscape::Selection *, gpointer data) guint n_tot = drag->numDraggers(); guint n_sel = drag->numSelected(); + //The use of ngettext in the following code is intentional even if the English singular form would never be used if (n_sel == 1) { if (drag->singleSelectedDraggerNumDraggables() == 1) { - rc->_message_context->setF(Inkscape::NORMAL_MESSAGE, - ngettext("%s selected out of %d gradient handles on %d selected object","%s selected out of %d gradient handles on %d selected objects",n_obj), _(gr_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), n_tot, n_obj); + gchar * message = g_strconcat( + //TRANSLATORS: %s will be substituted with the point name (see previous messages); This is part of a compound message + _("%s selected"), + //TRANSLATORS: Mind the space in front. This is part of a compound message + ngettext(" out of %d gradient handle"," out of %d gradient handles",n_tot), + ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL); + rc->_message_context->setF(Inkscape::NORMAL_MESSAGE, + message,_(gr_handle_descr[drag->singleSelectedDraggerSingleDraggableType()]), n_tot, n_obj); } else { - rc->_message_context->setF(Inkscape::NORMAL_MESSAGE, - _("One handle merging %d stops (drag with Shift to separate) selected out of %d gradient handles on %d selected object(s)"), drag->singleSelectedDraggerNumDraggables(), n_tot, n_obj); + gchar * message = g_strconcat( + //TRANSLATORS: This is a part of a compound message (out of two more indicating: grandint handle count & object count) + ngettext("One handle merging %d stop (drag with Shift to separate) selected", + "One handle merging %d stops (drag with Shift to separate) selected",drag->singleSelectedDraggerNumDraggables()), + ngettext(" out of %d gradient handle"," out of %d gradient handles",n_tot), + ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL); + rc->_message_context->setF(Inkscape::NORMAL_MESSAGE,message,drag->singleSelectedDraggerNumDraggables(), n_tot, n_obj); } } else if (n_sel > 1) { - rc->_message_context->setF(Inkscape::NORMAL_MESSAGE, - _("%d gradient handles selected out of %d on %d selected object(s)"), n_sel, n_tot, n_obj); + //TRANSLATORS: The plural refers to number of selected gradient handles. This is part of a compound message (part two indicates selected object count) + gchar * message = g_strconcat(ngettext("%d gradient handle selected out of %d","%d gradient handles selected out of %d",n_sel), + //TRANSLATORS: Mind the space in front. (Refers to gradient handles selected). This is part of a compound message + ngettext(" on %d selected object"," on %d selected objects",n_obj),NULL); + rc->_message_context->setF(Inkscape::NORMAL_MESSAGE,message, n_sel, n_tot, n_obj); } else if (n_sel == 0) { rc->_message_context->setF(Inkscape::NORMAL_MESSAGE, - _("No gradient handles selected out of %d on %d selected object(s)"), n_tot, n_obj); + //TRANSLATORS: The plural refers to number of selected objects + ngettext("No gradient handles selected out of %d on %d selected object", + "No gradient handles selected out of %d on %d selected objects",n_obj), n_tot, n_obj); } } -- 2.30.2