Sort arguments to translatable string enum value constructor
Marco Ricci

Marco Ricci commited on 2025-01-13 18:05:33
Zeige 1 geänderte Dateien mit 170 Einfügungen und 158 Löschungen.

... ...
@@ -464,8 +464,8 @@ class Label(enum.Enum):
464 464
         a warning message, e.g., "Deprecation warning: A subcommand will
465 465
         be required in v1.0."
466 466
         """,
467
-        msg='Deprecation warning',
468 467
         context='Label :: Diagnostics :: Marker',
468
+        msg='Deprecation warning',
469 469
     )
470 470
     WARNING_LABEL = _prepare_translatable(
471 471
         comments=r"""
... ...
@@ -473,8 +473,8 @@ class Label(enum.Enum):
473 473
         a warning message, e.g., "Warning: An empty service name is not
474 474
         supported by vault(1)."
475 475
         """,
476
-        msg='Warning',
477 476
         context='Label :: Diagnostics :: Marker',
477
+        msg='Warning',
478 478
     )
479 479
     CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_GLOBAL = (
480 480
         _prepare_translatable(
... ...
@@ -485,8 +485,8 @@ class Label(enum.Enum):
485 485
             reads: "Cannot update the global settings without any given
486 486
             settings."
487 487
             """,
488
-            msg='global settings',
489 488
             context='Label :: Error message :: Metavar',
489
+            msg='global settings',
490 490
         )
491 491
     )
492 492
     CANNOT_UPDATE_SETTINGS_METAVAR_SETTINGS_TYPE_SERVICE = (
... ...
@@ -498,8 +498,8 @@ class Label(enum.Enum):
498 498
             reads: "Cannot update the service-specific settings without
499 499
             any given settings."
500 500
             """,
501
-            msg='service-specific settings',
502 501
             context='Label :: Error message :: Metavar',
502
+            msg='service-specific settings',
503 503
         )
504 504
     )
505 505
     DERIVEPASSPHRASE_01 = _prepare_translatable(
... ...
@@ -509,38 +509,38 @@ class Label(enum.Enum):
509 509
         one-line help text for this command.  The translation should
510 510
         thus be as meaningful as possible even if truncated.
511 511
         """,
512
+        context='Label :: Help text :: Explanation',
512 513
         msg="""
513 514
         Derive a strong passphrase, deterministically, from a master secret.
514 515
         """,
515
-        context='Label :: Help text :: Explanation',
516 516
     )
517 517
     DERIVEPASSPHRASE_02 = _prepare_translatable(
518
+        comments='',
519
+        context='Label :: Help text :: Explanation',
518 520
         msg="""
519 521
         The currently implemented subcommands are "vault" (for the
520 522
         scheme used by vault) and "export" (for exporting foreign
521 523
         configuration data).  See the respective `--help` output for
522 524
         instructions.  If no subcommand is given, we default to "vault".
523 525
         """,
524
-        comments='',
525
-        context='Label :: Help text :: Explanation',
526 526
     )
527 527
     DERIVEPASSPHRASE_03 = _prepare_translatable(
528
+        comments='',
529
+        context='Label :: Help text :: Explanation',
528 530
         msg="""
529 531
         Deprecation notice: Defaulting to "vault" is deprecated.
530 532
         Starting in v1.0, the subcommand must be specified explicitly.
531 533
         """,
532
-        comments='',
533
-        context='Label :: Help text :: Explanation',
534 534
     )
535 535
     DERIVEPASSPHRASE_EPILOG_01 = _prepare_translatable(
536
+        comments='',
537
+        context='Label :: Help text :: Explanation',
536 538
         msg=r"""
537 539
         Configuration is stored in a directory according to the
538 540
         `DERIVEPASSPHRASE_PATH` variable, which defaults to
539 541
         `~/.derivepassphrase` on UNIX-like systems and
540 542
         `C:\Users\<user>\AppData\Roaming\Derivepassphrase` on Windows.
541 543
         """,
542
-        comments='',
543
-        context='Label :: Help text :: Explanation',
544 544
     )
545 545
     DERIVEPASSPHRASE_EXPORT_01 = _prepare_translatable(
546 546
         comments=r"""
... ...
@@ -549,19 +549,19 @@ class Label(enum.Enum):
549 549
         one-line help text for this command.  The translation should
550 550
         thus be as meaningful as possible even if truncated.
551 551
         """,
552
+        context='Label :: Help text :: Explanation',
552 553
         msg="""
553 554
         Export a foreign configuration to standard output.
554 555
         """,
555
-        context='Label :: Help text :: Explanation',
556 556
     )
557 557
     DERIVEPASSPHRASE_EXPORT_02 = _prepare_translatable(
558
+        comments='',
559
+        context='Label :: Help text :: Explanation',
558 560
         msg="""
559 561
         The only available subcommand is "vault", which implements the
560 562
         vault-native configuration scheme.  If no subcommand is given,
561 563
         we default to "vault".
562 564
         """,
563
-        comments='',
564
-        context='Label :: Help text :: Explanation',
565 565
     )
566 566
     DERIVEPASSPHRASE_EXPORT_03 = DERIVEPASSPHRASE_03
567 567
     DERIVEPASSPHRASE_EXPORT_VAULT_01 = _prepare_translatable(
... ...
@@ -571,30 +571,30 @@ class Label(enum.Enum):
571 571
         one-line help text for this command.  The translation should
572 572
         thus be as meaningful as possible even if truncated.
573 573
         """,
574
+        context='Label :: Help text :: Explanation',
574 575
         msg="""
575 576
         Export a vault-native configuration to standard output.
576 577
         """,
577
-        context='Label :: Help text :: Explanation',
578 578
     )
579 579
     DERIVEPASSPHRASE_EXPORT_VAULT_02 = _prepare_translatable(
580
+        comments='',
581
+        context='Label :: Help text :: Explanation',
580 582
         msg="""
581 583
         Depending on the configuration format, {path_metavar!s} may
582 584
         either be a file or a directory.  We support the vault "v0.2",
583 585
         "v0.3" and "storeroom" formats.
584 586
         """,
585
-        comments='',
586
-        context='Label :: Help text :: Explanation',
587 587
         flags='python-brace-format',
588 588
     )
589 589
     DERIVEPASSPHRASE_EXPORT_VAULT_03 = _prepare_translatable(
590
+        comments='',
591
+        context='Label :: Help text :: Explanation',
590 592
         msg="""
591 593
         If {path_metavar!s} is explicitly given as `VAULT_PATH`, then
592 594
         use the `VAULT_PATH` environment variable to determine the
593 595
         correct path.  (Use `./VAULT_PATH` or similar to indicate
594 596
         a file/directory actually named `VAULT_PATH`.)
595 597
         """,
596
-        comments='',
597
-        context='Label :: Help text :: Explanation',
598 598
         flags='python-brace-format',
599 599
     )
600 600
     DERIVEPASSPHRASE_VAULT_01 = _prepare_translatable(
... ...
@@ -604,22 +604,24 @@ class Label(enum.Enum):
604 604
         one-line help text for this command.  The translation should
605 605
         thus be as meaningful as possible even if truncated.
606 606
         """,
607
+        context='Label :: Help text :: Explanation',
607 608
         msg="""
608 609
         Derive a passphrase using the vault derivation scheme.
609 610
         """,
610
-        context='Label :: Help text :: Explanation',
611 611
     )
612 612
     DERIVEPASSPHRASE_VAULT_02 = _prepare_translatable(
613
+        comments='',
614
+        context='Label :: Help text :: Explanation',
613 615
         msg="""
614 616
         If operating on global settings, or importing/exporting
615 617
         settings, then {service_metavar!s} must be omitted.  Otherwise
616 618
         it is required.
617 619
         """,
618
-        comments='',
619
-        context='Label :: Help text :: Explanation',
620 620
         flags='python-brace-format',
621 621
     )
622 622
     DERIVEPASSPHRASE_VAULT_EPILOG_01 = _prepare_translatable(
623
+        comments='',
624
+        context='Label :: Help text :: Explanation',
623 625
         msg="""
624 626
         WARNING: There is NO WAY to retrieve the generated passphrases
625 627
         if the master passphrase, the SSH key, or the exact passphrase
... ...
@@ -627,16 +629,14 @@ class Label(enum.Enum):
627 629
         combinations.  You are STRONGLY advised to keep independent
628 630
         backups of the settings and the SSH key, if any.
629 631
         """,
630
-        comments='',
631
-        context='Label :: Help text :: Explanation',
632 632
     )
633 633
     DERIVEPASSPHRASE_VAULT_EPILOG_02 = _prepare_translatable(
634
+        comments='',
635
+        context='Label :: Help text :: Explanation',
634 636
         msg="""
635 637
         The configuration is NOT encrypted, and you are STRONGLY
636 638
         discouraged from using a stored passphrase.
637 639
         """,
638
-        comments='',
639
-        context='Label :: Help text :: Explanation',
640 640
     )
