[libvirt] [PATCH v2] virsh-edit: Make force editing usable

Martin Kletzander mkletzan at redhat.com
Fri Feb 20 06:37:38 UTC 2015


On Thu, Feb 19, 2015 at 01:16:07PM -0700, Eric Blake wrote:
>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 at 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)
>

I had no idea that comments before marked translations go to the .pot
file, that's great.  What I wanted to achieve is pretty much what you
wrote and for the same reason -- not allowing translators to change
the characters. "\r%s %s %s: " is definitely way better, I should've
thought about making translator lives easier ;)

And according to others, 'i' is more likeable, or at least it looks
like it.  v3 coming up.

>--
>Eric Blake   eblake redhat com    +1-919-301-3266
>Libvirt virtualization library http://libvirt.org
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150220/93bf4294/attachment-0001.sig>


More information about the libvir-list mailing list