On 02/19/2015 12:26 PM, John Ferlan wrote:
On 02/19/2015 11:24 AM, Martin Kletzander wrote:
> When editing a domain with 'virsh edit' and failing validation, the
> usual message pops up:
>
> Failed. Try again? [y,n,f,?]:
>
> Turning of validation can be ussable, mainly for testing (but other
s/of/off
s/ussable/useful
> purposes too), so this patch adds support for relaxing definition in
> virsh-edit and makes 'virsh edit <domain>' more usable.
>
> Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
> ---
> v2:
> - make a special case 'v' for turning off validation
Another choice 'i' "ignore validation" - only because when I see -v I
think "verbose" or "version" (just like -h is help)
I like the idea of 'i' instead of 'v' as well.
> while (true) {
> /* TRANSLATORS: For now, we aren't using LC_MESSAGES, and the user
> - * choices really are limited to just 'y', 'n', 'f'
and '?' */
> - vshPrint(ctl, "\r%s %s", msg, _("Try again?
[y,n,f,?]:"));
> + * choices really are limited to just 'y', 'n', 'v',
'f' and '?' */
> + vshPrint(ctl, _("\r%s Try again? %s: "), msg,
> + relax_avail ? "[y,n,v,f,?]" : "[y,n,f,?]");
That doesn't translate very well. You must NOT put \r in the string
marked for translation ('make dist' will spit out LOTS of these warnings):
libvirt.pot:30827: warning: internationalized messages should not
contain the '\r' escape sequence
Also, ?: can confuse xgettext, which in turn makes the .pot file harder
for translators to see. Pre-patch, the .pot file has:
#. TRANSLATORS: For now, we aren't using LC_MESSAGES, and the user
#. * choices really are limited to just 'y', 'n', 'f' and
'?'
#: tools/virsh.c:536
msgid "Try again? [y,n,f,?]:"
msgstr ""
post-patch, the .pot file would have:
#. TRANSLATORS: For now, we aren't using LC_MESSAGES, and the user
#. * choices really are limited to just 'y', 'n', 'v', 'f'
and '?'
#: tools/virsh.c:536
#, c-format
msgid "\r%s Try again? %s: "
msgstr ""
but NO mention of a [y,n,...] string, which makes the comment weird.
But since the whole point of the comment was that we AREN'T allowing
translated option letters (for example, a Spanish user must still type
'y', rather than 's' for "si"), there's no need to translate
the
options, and therefore no need for the comment. So you should drop the
comment, and just use:
vshPrint(ctl, "\r%s %s %s: ", msg, _("Try again?"),
relax_avail ? "[y,n,v,f,?]" : "[y,n,f,?]");
(with 'i' instead of 'v' if we go that route)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org