641 641
     DEPRECATED_COMMAND_LABEL = _prepare_translatable(
642 642
         comments=r"""
... ...
@@ -644,14 +644,14 @@ class Label(enum.Enum):
644 644
         beginning of a command's help text, that this command is
645 645
         deprecated.
646 646
         """,
647
-        msg='(Deprecated) {text}',
648 647
         context='Label :: Help text :: Marker',
648
+        msg='(Deprecated) {text}',
649 649
         flags='python-brace-format',
650 650
     )
651 651
     DEBUG_OPTION_HELP_TEXT = _prepare_translatable(
652
-        'also emit debug information (implies --verbose)',
653 652
         comments='',
654 653
         context='Label :: Help text :: One-line description',
654
+        msg='also emit debug information (implies --verbose)',
655 655
     )
656 656
     EXPORT_VAULT_FORMAT_HELP_TEXT = _prepare_translatable(
657 657
         comments=r"""
... ...
@@ -659,12 +659,12 @@ class Label(enum.Enum):
659 659
         Label.EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT, the metavar is
660 660
         Label.EXPORT_VAULT_FORMAT_METAVAR_FMT.
661 661
         """,
662
+        context='Label :: Help text :: One-line description',
662 663
         msg=r"""
663 664
         try the following storage format {metavar!s}; may be
664 665
         specified multiple times, formats will be tried in order
665 666
         {defaults_hint!s}
666 667
         """,
667
-        context='Label :: Help text :: One-line description',
668 668
         flags='python-brace-format',
669 669
     )
670 670
     EXPORT_VAULT_FORMAT_DEFAULTS_HELP_TEXT = _prepare_translatable(
... ...
@@ -673,10 +673,10 @@ class Label(enum.Enum):
673 673
         names/labels "v0.3", "v0.2" and "storeroom" should not be
674 674
         translated.
675 675
         """,
676
+        context='Label :: Help text :: One-line description',
676 677
         msg=r"""
677 678
         (default: v0.3, v0.2, storeroom)
678 679
         """,
679
-        context='Label :: Help text :: One-line description',
680 680
     )
681 681
     EXPORT_VAULT_KEY_HELP_TEXT = _prepare_translatable(
682 682
         comments=r"""
... ...
@@ -684,60 +684,60 @@ class Label(enum.Enum):
684 684
         Label.EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT, the metavar is
685 685
         Label.EXPORT_VAULT_KEY_METAVAR_K.
686 686
         """,
687
+        context='Label :: Help text :: One-line description',
687 688
         msg=r"""
688 689
         use {metavar!s} as the storage master key {defaults_hint!s}
689 690
         """,
690
-        context='Label :: Help text :: One-line description',
691 691
         flags='python-brace-format',
692 692
     )
693 693
     EXPORT_VAULT_KEY_DEFAULTS_HELP_TEXT = _prepare_translatable(
694 694
         comments=r"""
695 695
         TRANSLATORS: See EXPORT_VAULT_KEY_HELP_TEXT.
696 696
         """,
697
+        context='Label :: Help text :: One-line description',
697 698
         msg=r"""
698 699
         (default: check the `VAULT_KEY`, `LOGNAME`, `USER`, or
699 700
         `USERNAME` environment variables)
700 701
         """,
701
-        context='Label :: Help text :: One-line description',
702 702
     )
703 703
     HELP_OPTION_HELP_TEXT = _prepare_translatable(
704
-        'show this help text, then exit',
705 704
         comments='',
706 705
         context='Label :: Help text :: One-line description',
706
+        msg='show this help text, then exit',
707 707
     )
708 708
     QUIET_OPTION_HELP_TEXT = _prepare_translatable(
709
-        'suppress even warnings, emit only errors',
710 709
         comments='',
711 710
         context='Label :: Help text :: One-line description',
711
+        msg='suppress even warnings, emit only errors',
712 712
     )
713 713
     VERBOSE_OPTION_HELP_TEXT = _prepare_translatable(
714
-        'emit extra/progress information to standard error',
715 714
         comments='',
716 715
         context='Label :: Help text :: One-line description',
716
+        msg='emit extra/progress information to standard error',
717 717
     )
718 718
     VERSION_OPTION_HELP_TEXT = _prepare_translatable(
719
-        'show applicable version information, then exit',
720 719
         comments='',
721 720
         context='Label :: Help text :: One-line description',
721
+        msg='show applicable version information, then exit',
722 722
     )
723 723
 
724 724
     DERIVEPASSPHRASE_VAULT_PHRASE_HELP_TEXT = _prepare_translatable(
725
-        msg='prompt for a master passphrase',
726 725
         comments='',
727 726
         context='Label :: Help text :: One-line description',
727
+        msg='prompt for a master passphrase',
728 728
     )
729 729
     DERIVEPASSPHRASE_VAULT_KEY_HELP_TEXT = _prepare_translatable(
730
-        msg='select a suitable SSH key from the SSH agent',
731 730
         comments='',
732 731
         context='Label :: Help text :: One-line description',
732
+        msg='select a suitable SSH key from the SSH agent',
733 733
     )
734 734
     DERIVEPASSPHRASE_VAULT_LENGTH_HELP_TEXT = _prepare_translatable(
735 735
         comments=r"""
736 736
         TRANSLATORS: The metavar is
737 737
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
738 738
         """,
739
-        msg='ensure a passphrase length of {metavar!s} characters',
740 739
         context='Label :: Help text :: One-line description',
740
+        msg='ensure a passphrase length of {metavar!s} characters',
741 741
         flags='python-brace-format',
742 742
     )
743 743
     DERIVEPASSPHRASE_VAULT_REPEAT_HELP_TEXT = _prepare_translatable(
... ...
@@ -745,8 +745,8 @@ class Label(enum.Enum):
745 745
         TRANSLATORS: The metavar is
746 746
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
747 747
         """,
748
-        msg='forbid any run of {metavar!s} identical characters',
749 748
         context='Label :: Help text :: One-line description',
749
+        msg='forbid any run of {metavar!s} identical characters',
750 750
         flags='python-brace-format',
751 751
     )
752 752
     DERIVEPASSPHRASE_VAULT_LOWER_HELP_TEXT = _prepare_translatable(
... ...
@@ -754,8 +754,8 @@ class Label(enum.Enum):
754 754
         TRANSLATORS: The metavar is
755 755
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
756 756
         """,
757
-        msg='ensure at least {metavar!s} lowercase characters',
758 757
         context='Label :: Help text :: One-line description',
758
+        msg='ensure at least {metavar!s} lowercase characters',
759 759
         flags='python-brace-format',
760 760
     )
761 761
     DERIVEPASSPHRASE_VAULT_UPPER_HELP_TEXT = _prepare_translatable(
... ...
@@ -763,8 +763,8 @@ class Label(enum.Enum):
763 763
         TRANSLATORS: The metavar is
764 764
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
765 765
         """,
766
-        msg='ensure at least {metavar!s} uppercase characters',
767 766
         context='Label :: Help text :: One-line description',
767
+        msg='ensure at least {metavar!s} uppercase characters',
768 768
         flags='python-brace-format',
769 769
     )
770 770
     DERIVEPASSPHRASE_VAULT_NUMBER_HELP_TEXT = _prepare_translatable(
... ...
@@ -772,8 +772,8 @@ class Label(enum.Enum):
772 772
         TRANSLATORS: The metavar is
773 773
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
774 774
         """,
775
-        msg='ensure at least {metavar!s} digits',
776 775
         context='Label :: Help text :: One-line description',
776
+        msg='ensure at least {metavar!s} digits',
777 777
         flags='python-brace-format',
778 778
     )
779 779
     DERIVEPASSPHRASE_VAULT_SPACE_HELP_TEXT = _prepare_translatable(
... ...
@@ -781,8 +781,8 @@ class Label(enum.Enum):
781 781
         TRANSLATORS: The metavar is
782 782
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
783 783
         """,
784
-        msg='ensure at least {metavar!s} spaces',
785 784
         context='Label :: Help text :: One-line description',
785
+        msg='ensure at least {metavar!s} spaces',
786 786
         flags='python-brace-format',
787 787
     )
788 788
     DERIVEPASSPHRASE_VAULT_DASH_HELP_TEXT = _prepare_translatable(
... ...
@@ -790,8 +790,8 @@ class Label(enum.Enum):
790 790
         TRANSLATORS: The metavar is
791 791
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
792 792
         """,
793
-        msg='ensure at least {metavar!s} "-" or "_" characters',
794 793
         context='Label :: Help text :: One-line description',
794
+        msg='ensure at least {metavar!s} "-" or "_" characters',
795 795
         flags='python-brace-format',
796 796
     )
797 797
     DERIVEPASSPHRASE_VAULT_SYMBOL_HELP_TEXT = _prepare_translatable(
... ...
@@ -799,46 +799,46 @@ class Label(enum.Enum):
799 799
         TRANSLATORS: The metavar is
800 800
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
801 801
         """,
802
-        msg='ensure at least {metavar!s} symbol characters',
803 802
         context='Label :: Help text :: One-line description',
803
+        msg='ensure at least {metavar!s} symbol characters',
804 804
         flags='python-brace-format',
805 805
     )
806 806
 
807 807
     DERIVEPASSPHRASE_VAULT_NOTES_HELP_TEXT = _prepare_translatable(
808
-        msg='spawn an editor to edit notes for {service_metavar!s}',
809 808
         comments='',
810 809
         context='Label :: Help text :: One-line description',
810
+        msg='spawn an editor to edit notes for {service_metavar!s}',
811 811
         flags='python-brace-format',
812 812
     )
813 813
     DERIVEPASSPHRASE_VAULT_CONFIG_HELP_TEXT = _prepare_translatable(
814
-        msg='save the given settings for {service_metavar!s}, or global',
815 814
         comments='',
816 815
         context='Label :: Help text :: One-line description',
816
+        msg='save the given settings for {service_metavar!s}, or global',
817 817
         flags='python-brace-format',
818 818
     )
819 819
     DERIVEPASSPHRASE_VAULT_DELETE_HELP_TEXT = _prepare_translatable(
820
-        msg='delete the settings for {service_metavar!s}',
821 820
         comments='',
822 821
         context='Label :: Help text :: One-line description',
822
+        msg='delete the settings for {service_metavar!s}',
823 823
         flags='python-brace-format',
824 824
     )
825 825
     DERIVEPASSPHRASE_VAULT_DELETE_GLOBALS_HELP_TEXT = _prepare_translatable(
826
-        msg='delete the global settings',
827 826
         comments='',
828 827
         context='Label :: Help text :: One-line description',
828
+        msg='delete the global settings',
829 829
     )
830 830
     DERIVEPASSPHRASE_VAULT_DELETE_ALL_HELP_TEXT = _prepare_translatable(
831
-        msg='delete all settings',
832 831
         comments='',
833 832
         context='Label :: Help text :: One-line description',
833
+        msg='delete all settings',
834 834
     )
835 835
     DERIVEPASSPHRASE_VAULT_EXPORT_HELP_TEXT = _prepare_translatable(
836 836
         comments="""
837 837
         TRANSLATORS: The metavar is
838 838
         Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.
839 839
         """,
840
-        msg='export all saved settings to {metavar!s}',
841 840
         context='Label :: Help text :: One-line description',
841
+        msg='export all saved settings to {metavar!s}',
842 842
         flags='python-brace-format',
843 843
     )
844 844
     DERIVEPASSPHRASE_VAULT_IMPORT_HELP_TEXT = _prepare_translatable(
... ...
@@ -846,8 +846,8 @@ class Label(enum.Enum):
846 846
         TRANSLATORS: The metavar is
847 847
         Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.
848 848
         """,
849
-        msg='import saved settings from {metavar!s}',
850 849
         context='Label :: Help text :: One-line description',
850
+        msg='import saved settings from {metavar!s}',
851 851
         flags='python-brace-format',
852 852
     )
853 853
     DERIVEPASSPHRASE_VAULT_OVERWRITE_HELP_TEXT = _prepare_translatable(
... ...
@@ -856,8 +856,8 @@ class Label(enum.Enum):
856 856
         "--overwrite-existing / --merge-existing", so you may want to
857 857
         hint that the default (merge) is the second of those options.
858 858
         """,
859
-        msg='overwrite or merge (default) the existing configuration',
860 859
         context='Label :: Help text :: One-line description',
860
+        msg='overwrite or merge (default) the existing configuration',
861 861
     )
862 862
     DERIVEPASSPHRASE_VAULT_UNSET_HELP_TEXT = _prepare_translatable(
863 863
         comments="""
... ...
@@ -867,11 +867,11 @@ class Label(enum.Enum):
867 867
         respectively.  "with --config" here means that the user must
868 868
         also specify "--config" for this option to have any effect.
869 869
         """,
870
+        context='Label :: Help text :: One-line description',
870 871
         msg="""
871 872
         with --config, also unsets the given setting; may be specified
872 873
         multiple times
873 874
         """,
874
-        context='Label :: Help text :: One-line description',
875 875
     )
876 876
     DERIVEPASSPHRASE_VAULT_EXPORT_AS_HELP_TEXT = _prepare_translatable(
877 877
         comments="""
... ...
@@ -879,67 +879,67 @@ class Label(enum.Enum):
879 879
         "--export-as=json|sh", so json refers to the JSON format
880 880
         (default) and sh refers to the POSIX sh format.
881 881
         """,
882
-        msg='when exporting, export as JSON (default) or POSIX sh',
883 882
         context='Label :: Help text :: One-line description',
883
+        msg='when exporting, export as JSON (default) or POSIX sh',
884 884
     )
885 885
 
886 886
     EXPORT_VAULT_FORMAT_METAVAR_FMT = _prepare_translatable(
887
-        msg='FMT',
888 887
         comments='',
889 888
         context='Label :: Help text :: Metavar :: export vault',
889
+        msg='FMT',
890 890
     )
891 891
     EXPORT_VAULT_KEY_METAVAR_K = _prepare_translatable(
892 892
         comments=r"""
893 893
         TRANSLATORS: See Label.EXPORT_VAULT_KEY_HELP_TEXT.
894 894
         """,
895
-        msg='K',
896 895
         context='Label :: Help text :: Metavar :: export vault',
896
+        msg='K',
897 897
     )
898 898
     EXPORT_VAULT_METAVAR_PATH = _prepare_translatable(
899 899
         comments=r"""
900 900
         TRANSLATORS: Used as "path_metavar" in
901 901
         Label.DERIVEPASSPHRASE_EXPORT_VAULT_02 and others.
902 902
         """,
903
-        msg='PATH',
904 903
         context='Label :: Help text :: Metavar :: export vault',
904
+        msg='PATH',
905 905
     )
906 906
     PASSPHRASE_GENERATION_METAVAR_NUMBER = _prepare_translatable(
907 907
         comments=r"""
908 908
         TRANSLATORS: This metavar is also used in a matching epilog.
909 909
         """,
910
-        msg='NUMBER',
911 910
         context='Label :: Help text :: Metavar :: vault',
911
+        msg='NUMBER',
912 912
     )
913 913
     STORAGE_MANAGEMENT_METAVAR_PATH = _prepare_translatable(
914 914
         comments=r"""
915 915
         TRANSLATORS: This metavar is also used in multiple one-line help
916 916
         texts.
917 917
         """,
918
-        msg='PATH',
919 918
         context='Label :: Help text :: Metavar :: vault',
919
+        msg='PATH',
920 920
     )
921 921
     VAULT_METAVAR_SERVICE = _prepare_translatable(
922 922
         comments=r"""
923 923
         TRANSLATORS: This metavar is also used in multiple one-line help
924 924
         texts, as "service_metavar".
925 925
         """,
926
-        msg='SERVICE',
927 926
         context='Label :: Help text :: Metavar :: vault',
927
+        msg='SERVICE',
928 928
     )
929 929
     CONFIGURATION_EPILOG = _prepare_translatable(
930
-        'Use $VISUAL or $EDITOR to configure the spawned editor.',
931 930
         comments='',
932 931
         context='Label :: Help text :: Explanation',
932
+        msg='Use $VISUAL or $EDITOR to configure the spawned editor.',
933 933
     )
934 934
     PASSPHRASE_GENERATION_EPILOG = _prepare_translatable(
935 935
         comments=r"""
936 936
         TRANSLATORS: The metavar is
937 937
         Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.
938 938
         """,
939
+        context='Label :: Help text :: Explanation',
939 940
         msg=r"""
940 941
         Use {metavar!s}=0 to exclude a character type from the output.
941 942
         """,
942
-        context='Label :: Help text :: Explanation',
943 943
         flags='python-brace-format',
944 944
     )
945 945
     STORAGE_MANAGEMENT_EPILOG = _prepare_translatable(
... ...
@@ -947,42 +947,52 @@ class Label(enum.Enum):
947 947
         TRANSLATORS: The metavar is
948 948
         Label.STORAGE_MANAGEMENT_METAVAR_PATH.
949 949
         """,
950
+        context='Label :: Help text :: Explanation',
950 951
         msg=r"""
951 952
         Using "-" as {metavar!s} for standard input/standard output
952 953
         is supported.
953 954
         """,
954
-        context='Label :: Help text :: Explanation',
955 955
         flags='python-brace-format',
956 956
     )
957 957
     COMMANDS_LABEL = _prepare_translatable(
958
-        'Commands', comments='', context='Label :: Help text :: Option group name'
958
+        comments='',
959
+        context='Label :: Help text :: Option group name',
960
+        msg='Commands',
959 961
     )
960 962
     COMPATIBILITY_OPTION_LABEL = _prepare_translatable(
961
-        'Compatibility and extension options',
962 963
         comments='',
963 964
         context='Label :: Help text :: Option group name',
965
+        msg='Compatibility and extension options',
964 966
     )
965 967
     CONFIGURATION_LABEL = _prepare_translatable(
966
-        'Configuration', comments='', context='Label :: Help text :: Option group name'
968
+        comments='',
969
+        context='Label :: Help text :: Option group name',
970
+        msg='Configuration',
967 971
     )
968 972
     LOGGING_LABEL = _prepare_translatable(
969
-        'Logging', comments='', context='Label :: Help text :: Option group name'
973
+        comments='',
974
+        context='Label :: Help text :: Option group name',
975
+        msg='Logging',
970 976
     )
971 977
     OPTIONS_LABEL = _prepare_translatable(
972
-        'Options', comments='', context='Label :: Help text :: Option group name'
978
+        comments='',
979
+        context='Label :: Help text :: Option group name',
980
+        msg='Options',
973 981
     )
974 982
     OTHER_OPTIONS_LABEL = _prepare_translatable(
975
-        'Other options', comments='', context='Label :: Help text :: Option group name'
983
+        comments='',
984
+        context='Label :: Help text :: Option group name',
985
+        msg='Other options',
976 986
     )
977 987
     PASSPHRASE_GENERATION_LABEL = _prepare_translatable(
978
-        'Passphrase generation',
979 988
         comments='',
980 989
         context='Label :: Help text :: Option group name',
990
+        msg='Passphrase generation',
981 991
     )
982 992
     STORAGE_MANAGEMENT_LABEL = _prepare_translatable(
983
-        'Storage management',
984 993
         comments='',
985 994
         context='Label :: Help text :: Option group name',
995
+        msg='Storage management',
986 996
     )
987 997
     VERSION_INFO_TEXT = _prepare_translatable(
988 998
         msg=r"""
... ...
@@ -999,21 +1009,21 @@ class Label(enum.Enum):
999 1009
         makes it clear that only the strings "y", "yes", "n" or "no" are
1000 1010
         supported, even if the prompt becomes a bit longer.
1001 1011
         """,
1002
-        msg='Confirm this choice? (y/N)',
1003 1012
         context='Label :: Interactive prompt',
1013
+        msg='Confirm this choice? (y/N)',
1004 1014
     )
1005 1015
     SUITABLE_SSH_KEYS_LABEL = _prepare_translatable(
1006 1016
         comments=r"""
1007 1017
         TRANSLATORS: This label is the heading of the list of suitable
1008 1018
         SSH keys.
1009 1019
         """,
1010
-        msg='Suitable SSH keys:',
1011 1020
         context='Label :: Interactive prompt',
1021
+        msg='Suitable SSH keys:',
1012 1022
     )
1013 1023
     YOUR_SELECTION_PROMPT_TEXT = _prepare_translatable(
1014
-        'Your selection? (1-{n}, leave empty to abort)',
1015 1024
         comments='',
1016 1025
         context='Label :: Interactive prompt',
1026
+        msg='Your selection? (1-{n}, leave empty to abort)',
1017 1027
         flags='python-brace-format',
1018 1028
     )
1019 1029
 
... ...
@@ -1028,8 +1038,8 @@ class DebugMsgTemplate(enum.Enum):
1028 1038
         after decrypting the whole bucket.  (We ensure the path and
1029 1039
         value are printable as-is.)
1030 1040
         """,
1031
-        msg='Found bucket item: {path} -> {value}',
1032 1041
         context='Debug message',
1042
+        msg='Found bucket item: {path} -> {value}',
1033 1043
         flags='python-brace-format',
1034 1044
     )
1035 1045
     DECRYPT_BUCKET_ITEM_INFO = _prepare_translatable(
... ...
@@ -1039,6 +1049,7 @@ class DebugMsgTemplate(enum.Enum):
1039 1049
         "initialization vector", and is specifically a cryptographic
1040 1050
         term, as are "plaintext" and "ciphertext".
1041 1051
         """,
1052
+        context='Debug message',
1042 1053
         msg="""
1043 1054
         Decrypt bucket item contents:
1044 1055
 
... ...
@@ -1049,10 +1060,11 @@ class DebugMsgTemplate(enum.Enum):
1049 1060
           Encrypted ciphertext: {ciphertext}
1050 1061
           Plaintext: {plaintext}
1051 1062
         """,
1052
-        context='Debug message',
1053 1063
         flags='python-brace-format',
1054 1064
     )
1055 1065
     DECRYPT_BUCKET_ITEM_KEY_INFO = _prepare_translatable(
1066
+        comments='',
1067
+        context='Debug message',
1056 1068
         msg="""
1057 1069
         Decrypt bucket item:
1058 1070
 
... ...
@@ -1061,8 +1073,6 @@ class DebugMsgTemplate(enum.Enum):
1061 1073
           Encryption key (master key): {enc_key}
1062 1074
           Signing key (master key): {sign_key}
1063 1075
         """,
1064
-        comments='',
1065
-        context='Debug message',
1066 1076
         flags='python-brace-format',
1067 1077
     )
1068 1078
     DECRYPT_BUCKET_ITEM_MAC_INFO = _prepare_translatable(
... ...
@@ -1075,6 +1085,7 @@ class DebugMsgTemplate(enum.Enum):
1075 1085
         asking for debug output, after all.  Please use your judgement
1076 1086
         as to whether to translate this term or not, expanded or not.
1077 1087
         """,
1088
+        context='Debug message',
1078 1089
         msg="""
1079 1090
         Decrypt bucket item contents:
1080 1091
 
... ...
@@ -1084,7 +1095,6 @@ class DebugMsgTemplate(enum.Enum):
1084 1095
           Claimed MAC value: {claimed_mac}
1085 1096
           Computed MAC value: {actual_mac}
1086 1097
         """,
1087
-        context='Debug message',
1088 1098
         flags='python-brace-format',
1089 1099
     )
1090 1100
     DECRYPT_BUCKET_ITEM_SESSION_KEYS_INFO = _prepare_translatable(
... ...
@@ -1094,6 +1104,7 @@ class DebugMsgTemplate(enum.Enum):
1094 1104
         "initialization vector", and is specifically a cryptographic
1095 1105
         term, as are "plaintext" and "ciphertext".
1096 1106
         """,
1107
+        context='Debug message',
1097 1108
         msg="""
1098 1109
         Decrypt bucket item session keys:
1099 1110
 
... ...
@@ -1105,7 +1116,6 @@ class DebugMsgTemplate(enum.Enum):
1105 1116
           Plaintext: {plaintext}
1106 1117
           Parsed plaintext: {code}
1107 1118
         """,
1108
-        context='Debug message',
1109 1119
         flags='python-brace-format',
1110 1120
     )
1111 1121
     DECRYPT_BUCKET_ITEM_SESSION_KEYS_MAC_INFO = _prepare_translatable(
... ...
@@ -1118,6 +1128,7 @@ class DebugMsgTemplate(enum.Enum):
1118 1128
         asking for debug output, after all.  Please use your judgement
1119 1129
         as to whether to translate this term or not, expanded or not.
1120 1130
         """,
1131
+        context='Debug message',
1121 1132
         msg="""
1122 1133
         Decrypt bucket item session keys:
1123 1134
 
... ...
@@ -1127,10 +1138,11 @@ class DebugMsgTemplate(enum.Enum):
1127 1138
           Claimed MAC value: {claimed_mac}
1128 1139
           Computed MAC value: {actual_mac}
1129 1140
         """,
1130
-        context='Debug message',
1131 1141
         flags='python-brace-format',
1132 1142
     )
1133 1143
     DERIVED_MASTER_KEYS_KEYS = _prepare_translatable(
1144
+        comments='',
1145
+        context='Debug message',
1134 1146
         msg="""
1135 1147
         Derived master keys' keys:
1136 1148
 
... ...
@@ -1141,8 +1153,6 @@ class DebugMsgTemplate(enum.Enum):
1141 1153
           Function call: pbkdf2(algorithm={algorithm!r}, length={length!r}, salt={salt!r}, iterations={iterations!r})
1142 1154
 
1143 1155
         """,  # noqa: E501
1144
-        comments='',
1145
-        context='Debug message',
1146 1156
         flags='python-brace-format',
1147 1157
     )
1148 1158
     DIRECTORY_CONTENTS_CHECK_OK = _prepare_translatable(
... ...
@@ -1156,8 +1166,8 @@ class DebugMsgTemplate(enum.Enum):
1156 1166
         actually confirm the claim.  (We would have already thrown an
1157 1167
         error here otherwise.)
1158 1168
         """,
1159
-        msg='Directory contents check OK: {path} -> {contents}',
1160 1169
         context='Debug message',
1170
+        msg='Directory contents check OK: {path} -> {contents}',
1161 1171
         flags='python-brace-format',
1162 1172
     )
1163 1173
     MASTER_KEYS_DATA_MAC_INFO = _prepare_translatable(
... ...
@@ -1170,6 +1180,7 @@ class DebugMsgTemplate(enum.Enum):
1170 1180
         asking for debug output, after all.  Please use your judgement
1171 1181
         as to whether to translate this term or not, expanded or not.
1172 1182
         """,
1183
+        context='Debug message',
1173 1184
         msg="""
1174 1185
         Master keys data:
1175 1186
 
... ...
@@ -1179,7 +1190,6 @@ class DebugMsgTemplate(enum.Enum):
1179 1190
           Claimed MAC value: {claimed_mac}
1180 1191
           Computed MAC value: {actual_mac}
1181 1192
         """,
1182
-        context='Debug message',
1183 1193
         flags='python-brace-format',
1184 1194
     )
1185 1195
     POSTPONING_DIRECTORY_CONTENTS_CHECK = _prepare_translatable(
... ...
@@ -1193,8 +1203,8 @@ class DebugMsgTemplate(enum.Enum):
1193 1203
         message, we merely indicate that we saved the "claimed" list for
1194 1204
         this directory for later.
1195 1205
         """,
1196
-        msg='Postponing directory contents check: {path} -> {contents}',
1197 1206
         context='Debug message',
1207
+        msg='Postponing directory contents check: {path} -> {contents}',
1198 1208
         flags='python-brace-format',
1199 1209
     )
1200 1210
     SETTING_CONFIG_STRUCTURE_CONTENTS = _prepare_translatable(
... ...
@@ -1205,8 +1215,8 @@ class DebugMsgTemplate(enum.Enum):
1205 1215
         the item's "path".  We confirm that we set the entry at the
1206 1216
         given path to the given value.
1207 1217
         """,
1208
-        msg='Setting contents: {path} -> {value}',
1209 1218
         context='Debug message',
1219
+        msg='Setting contents: {path} -> {value}',
1210 1220
         flags='python-brace-format',
1211 1221
     )
1212 1222
     SETTING_CONFIG_STRUCTURE_CONTENTS_EMPTY_DIRECTORY = _prepare_translatable(
... ...
@@ -1217,8 +1227,8 @@ class DebugMsgTemplate(enum.Enum):
1217 1227
         the item's "path".  We confirm that we set up a currently empty
1218 1228
         directory at the given path.
1219 1229
         """,
1220
-        msg='Setting contents (empty directory): {path}',
1221 1230
         context='Debug message',
1231
+        msg='Setting contents (empty directory): {path}',
1222 1232
         flags='python-brace-format',
1223 1233
     )
1224 1234
     VAULT_NATIVE_EVP_BYTESTOKEY_INIT = _prepare_translatable(
... ...
@@ -1229,6 +1239,7 @@ class DebugMsgTemplate(enum.Enum):
1229 1239
         OpenSSL must be reimplemented from scratch.  The terms "salt"
1230 1240
         and "IV" (initialization vector) are cryptographic terms.
1231 1241
         """,
1242
+        context='Debug message',
1232 1243
         msg="""
1233 1244
         evp_bytestokey_md5 (initialization):
1234 1245
 
... ...
@@ -1240,7 +1251,6 @@ class DebugMsgTemplate(enum.Enum):
1240 1251
           Buffer length: {buffer_length}
1241 1252
           Buffer: {buffer}
1242 1253
         """,
1243
-        context='Debug message',
1244 1254
         flags='python-brace-format',
1245 1255
     )
1246 1256
     VAULT_NATIVE_EVP_BYTESTOKEY_RESULT = _prepare_translatable(
... ...
@@ -1253,6 +1263,7 @@ class DebugMsgTemplate(enum.Enum):
1253 1263
         This function reports on the updated buffer length and contents
1254 1264
         after executing one round of hashing.
1255 1265
         """,
1266
+        context='Debug message',
1256 1267
         msg="""
1257 1268
         evp_bytestokey_md5 (result):
1258 1269
 
... ...
@@ -1260,7 +1271,6 @@ class DebugMsgTemplate(enum.Enum):
1260 1271
           Encryption key: {enc_key}
1261 1272
           IV: {iv}
1262 1273
         """,
1263
-        context='Debug message',
1264 1274
         flags='python-brace-format',
1265 1275
     )
1266 1276
     VAULT_NATIVE_EVP_BYTESTOKEY_ROUND = _prepare_translatable(
... ...
@@ -1273,6 +1283,7 @@ class DebugMsgTemplate(enum.Enum):
1273 1283
         This function reports on the updated buffer length and contents
1274 1284
         after executing one round of hashing.
1275 1285
         """,
1286
+        context='Debug message',
1276 1287
         msg="""
1277 1288
         evp_bytestokey_md5 (round update):
1278 1289
 
... ...
@@ -1280,7 +1291,6 @@ class DebugMsgTemplate(enum.Enum):
1280 1291
           Buffer length: {buffer_length}
1281 1292
           Buffer: {buffer}
1282 1293
         """,
1283
-        context='Debug message',
1284 1294
         flags='python-brace-format',
1285 1295
     )
1286 1296
     VAULT_NATIVE_CHECKING_MAC_DETAILS = _prepare_translatable(
... ...
@@ -1291,6 +1301,7 @@ class DebugMsgTemplate(enum.Enum):
1291 1301
         commentary there concerning the terms and thoughts on
1292 1302
         translating them.
1293 1303
         """,
1304
+        context='Debug message',
1294 1305
         msg="""
1295 1306
         MAC details:
1296 1307
 
... ...
@@ -1298,7 +1309,6 @@ class DebugMsgTemplate(enum.Enum):
1298 1309
           MAC input: {mac_input}
1299 1310
           Expected MAC: {mac}
1300 1311
         """,
1301
-        context='Debug message',
1302 1312
         flags='python-brace-format',
1303 1313
     )
1304 1314
     VAULT_NATIVE_PADDED_PLAINTEXT = _prepare_translatable(
... ...
@@ -1307,8 +1317,8 @@ class DebugMsgTemplate(enum.Enum):
1307 1317
         exporter for "native"-type configuration directories.  "padding"
1308 1318
         and "plaintext" are cryptographic terms.
1309 1319
         """,
1310
-        msg='Padded plaintext: {contents}',
1311 1320
         context='Debug message',
1321
+        msg='Padded plaintext: {contents}',
1312 1322
         flags='python-brace-format',
1313 1323
     )
1314 1324
     VAULT_NATIVE_PARSE_BUFFER = _prepare_translatable(
... ...
@@ -1319,6 +1329,7 @@ class DebugMsgTemplate(enum.Enum):
1319 1329
         commentary there concerning the terms and thoughts on
1320 1330
         translating them.
1321 1331
         """,
1332
+        context='Debug message',
1322 1333
         msg="""
1323 1334
         Buffer: {contents}
1324 1335
 
... ...
@@ -1327,7 +1338,6 @@ class DebugMsgTemplate(enum.Enum):
1327 1338
           Payload: {payload}
1328 1339
           MAC: {mac}
1329 1340
         """,
1330
-        context='Debug message',
1331 1341
         flags='python-brace-format',
1332 1342
     )
1333 1343
     VAULT_NATIVE_PLAINTEXT = _prepare_translatable(
... ...
@@ -1336,11 +1346,13 @@ class DebugMsgTemplate(enum.Enum):
1336 1346
         exporter for "native"-type configuration directories.
1337 1347
         "plaintext" is a cryptographic term.
1338 1348
         """,
1339
-        msg='Plaintext: {contents}',
1340 1349
         context='Debug message',
1350
+        msg='Plaintext: {contents}',
1341 1351
         flags='python-brace-format',
1342 1352
     )
1343 1353
     VAULT_NATIVE_PBKDF2_CALL = _prepare_translatable(
1354
+        comments='',
1355
+        context='Debug message',
1344 1356
         msg="""
1345 1357
         Master key derivation:
1346 1358
 
... ...
@@ -1349,8 +1361,6 @@ class DebugMsgTemplate(enum.Enum):
1349 1361
           Result (binary): {raw_result}
1350 1362
           Result (hex key): {result_key!r}
1351 1363
         """,  # noqa: E501
1352
-        comments='',
1353
-        context='Debug message',
1354 1364
         flags='python-brace-format',
1355 1365
     )
1356 1366
     VAULT_NATIVE_V02_PAYLOAD_MAC_POSTPROCESSING = _prepare_translatable(
... ...
@@ -1385,8 +1395,8 @@ class InfoMsgTemplate(enum.Enum):
1385 1395
         existing directory tree to rely on, but rather must build it
1386 1396
         on-the-fly), hence the term "assembling".
1387 1397
         """,
1388
-        msg='Assembling config structure',
1389 1398
         context='Info message',
1399
+        msg='Assembling config structure',
1390 1400
     )
1391 1401
     CANNOT_LOAD_AS_VAULT_CONFIG = _prepare_translatable(
1392 1402
         comments=r"""
... ...
@@ -1394,8 +1404,8 @@ class InfoMsgTemplate(enum.Enum):
1394 1404
         indicating the format which we tried to load the vault
1395 1405
         configuration as.
1396 1406
         """,
1397
-        msg='Cannot load {path!r} as a {fmt!s} vault configuration.',
1398 1407
         context='Info message',
1408
+        msg='Cannot load {path!r} as a {fmt!s} vault configuration.',
1399 1409
         flags='python-brace-format',
1400 1410
     )
1401 1411
     CHECKING_CONFIG_STRUCTURE_CONSISTENCY = _prepare_translatable(
... ...
@@ -1406,8 +1416,8 @@ class InfoMsgTemplate(enum.Enum):
1406 1416
         paths and contents, we then check if the assembled structure is
1407 1417
         internally consistent.
1408 1418
         """,
1409
-        msg='Checking config structure consistency',
1410 1419
         context='Info message',
1420
+        msg='Checking config structure consistency',
1411 1421
     )
1412 1422
     DECRYPTING_BUCKET = _prepare_translatable(
1413 1423
         comments=r"""
... ...
@@ -1418,8 +1428,8 @@ class InfoMsgTemplate(enum.Enum):
1418 1428
         numbered in hexadecimal, and typically there are 32 buckets, so
1419 1429
         2-digit hex numbers.
1420 1430
         """,
1421
-        msg='Decrypting bucket {bucket_number}',
1422 1431
         context='Info message',
1432
+        msg='Decrypting bucket {bucket_number}',
1423 1433
         flags='python-brace-format',
1424 1434
     )
1425 1435
     PARSING_MASTER_KEYS_DATA = _prepare_translatable(
... ...
@@ -1429,8 +1439,8 @@ class InfoMsgTemplate(enum.Enum):
1429 1439
         `.keys` is a filename, from which data about the master keys for
1430 1440
         this configuration are loaded.
1431 1441
         """,
1432
-        msg='Parsing master keys data from .keys',
1433 1442
         context='Info message',
1443
+        msg='Parsing master keys data from .keys',
1434 1444
     )
1435 1445
     PIP_INSTALL_EXTRA = _prepare_translatable(
1436 1446
         comments=r"""
... ...
@@ -1442,8 +1452,8 @@ class InfoMsgTemplate(enum.Enum):
1442 1452
         would then let the installer take care of the missing libraries
1443 1453
         automatically, hence this suggestion to PyPI users.
1444 1454
         """,
1445
-        msg='(For users installing from PyPI, see the {extra_name!r} extra.)',
1446 1455
         context='Info message',
1456
+        msg='(For users installing from PyPI, see the {extra_name!r} extra.)',
1447 1457
         flags='python-brace-format',
1448 1458
     )
1449 1459
     SUCCESSFULLY_MIGRATED = _prepare_translatable(
... ...
@@ -1451,24 +1461,24 @@ class InfoMsgTemplate(enum.Enum):
1451 1461
         TRANSLATORS: This info message immediately follows the "Using
1452 1462
         deprecated v0.1-style ..." deprecation warning.
1453 1463
         """,
1454
-        msg='Successfully migrated to {path!r}.',
1455 1464
         context='Info message',
1465
+        msg='Successfully migrated to {path!r}.',
1456 1466
         flags='python-brace-format',
1457 1467
     )
1458 1468
     VAULT_NATIVE_CHECKING_MAC = _prepare_translatable(
1459
-        msg='Checking MAC',
1460 1469
         comments='',
1461 1470
         context='Info message',
1471
+        msg='Checking MAC',
1462 1472
     )
1463 1473
     VAULT_NATIVE_DECRYPTING_CONTENTS = _prepare_translatable(
1464
-        msg='Decrypting contents',
1465 1474
         comments='',
1466 1475
         context='Info message',
1476
+        msg='Decrypting contents',
1467 1477
     )
1468 1478
     VAULT_NATIVE_DERIVING_KEYS = _prepare_translatable(
1469
-        msg='Deriving an encryption and signing key',
1470 1479
         comments='',
1471 1480
         context='Info message',
1481
+        msg='Deriving an encryption and signing key',
1472 1482
     )
1473 1483
     VAULT_NATIVE_PARSING_IV_PAYLOAD_MAC = _prepare_translatable(
1474 1484
         comments=r"""
... ...
@@ -1482,31 +1492,31 @@ class InfoMsgTemplate(enum.Enum):
1482 1492
         all.  Please use your judgement as to whether to translate this
1483 1493
         term or not, expanded or not.
1484 1494
         """,
1485
-        msg='Parsing IV, payload and MAC from the file contents',
1486 1495
         context='Info message',
1496
+        msg='Parsing IV, payload and MAC from the file contents',
1487 1497
     )
1488 1498
 
1489 1499
 
1490 1500
 class WarnMsgTemplate(enum.Enum):
1491 1501
     EMPTY_SERVICE_NOT_SUPPORTED = _prepare_translatable(
1492 1502
         comments='',
1503
+        context='Warning message',
1493 1504
         msg="""
1494 1505
         An empty {service_metavar!s} is not supported by vault(1).
1495 1506
         For compatibility, this will be treated as if SERVICE was not
1496 1507
         supplied, i.e., it will error out, or operate on global settings.
1497 1508
         """,
1498
-        context='Warning message',
1499 1509
         flags='python-brace-format',
1500 1510
     )
1501 1511
     EMPTY_SERVICE_SETTINGS_INACCESSIBLE = _prepare_translatable(
1512
+        comments='',
1513
+        context='Warning message',
1502 1514
         msg="""
1503 1515
         An empty {service_metavar!s} is not supported by vault(1).
1504 1516
         The empty-string service settings will be inaccessible and
1505 1517
         ineffective.  To ensure that vault(1) and {PROG_NAME!s} see the
1506 1518
         settings, move them into the "global" section.
1507 1519
         """,
1508
-        comments='',
1509
-        context='Warning message',
1510 1520
         flags='python-brace-format',
1511 1521
     )
1512 1522
     FAILED_TO_MIGRATE_CONFIG = _prepare_translatable(
... ...
@@ -1514,17 +1524,17 @@ class WarnMsgTemplate(enum.Enum):
1514 1524
         TRANSLATORS: "error" is supplied by the operating system
1515 1525
         (errno/strerror).
1516 1526
         """,
1517
-        msg='Failed to migrate to {path!r}: {error!s}: {filename!r}.',
1518 1527
         context='Warning message',
1528
+        msg='Failed to migrate to {path!r}: {error!s}: {filename!r}.',
1519 1529
         flags='python-brace-format',
1520 1530
     )
1521 1531
     GLOBAL_PASSPHRASE_INEFFECTIVE = _prepare_translatable(
1532
+        comments='',
1533
+        context='Warning message',
1522 1534
         msg=r"""
1523 1535
         Setting a global passphrase is ineffective
1524 1536
         because a key is also set.
1525 1537
         """,
1526
-        comments='',
1527
-        context='Warning message',
1528 1538
     )
1529 1539
     PASSPHRASE_NOT_NORMALIZED = _prepare_translatable(
1530 1540
         comments=r"""
... ...
@@ -1539,16 +1549,18 @@ class WarnMsgTemplate(enum.Enum):
1539 1549
         any other appropriate way to mark up emphasis of the word
1540 1550
         "displays".
1541 1551
         """,
1552
+        context='Warning message',
1542 1553
         msg=r"""
1543 1554
         The {key!s} passphrase is not {form!s}-normalized.  Its
1544 1555
         serialization as a byte string may not be what you expect it to
1545 1556
         be, even if it *displays* correctly.  Please make sure to
1546 1557
         double-check any derived passphrases for unexpected results.
1547 1558
         """,
1548
-        context='Warning message',
1549 1559
         flags='python-brace-format',
1550 1560
     )
1551 1561
     SERVICE_NAME_INCOMPLETABLE = _prepare_translatable(
1562
+        comments='',
1563
+        context='Warning message',
1552 1564
         msg="""
1553 1565
         The service name {service!r} contains an ASCII control
1554 1566
         character, which is not supported by our shell completion code.
... ...
@@ -1557,8 +1569,6 @@ class WarnMsgTemplate(enum.Enum):
1557 1569
         manually in whatever format your shell accepts, but we highly
1558 1570
         recommend choosing a different service name instead.
1559 1571
         """,
1560
-        comments='',
1561
-        context='Warning message',
1562 1572
         flags='python-brace-format',
1563 1573
     )
1564 1574
     SERVICE_PASSPHRASE_INEFFECTIVE = _prepare_translatable(
... ...
@@ -1566,33 +1576,33 @@ class WarnMsgTemplate(enum.Enum):
1566 1576
         TRANSLATORS: The key that is set need not necessarily be set at
1567 1577
         the service level; it may be a global key as well.
1568 1578
         """,
1579
+        context='Warning message',
1569 1580
         msg=r"""
1570 1581
         Setting a service passphrase is ineffective because a key is
1571 1582
         also set: {service!s}.
1572 1583
         """,
1573
-        context='Warning message',
1574 1584
         flags='python-brace-format',
1575 1585
     )
1576 1586
     STEP_REMOVE_INEFFECTIVE_VALUE = _prepare_translatable(
1577
-        'Removing ineffective setting {path!s} = {old!s}.',
1578 1587
         comments='',
1579 1588
         context='Warning message',
1589
+        msg='Removing ineffective setting {path!s} = {old!s}.',
1580 1590
         flags='python-brace-format',
1581 1591
     )
1582 1592
     STEP_REPLACE_INVALID_VALUE = _prepare_translatable(
1583
-        'Replacing invalid value {old!s} for key {path!s} with {new!s}.',
1584 1593
         comments='',
1585 1594
         context='Warning message',
1595
+        msg='Replacing invalid value {old!s} for key {path!s} with {new!s}.',
1586 1596
         flags='python-brace-format',
1587 1597
     )
1588 1598
     V01_STYLE_CONFIG = _prepare_translatable(
1599
+        comments='',
1600
+        context='Warning message :: Deprecation',
1589 1601
         msg=r"""
1590 1602
         Using deprecated v0.1-style config file {old!r}, instead of
1591 1603
         v0.2-style {new!r}.  Support for v0.1-style config filenames
1592 1604
         will be removed in v1.0.
1593 1605
         """,
1594
-        comments='',
1595
-        context='Warning message :: Deprecation',
1596 1606
         flags='python-brace-format',
1597 1607
     )
1598 1608
     V10_SUBCOMMAND_REQUIRED = _prepare_translatable(
... ...
@@ -1602,11 +1612,11 @@ class WarnMsgTemplate(enum.Enum):
1602 1612
         sub-subcommands, or sub-sub-subcommands, etc., which is what the
1603 1613
         "here" is supposed to indicate.
1604 1614
         """,
1615
+        context='Warning message :: Deprecation',
1605 1616
         msg="""
1606 1617
         A subcommand will be required here in v1.0.  See --help for
1607 1618
         available subcommands.  Defaulting to subcommand "vault".
1608 1619
         """,
1609
-        context='Warning message :: Deprecation',
1610 1620
     )
1611 1621
 
1612 1622
 
... ...
@@ -1615,10 +1625,10 @@ class ErrMsgTemplate(enum.Enum):
1615 1625
         comments=r"""
1616 1626
         TRANSLATORS: "loaded keys" being keys loaded into the agent.
1617 1627
         """,
1628
+        context='Error message',
1618 1629
         msg="""
1619 1630
         The SSH agent failed to or refused to supply a list of loaded keys.
1620 1631
         """,
1621
-        context='Error message',
1622 1632
     )
1623 1633
     AGENT_REFUSED_SIGNATURE = _prepare_translatable(
1624 1634
         comments=r"""
... ...
@@ -1626,19 +1636,19 @@ class ErrMsgTemplate(enum.Enum):
1626 1636
         there's no space to explain that here, so ideally the error
1627 1637
         message does not go into detail.
1628 1638
         """,
1639
+        context='Error message',
1629 1640
         msg="""
1630 1641
         The SSH agent failed to or refused to issue a signature with the
1631 1642
         selected key, necessary for deriving a service passphrase.
1632 1643
         """,
1633
-        context='Error message',
1634 1644
     )
1635 1645
     CANNOT_CONNECT_TO_AGENT = _prepare_translatable(
1636 1646
         comments=r"""
1637 1647
         TRANSLATORS: "error" is supplied by the operating system
1638 1648
         (errno/strerror).
1639 1649
         """,
1640
-        msg='Cannot connect to the SSH agent: {error!s}: {filename!r}.',
1641 1650
         context='Error message',
1651
+        msg='Cannot connect to the SSH agent: {error!s}: {filename!r}.',
1642 1652
         flags='python-brace-format',
1643 1653
     )
1644 1654
     CANNOT_DECODEIMPORT_VAULT_SETTINGS = _prepare_translatable(
... ...
@@ -1646,8 +1656,8 @@ class ErrMsgTemplate(enum.Enum):
1646 1656
         TRANSLATORS: "error" is supplied by the operating system
1647 1657
         (errno/strerror).
1648 1658
         """,
1649
-        msg='Cannot import vault settings: cannot decode JSON: {error!s}.',
1650 1659
         context='Error message',
1660
+        msg='Cannot import vault settings: cannot decode JSON: {error!s}.',
1651 1661
         flags='python-brace-format',
1652 1662
     )
1653 1663
     CANNOT_EXPORT_VAULT_SETTINGS = _prepare_translatable(
... ...
@@ -1655,8 +1665,8 @@ class ErrMsgTemplate(enum.Enum):
1655 1665
         TRANSLATORS: "error" is supplied by the operating system
1656 1666
         (errno/strerror).
1657 1667
         """,
1658
-        msg='Cannot export vault settings: {error!s}: {filename!r}.',
1659 1668
         context='Error message',
1669
+        msg='Cannot export vault settings: {error!s}: {filename!r}.',
1660 1670
         flags='python-brace-format',
1661 1671
     )
1662 1672
     CANNOT_IMPORT_VAULT_SETTINGS = _prepare_translatable(
... ...
@@ -1664,8 +1674,8 @@ class ErrMsgTemplate(enum.Enum):
1664 1674
         TRANSLATORS: "error" is supplied by the operating system
1665 1675
         (errno/strerror).
1666 1676
         """,
1667
-        msg='Cannot import vault settings: {error!s}: {filename!r}.',
1668 1677
         context='Error message',
1678
+        msg='Cannot import vault settings: {error!s}: {filename!r}.',
1669 1679
         flags='python-brace-format',
1670 1680
     )
1671 1681
     CANNOT_LOAD_USER_CONFIG = _prepare_translatable(
... ...
@@ -1673,8 +1683,8 @@ class ErrMsgTemplate(enum.Enum):
1673 1683
         TRANSLATORS: "error" is supplied by the operating system
1674 1684
         (errno/strerror).
1675 1685
         """,
1676
-        msg='Cannot load user config: {error!s}: {filename!r}.',
1677 1686
         context='Error message',
1687
+        msg='Cannot load user config: {error!s}: {filename!r}.',
1678 1688
         flags='python-brace-format',
1679 1689
     )
1680 1690
     CANNOT_LOAD_VAULT_SETTINGS = _prepare_translatable(
... ...
@@ -1682,8 +1692,8 @@ class ErrMsgTemplate(enum.Enum):
1682 1692
         TRANSLATORS: "error" is supplied by the operating system
1683 1693
         (errno/strerror).
1684 1694
         """,
1685
-        msg='Cannot load vault settings: {error!s}: {filename!r}.',
1686 1695
         context='Error message',
1696
+        msg='Cannot load vault settings: {error!s}: {filename!r}.',
1687 1697
         flags='python-brace-format',
1688 1698
     )
1689 1699
     CANNOT_PARSE_AS_VAULT_CONFIG = _prepare_translatable(
... ...
@@ -1695,11 +1705,11 @@ class ErrMsgTemplate(enum.Enum):
1695 1705
         warning message potentially multiple times, and this error
1696 1706
         message at the very bottom.
1697 1707
         """,
1708
+        context='Error message',
1698 1709
         msg=r"""
1699 1710
         Cannot parse {path!r} as a valid vault-native configuration
1700 1711
         file/directory.
1701 1712
         """,
1702
-        context='Error message',
1703 1713
         flags='python-brace-format',
1704 1714
     )
1705 1715
     CANNOT_PARSE_AS_VAULT_CONFIG_OSERROR = _prepare_translatable(
... ...
@@ -1707,11 +1717,11 @@ class ErrMsgTemplate(enum.Enum):
1707 1717
         TRANSLATORS: "error" is supplied by the operating system
1708 1718
         (errno/strerror).
1709 1719
         """,
1720
+        context='Error message',
1710 1721
         msg=r"""
1711 1722
         Cannot parse {path!r} as a valid vault-native configuration
1712 1723
         file/directory: {error!s}: {filename!r}.
1713 1724
         """,
1714
-        context='Error message',
1715 1725
         flags='python-brace-format',
1716 1726
     )
1717 1727
     CANNOT_STORE_VAULT_SETTINGS = _prepare_translatable(
... ...
@@ -1719,8 +1729,8 @@ class ErrMsgTemplate(enum.Enum):
1719 1729
         TRANSLATORS: "error" is supplied by the operating system
1720 1730
         (errno/strerror).
1721 1731
         """,
1722
-        msg='Cannot store vault settings: {error!s}: {filename!r}.',
1723 1732
         context='Error message',
1733
+        msg='Cannot store vault settings: {error!s}: {filename!r}.',
1724 1734
         flags='python-brace-format',
1725 1735
     )
1726 1736
     CANNOT_UNDERSTAND_AGENT = _prepare_translatable(
... ...
@@ -1733,11 +1743,11 @@ class ErrMsgTemplate(enum.Enum):
1733 1743
         requested operation failed, are handled with a different error
1734 1744
         message.
1735 1745
         """,
1746
+        context='Error message',
1736 1747
         msg="""
1737 1748
         Cannot understand the SSH agent's response because it violates
1738 1749
         the communications protocol.
1739 1750
         """,
1740
-        context='Error message',
1741 1751
     )
1742 1752
     CANNOT_UPDATE_SETTINGS_NO_SETTINGS = _prepare_translatable(
1743 1753
         comments=r"""
... ...
@@ -1752,12 +1762,12 @@ class ErrMsgTemplate(enum.Enum):
1752 1762
         you see fit that achieves the desired translations of the first
1753 1763
         sentence.
1754 1764
         """,
1765
+        context='Error message',
1755 1766
         msg=r"""
1756 1767
         Cannot update the {settings_type!s} without any given settings.
1757 1768
         You must specify at least one of --lower, ..., --symbol, or
1758 1769
         --phrase or --key.
1759 1770
         """,
1760
-        context='Error message',
1761 1771
         flags='python-brace-format',
1762 1772
     )
1763 1773
     INVALID_USER_CONFIG = _prepare_translatable(
... ...
@@ -1765,10 +1775,10 @@ class ErrMsgTemplate(enum.Enum):
1765 1775
         TRANSLATORS: "error" is supplied by the operating system
1766 1776
         (errno/strerror).
1767 1777
         """,
1778
+        context='Error message',
1768 1779
         msg=r"""
1769 1780
         The user configuration file is invalid.  {error!s}: {filename!r}.
1770 1781
         """,
1771
-        context='Error message',
1772 1782
         flags='python-brace-format',
1773 1783
     )
1774 1784
     INVALID_VAULT_CONFIG = _prepare_translatable(
... ...
@@ -1778,43 +1788,45 @@ class ErrMsgTemplate(enum.Enum):
1778 1788
         *how* it is not valid.  The configuration file is principally
1779 1789
         parsable, however.
1780 1790
         """,
1781
-        msg='Invalid vault config: {config!r}.',
1782 1791
         context='Error message',
1792
+        msg='Invalid vault config: {config!r}.',
1783 1793
         flags='python-brace-format',
1784 1794
     )
1785 1795
     MISSING_MODULE = _prepare_translatable(
1786
-        'Cannot load the required Python module {module!r}.',
1787 1796
         comments='',
1788 1797
         context='Error message',
1798
+        msg='Cannot load the required Python module {module!r}.',
1789 1799
         flags='python-brace-format',
1790 1800
     )
1791 1801
     NO_AF_UNIX = _prepare_translatable(
1802
+        comments='',
1803
+        context='Error message',
1792 1804
         msg=r"""
1793 1805
         Cannot connect to an SSH agent because this Python version does
1794 1806
         not support UNIX domain sockets.
1795 1807
         """,
1796
-        comments='',
1797
-        context='Error message',
1798 1808
     )
1799 1809
     NO_KEY_OR_PHRASE = _prepare_translatable(
1810
+        comments='',
1811
+        context='Error message',
1800 1812
         msg=r"""
1801 1813
         No passphrase or key was given in the configuration.  In this
1802 1814
         case, the --phrase or --key argument is required.
1803 1815
         """,
1804
-        comments='',
1805
-        context='Error message',
1806 1816
     )
1807 1817
     NO_SSH_AGENT_FOUND = _prepare_translatable(
1808
-        'Cannot find any running SSH agent because SSH_AUTH_SOCK is not set.',
1809 1818
         comments='',
1810 1819
         context='Error message',
1820
+        msg="""
1821
+        Cannot find any running SSH agent because SSH_AUTH_SOCK is not set.
1822
+        """,
1811 1823
     )
1812 1824
     NO_SUITABLE_SSH_KEYS = _prepare_translatable(
1825
+        comments='',
1826
+        context='Error message',
1813 1827
         msg="""
1814 1828
         The SSH agent contains no keys suitable for {PROG_NAME!s}.
1815 1829
         """,  # noqa: RUF027
1816
-        comments='',
1817
-        context='Error message',
1818 1830
         flags='python-brace-format',
1819 1831
     )
1820 1832
     PARAMS_MUTUALLY_EXCLUSIVE = _prepare_translatable(
... ...
@@ -1822,8 +1834,8 @@ class ErrMsgTemplate(enum.Enum):
1822 1834
         TRANSLATORS: The params are long-form command-line option names.
1823 1835
         Typical example: "--key is mutually exclusive with --phrase."
1824 1836
         """,
1825
-        msg='{param1!s} is mutually exclusive with {param2!s}.',
1826 1837
         context='Error message',
1838
+        msg='{param1!s} is mutually exclusive with {param2!s}.',
1827 1839
         flags='python-brace-format',
1828 1840
     )
1829 1841
     PARAMS_NEEDS_SERVICE_OR_CONFIG = _prepare_translatable(
... ...
@@ -1831,8 +1843,8 @@ class ErrMsgTemplate(enum.Enum):
1831 1843
         TRANSLATORS: The param is a long-form command-line option name,
1832 1844
         the metavar is Label.VAULT_METAVAR_SERVICE.
1833 1845
         """,
1834
-        msg='{param!s} requires a {service_metavar!s} or --config.',
1835 1846
         context='Error message',
1847
+        msg='{param!s} requires a {service_metavar!s} or --config.',
1836 1848
         flags='python-brace-format',
1837 1849
     )
1838 1850
     PARAMS_NEEDS_SERVICE = _prepare_translatable(
... ...
@@ -1840,8 +1852,8 @@ class ErrMsgTemplate(enum.Enum):
1840 1852
         TRANSLATORS: The param is a long-form command-line option name,
1841 1853
         the metavar is Label.VAULT_METAVAR_SERVICE.
1842 1854
         """,
1843
-        msg='{param!s} requires a {service_metavar!s}.',
1844 1855
         context='Error message',
1856
+        msg='{param!s} requires a {service_metavar!s}.',
1845 1857
         flags='python-brace-format',
1846 1858
     )
1847 1859
     PARAMS_NO_SERVICE = _prepare_translatable(
... ...
@@ -1849,16 +1861,16 @@ class ErrMsgTemplate(enum.Enum):
1849 1861
         TRANSLATORS: The param is a long-form command-line option name,
1850 1862
         the metavar is Label.VAULT_METAVAR_SERVICE.
1851 1863
         """,
1852
-        msg='{param!s} does not take a {service_metavar!s} argument.',
1853 1864
         context='Error message',
1865
+        msg='{param!s} does not take a {service_metavar!s} argument.',
1854 1866
         flags='python-brace-format',
1855 1867
     )
1856 1868
     SERVICE_REQUIRED = _prepare_translatable(
1857 1869
         comments=r"""
1858 1870
         TRANSLATORS: The metavar is Label.VAULT_METAVAR_SERVICE.
1859 1871
         """,
1860
-        msg='Deriving a passphrase requires a {service_metavar!s}.',
1861 1872
         context='Error message',
1873
+        msg='Deriving a passphrase requires a {service_metavar!s}.',
1862 1874
         flags='python-brace-format',
1863 1875
     )
1864 1876
     SET_AND_UNSET_SAME_SETTING = _prepare_translatable(
... ...
@@ -1868,38 +1880,38 @@ class ErrMsgTemplate(enum.Enum):
1868 1880
         time." may or may not be more suitable as a basis for
1869 1881
         translation instead.
1870 1882
         """,
1871
-        msg='Attempted to unset and set --{setting!s} at the same time.',
1872 1883
         context='Error message',
1884
+        msg='Attempted to unset and set --{setting!s} at the same time.',
1873 1885
         flags='python-brace-format',
1874 1886
     )
1875 1887
     SSH_KEY_NOT_LOADED = _prepare_translatable(
1876
-        'The requested SSH key is not loaded into the agent.',
1877 1888
         comments='',
1878 1889
         context='Error message',
1890
+        msg='The requested SSH key is not loaded into the agent.',
1879 1891
     )
1880 1892
     USER_ABORTED_EDIT = _prepare_translatable(
1881 1893
         comments=r"""
1882 1894
         TRANSLATORS: The user requested to edit the notes for a service,
1883 1895
         but aborted the request mid-editing.
1884 1896
         """,
1885
-        msg='Not saving any new notes: the user aborted the request.',
1886 1897
         context='Error message',
1898
+        msg='Not saving any new notes: the user aborted the request.',
1887 1899
     )
1888 1900
     USER_ABORTED_PASSPHRASE = _prepare_translatable(
1889 1901
         comments=r"""
1890 1902
         TRANSLATORS: The user was prompted for a master passphrase,
1891 1903
         but aborted the request.
1892 1904
         """,
1893
-        msg='No passphrase was given; the user aborted the request.',
1894 1905
         context='Error message',
1906
+        msg='No passphrase was given; the user aborted the request.',
1895 1907
     )
1896 1908
     USER_ABORTED_SSH_KEY_SELECTION = _prepare_translatable(
1897 1909
         comments=r"""
1898 1910
         TRANSLATORS: The user was prompted to select a master SSH key,
1899 1911
         but aborted the request.
1900 1912
         """,
1901
-        msg='No SSH key was selected; the user aborted the request.',
1902 1913
         context='Error message',
1914
+        msg='No SSH key was selected; the user aborted the request.',
1903 1915
     )
1904 1916
 
1905 1917
 
1906 1918