Remove "str" format specifier from CLI messages
Marco Ricci

Marco Ricci commited on 2025-02-11 21:03:34
Zeige 1 geänderte Dateien mit 58 Einfügungen und 58 Löschungen.


It adds nothing, and it makes some PO editing software mis-highlight the
entries.
... ...
@@ -186,7 +186,7 @@ class DebugTranslations(gettext.NullTranslations):
186 186
             for f in ts.fields()
187 187
         ]
188 188
         return (
189
-            '{!s}({})'.format(enum_name, ', '.join(formatted_fields))
189
+            '{}({})'.format(enum_name, ', '.join(formatted_fields))
190 190
             if formatted_fields
191 191
             else str(enum_name)
192 192
         )
... ...
@@ -324,7 +324,7 @@ class TranslatableString(NamedTuple):
324 324
         Only acts upon translatable strings containing the exact
325 325
         contents `": {filename!r}"`.  The specified part will be
326 326
         removed.  This is correct usage in English for messages like
327
-        `"Cannot open file: {error!s}: {filename!r}."`, but not
327
+        `"Cannot open file: {error}: {filename!r}."`, but not
328 328
         necessarily in other languages.
329 329
 
330 330
         """
... ...
@@ -757,7 +757,7 @@ class Label(enum.Enum):
757 757
     )(
758 758
         'Label :: Help text :: Explanation',
759 759
         'Depending on the configuration format, '
760
-        '{path_metavar!s} may either be a file or a directory.  '
760
+        '{path_metavar} may either be a file or a directory.  '
761 761
         'We support the vault "v0.2", "v0.3" and "storeroom" formats.',
762 762
         flags='python-brace-format',
763 763
     )
... ...
@@ -766,7 +766,7 @@ class Label(enum.Enum):
766 766
         '',
767 767
     )(
768 768
         'Label :: Help text :: Explanation',
769
-        'If {path_metavar!s} is explicitly given as `VAULT_PATH`, '
769
+        'If {path_metavar} is explicitly given as `VAULT_PATH`, '
770 770
         'then use the `VAULT_PATH` environment variable to '
771 771
         'determine the correct path.  '
772 772
         '(Use `./VAULT_PATH` or similar to indicate a file/directory '
... ...
@@ -790,7 +790,7 @@ class Label(enum.Enum):
790 790
     )(
791 791
         'Label :: Help text :: Explanation',
792 792
         'If operating on global settings, or importing/exporting settings, '
793
-        'then {service_metavar!s} must be omitted.  '
793
+        'then {service_metavar} must be omitted.  '
794 794
         'Otherwise it is required.',
795 795
         flags='python-brace-format',
796 796
     )
... ...
@@ -881,9 +881,9 @@ class Label(enum.Enum):
881 881
         'the metavar is Label.EXPORT_VAULT_FORMAT_METAVAR_FMT.',
882 882
     )(
883 883
         'Label :: Help text :: One-line description',
884
-        'try the following storage format {metavar!s}; '
884
+        'try the following storage format {metavar}; '
885 885
         'may be specified multiple times, '
886
-        'formats will be tried in order {defaults_hint!s}',
886
+        'formats will be tried in order {defaults_hint}',
887 887
         flags='python-brace-format',
888 888
     )
889 889
     """"""
... ...
@@ -901,7 +901,7 @@ class Label(enum.Enum):
901 901
         'the metavar is Label.EXPORT_VAULT_KEY_METAVAR_K.',
902 902
     )(
903 903
         'Label :: Help text :: One-line description',
904
-        'use {metavar!s} as the storage master key {defaults_hint!s}',
904
+        'use {metavar} as the storage master key {defaults_hint}',
905 905
         flags='python-brace-format',
906 906
     )
907 907
     """"""
... ...
@@ -960,7 +960,7 @@ class Label(enum.Enum):
960 960
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
961 961
     )(
962 962
         'Label :: Help text :: One-line description',
963
-        'ensure a passphrase length of {metavar!s} characters',
963
+        'ensure a passphrase length of {metavar} characters',
964 964
         flags='python-brace-format',
965 965
     )
966 966
     """"""
... ...
@@ -968,7 +968,7 @@ class Label(enum.Enum):
968 968
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
969 969
     )(
970 970
         'Label :: Help text :: One-line description',
971
-        'forbid any run of {metavar!s} identical characters',
971
+        'forbid any run of {metavar} identical characters',
972 972
         flags='python-brace-format',
973 973
     )
974 974
     """"""
... ...
@@ -976,7 +976,7 @@ class Label(enum.Enum):
976 976
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
977 977
     )(
978 978
         'Label :: Help text :: One-line description',
979
-        'ensure at least {metavar!s} lowercase characters',
979
+        'ensure at least {metavar} lowercase characters',
980 980
         flags='python-brace-format',
981 981
     )
982 982
     """"""
... ...
@@ -984,7 +984,7 @@ class Label(enum.Enum):
984 984
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
985 985
     )(
986 986
         'Label :: Help text :: One-line description',
987
-        'ensure at least {metavar!s} uppercase characters',
987
+        'ensure at least {metavar} uppercase characters',
988 988
         flags='python-brace-format',
989 989
     )
990 990
     """"""
... ...
@@ -992,7 +992,7 @@ class Label(enum.Enum):
992 992
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
993 993
     )(
994 994
         'Label :: Help text :: One-line description',
995
-        'ensure at least {metavar!s} digits',
995
+        'ensure at least {metavar} digits',
996 996
         flags='python-brace-format',
997 997
     )
998 998
     """"""
... ...
@@ -1000,7 +1000,7 @@ class Label(enum.Enum):
1000 1000
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
1001 1001
     )(
1002 1002
         'Label :: Help text :: One-line description',
1003
-        'ensure at least {metavar!s} spaces',
1003
+        'ensure at least {metavar} spaces',
1004 1004
         flags='python-brace-format',
1005 1005
     )
1006 1006
     """"""
... ...
@@ -1008,7 +1008,7 @@ class Label(enum.Enum):
1008 1008
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
1009 1009
     )(
1010 1010
         'Label :: Help text :: One-line description',
1011
-        'ensure at least {metavar!s} "-" or "_" characters',
1011
+        'ensure at least {metavar} "-" or "_" characters',
1012 1012
         flags='python-brace-format',
1013 1013
     )
1014 1014
     """"""
... ...
@@ -1016,7 +1016,7 @@ class Label(enum.Enum):
1016 1016
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
1017 1017
     )(
1018 1018
         'Label :: Help text :: One-line description',
1019
-        'ensure at least {metavar!s} symbol characters',
1019
+        'ensure at least {metavar} symbol characters',
1020 1020
         flags='python-brace-format',
1021 1021
     )
1022 1022
     """"""
... ...
@@ -1025,7 +1025,7 @@ class Label(enum.Enum):
1025 1025
         '',
1026 1026
     )(
1027 1027
         'Label :: Help text :: One-line description',
1028
-        'spawn an editor to edit notes for {service_metavar!s}',
1028
+        'spawn an editor to edit notes for {service_metavar}',
1029 1029
         flags='python-brace-format',
1030 1030
     )
1031 1031
     """"""
... ...
@@ -1033,7 +1033,7 @@ class Label(enum.Enum):
1033 1033
         '',
1034 1034
     )(
1035 1035
         'Label :: Help text :: One-line description',
1036
-        'save the given settings for {service_metavar!s}, or global',
1036
+        'save the given settings for {service_metavar}, or global',
1037 1037
         flags='python-brace-format',
1038 1038
     )
1039 1039
     """"""
... ...
@@ -1041,7 +1041,7 @@ class Label(enum.Enum):
1041 1041
         '',
1042 1042
     )(
1043 1043
         'Label :: Help text :: One-line description',
1044
-        'delete the settings for {service_metavar!s}',
1044
+        'delete the settings for {service_metavar}',
1045 1045
         flags='python-brace-format',
1046 1046
     )
1047 1047
     """"""
... ...
@@ -1063,7 +1063,7 @@ class Label(enum.Enum):
1063 1063
         'The metavar is Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.',
1064 1064
     )(
1065 1065
         'Label :: Help text :: One-line description',
1066
-        'export all saved settings to {metavar!s}',
1066
+        'export all saved settings to {metavar}',
1067 1067
         flags='python-brace-format',
1068 1068
     )
1069 1069
     """"""
... ...
@@ -1071,7 +1071,7 @@ class Label(enum.Enum):
1071 1071
         'The metavar is Label.STORAGE_MANAGEMENT_METAVAR_SERVICE.',
1072 1072
     )(
1073 1073
         'Label :: Help text :: One-line description',
1074
-        'import saved settings from {metavar!s}',
1074
+        'import saved settings from {metavar}',
1075 1075
         flags='python-brace-format',
1076 1076
     )
1077 1077
     """"""
... ...
@@ -1186,7 +1186,7 @@ class Label(enum.Enum):
1186 1186
         'The metavar is Label.PASSPHRASE_GENERATION_METAVAR_NUMBER.',
1187 1187
     )(
1188 1188
         'Label :: Help text :: Explanation',
1189
-        'Use {metavar!s}=0 to exclude a character type from the output.',
1189
+        'Use {metavar}=0 to exclude a character type from the output.',
1190 1190
         flags='python-brace-format',
1191 1191
     )
1192 1192
     """"""
... ...
@@ -1194,7 +1194,7 @@ class Label(enum.Enum):
1194 1194
         'The metavar is Label.STORAGE_MANAGEMENT_METAVAR_PATH.',
1195 1195
     )(
1196 1196
         'Label :: Help text :: Explanation',
1197
-        'Using "-" as {metavar!s} for standard input/standard output '
1197
+        'Using "-" as {metavar} for standard input/standard output '
1198 1198
         'is supported.',
1199 1199
         flags='python-brace-format',
1200 1200
     )
... ...
@@ -1259,7 +1259,7 @@ class Label(enum.Enum):
1259 1259
         '',
1260 1260
     )(
1261 1261
         'Label :: Info Message',
1262
-        '{PROG_NAME!s} {VERSION}',  # noqa: RUF027
1262
+        '{PROG_NAME} {VERSION}',  # noqa: RUF027
1263 1263
         flags='python-brace-format',
1264 1264
     )
1265 1265
     """"""
... ...
@@ -1685,7 +1685,7 @@ class InfoMsgTemplate(enum.Enum):
1685 1685
         'vault configuration as.',
1686 1686
     )(
1687 1687
         'Info message',
1688
-        'Cannot load {path!r} as a {fmt!s} vault configuration.',
1688
+        'Cannot load {path!r} as a {fmt} vault configuration.',
1689 1689
         flags='python-brace-format',
1690 1690
     )
1691 1691
     """"""
... ...
@@ -1800,9 +1800,9 @@ class WarnMsgTemplate(enum.Enum):
1800 1800
         '',
1801 1801
     )(
1802 1802
         'Warning message',
1803
-        'An empty {service_metavar!s} is not supported by vault(1).  '
1803
+        'An empty {service_metavar} is not supported by vault(1).  '
1804 1804
         'For compatibility, this will be treated as if '
1805
-        '{service_metavar!s} was not supplied, i.e., it will error out, '
1805
+        '{service_metavar} was not supplied, i.e., it will error out, '
1806 1806
         'or operate on global settings.',
1807 1807
         flags='python-brace-format',
1808 1808
     )
... ...
@@ -1811,10 +1811,10 @@ class WarnMsgTemplate(enum.Enum):
1811 1811
         '',
1812 1812
     )(
1813 1813
         'Warning message',
1814
-        'An empty {service_metavar!s} is not supported by vault(1).  '
1814
+        'An empty {service_metavar} is not supported by vault(1).  '
1815 1815
         'The empty-string service settings will be inaccessible '
1816 1816
         'and ineffective.  '
1817
-        'To ensure that vault(1) and {PROG_NAME!s} see the settings, '  # noqa: RUF027
1817
+        'To ensure that vault(1) and {PROG_NAME} see the settings, '  # noqa: RUF027
1818 1818
         'move them into the "global" section.',
1819 1819
         flags='python-brace-format',
1820 1820
     )
... ...
@@ -1823,7 +1823,7 @@ class WarnMsgTemplate(enum.Enum):
1823 1823
         '"error" is supplied by the operating system (errno/strerror).',
1824 1824
     )(
1825 1825
         'Warning message',
1826
-        'Failed to migrate to {path!r}: {error!s}: {filename!r}.',
1826
+        'Failed to migrate to {path!r}: {error}: {filename!r}.',
1827 1827
         flags='python-brace-format',
1828 1828
     )
1829 1829
     """"""
... ...
@@ -1858,7 +1858,7 @@ class WarnMsgTemplate(enum.Enum):
1858 1858
         'mark up emphasis of the word "displays".',
1859 1859
     )(
1860 1860
         'Warning message',
1861
-        'The {key!s} passphrase is not {form!s}-normalized.  '
1861
+        'The {key} passphrase is not {form}-normalized.  '
1862 1862
         'Its serialization as a byte string may not be what you '
1863 1863
         'expect it to be, even if it *displays* correctly.  '
1864 1864
         'Please make sure to double-check any derived passphrases '
... ...
@@ -1886,7 +1886,7 @@ class WarnMsgTemplate(enum.Enum):
1886 1886
     )(
1887 1887
         'Warning message',
1888 1888
         'Setting a service passphrase is ineffective '
1889
-        'because a key is also set: {service!s}.',
1889
+        'because a key is also set: {service}.',
1890 1890
         flags='python-brace-format',
1891 1891
     )
1892 1892
     """"""
... ...
@@ -1894,7 +1894,7 @@ class WarnMsgTemplate(enum.Enum):
1894 1894
         '',
1895 1895
     )(
1896 1896
         'Warning message',
1897
-        'Removing ineffective setting {path!s} = {old!s}.',
1897
+        'Removing ineffective setting {path} = {old}.',
1898 1898
         flags='python-brace-format',
1899 1899
     )
1900 1900
     """"""
... ...
@@ -1902,7 +1902,7 @@ class WarnMsgTemplate(enum.Enum):
1902 1902
         '',
1903 1903
     )(
1904 1904
         'Warning message',
1905
-        'Replacing invalid value {old!s} for key {path!s} with {new!s}.',
1905
+        'Replacing invalid value {old} for key {path} with {new}.',
1906 1906
         flags='python-brace-format',
1907 1907
     )
1908 1908
     """"""
... ...
@@ -1954,7 +1954,7 @@ class ErrMsgTemplate(enum.Enum):
1954 1954
         '"error" is supplied by the operating system (errno/strerror).',
1955 1955
     )(
1956 1956
         'Error message',
1957
-        'Cannot connect to the SSH agent: {error!s}: {filename!r}.',
1957
+        'Cannot connect to the SSH agent: {error}: {filename!r}.',
1958 1958
         flags='python-brace-format',
1959 1959
     )
1960 1960
     """"""
... ...
@@ -1962,7 +1962,7 @@ class ErrMsgTemplate(enum.Enum):
1962 1962
         '"error" is supplied by the operating system (errno/strerror).',
1963 1963
     )(
1964 1964
         'Error message',
1965
-        'Cannot import vault settings: cannot decode JSON: {error!s}.',
1965
+        'Cannot import vault settings: cannot decode JSON: {error}.',
1966 1966
         flags='python-brace-format',
1967 1967
     )
1968 1968
     """"""
... ...
@@ -1970,7 +1970,7 @@ class ErrMsgTemplate(enum.Enum):
1970 1970
         '"error" is supplied by the operating system (errno/strerror).',
1971 1971
     )(
1972 1972
         'Error message',
1973
-        'Cannot export vault settings: {error!s}: {filename!r}.',
1973
+        'Cannot export vault settings: {error}: {filename!r}.',
1974 1974
         flags='python-brace-format',
1975 1975
     )
1976 1976
     """"""
... ...
@@ -1978,7 +1978,7 @@ class ErrMsgTemplate(enum.Enum):
1978 1978
         '"error" is supplied by the operating system (errno/strerror).',
1979 1979
     )(
1980 1980
         'Error message',
1981
-        'Cannot import vault settings: {error!s}: {filename!r}.',
1981
+        'Cannot import vault settings: {error}: {filename!r}.',
1982 1982
         flags='python-brace-format',
1983 1983
     )
1984 1984
     """"""
... ...
@@ -1986,7 +1986,7 @@ class ErrMsgTemplate(enum.Enum):
1986 1986
         '"error" is supplied by the operating system (errno/strerror).',
1987 1987
     )(
1988 1988
         'Error message',
1989
-        'Cannot load user config: {error!s}: {filename!r}.',
1989
+        'Cannot load user config: {error}: {filename!r}.',
1990 1990
         flags='python-brace-format',
1991 1991
     )
1992 1992
     """"""
... ...
@@ -1994,12 +1994,12 @@ class ErrMsgTemplate(enum.Enum):
1994 1994
         '"error" is supplied by the operating system (errno/strerror).',
1995 1995
     )(
1996 1996
         'Error message',
1997
-        'Cannot load vault settings: {error!s}: {filename!r}.',
1997
+        'Cannot load vault settings: {error}: {filename!r}.',
1998 1998
         flags='python-brace-format',
1999 1999
     )
2000 2000
     """"""
2001 2001
     CANNOT_PARSE_AS_VAULT_CONFIG = commented(
2002
-        'Unlike the "Cannot load {path!r} as a {fmt!s} '
2002
+        'Unlike the "Cannot load {path!r} as a {fmt} '
2003 2003
         'vault configuration." message, *this* error message is emitted '
2004 2004
         'when we have tried loading the path in each of our '
2005 2005
         'supported formats, and failed.  '
... ...
@@ -2018,7 +2018,7 @@ class ErrMsgTemplate(enum.Enum):
2018 2018
     )(
2019 2019
         'Error message',
2020 2020
         r'Cannot parse {path!r} as a valid vault-native '
2021
-        'configuration file/directory: {error!s}: {filename!r}.',
2021
+        'configuration file/directory: {error}: {filename!r}.',
2022 2022
         flags='python-brace-format',
2023 2023
     )
2024 2024
     """"""
... ...
@@ -2026,7 +2026,7 @@ class ErrMsgTemplate(enum.Enum):
2026 2026
         '"error" is supplied by the operating system (errno/strerror).',
2027 2027
     )(
2028 2028
         'Error message',
2029
-        'Cannot store vault settings: {error!s}: {filename!r}.',
2029
+        'Cannot store vault settings: {error}: {filename!r}.',
2030 2030
         flags='python-brace-format',
2031 2031
     )
2032 2032
     """"""
... ...
@@ -2059,7 +2059,7 @@ class ErrMsgTemplate(enum.Enum):
2059 2059
         'of the first sentence.',
2060 2060
     )(
2061 2061
         'Error message',
2062
-        'Cannot update the {settings_type!s} without any given settings.  '
2062
+        'Cannot update the {settings_type} without any given settings.  '
2063 2063
         'You must specify at least one of --lower, ..., --symbol, --notes, '
2064 2064
         'or --phrase or --key.',
2065 2065
         flags='python-brace-format',
... ...
@@ -2069,7 +2069,7 @@ class ErrMsgTemplate(enum.Enum):
2069 2069
         '"error" is supplied by the operating system (errno/strerror).',
2070 2070
     )(
2071 2071
         'Error message',
2072
-        'The user configuration file is invalid.  {error!s}: {filename!r}.',
2072
+        'The user configuration file is invalid.  {error}: {filename!r}.',
2073 2073
         flags='python-brace-format',
2074 2074
     )
2075 2075
     """"""
... ...
@@ -2119,7 +2119,7 @@ class ErrMsgTemplate(enum.Enum):
2119 2119
         '',
2120 2120
     )(
2121 2121
         'Error message',
2122
-        'The SSH agent contains no keys suitable for {PROG_NAME!s}.',  # noqa: RUF027
2122
+        'The SSH agent contains no keys suitable for {PROG_NAME}.',  # noqa: RUF027
2123 2123
         flags='python-brace-format',
2124 2124
     )
2125 2125
     """"""
... ...
@@ -2128,7 +2128,7 @@ class ErrMsgTemplate(enum.Enum):
2128 2128
         'Typical example: "--key is mutually exclusive with --phrase."',
2129 2129
     )(
2130 2130
         'Error message',
2131
-        '{param1!s} is mutually exclusive with {param2!s}.',
2131
+        '{param1} is mutually exclusive with {param2}.',
2132 2132
         flags='python-brace-format',
2133 2133
     )
2134 2134
     """"""
... ...
@@ -2137,7 +2137,7 @@ class ErrMsgTemplate(enum.Enum):
2137 2137
         'the metavar is Label.VAULT_METAVAR_SERVICE.',
2138 2138
     )(
2139 2139
         'Error message',
2140
-        '{param!s} requires a {service_metavar!s} or --config.',
2140
+        '{param} requires a {service_metavar} or --config.',
2141 2141
         flags='python-brace-format',
2142 2142
     )
2143 2143
     """"""
... ...
@@ -2146,7 +2146,7 @@ class ErrMsgTemplate(enum.Enum):
2146 2146
         'the metavar is Label.VAULT_METAVAR_SERVICE.',
2147 2147
     )(
2148 2148
         'Error message',
2149
-        '{param!s} requires a {service_metavar!s}.',
2149
+        '{param} requires a {service_metavar}.',
2150 2150
         flags='python-brace-format',
2151 2151
     )
2152 2152
     """"""
... ...
@@ -2155,7 +2155,7 @@ class ErrMsgTemplate(enum.Enum):
2155 2155
         'the metavar is Label.VAULT_METAVAR_SERVICE.',
2156 2156
     )(
2157 2157
         'Error message',
2158
-        '{param!s} does not take a {service_metavar!s} argument.',
2158
+        '{param} does not take a {service_metavar} argument.',
2159 2159
         flags='python-brace-format',
2160 2160
     )
2161 2161
     """"""
... ...
@@ -2163,18 +2163,18 @@ class ErrMsgTemplate(enum.Enum):
2163 2163
         'The metavar is Label.VAULT_METAVAR_SERVICE.',
2164 2164
     )(
2165 2165
         'Error message',
2166
-        'Deriving a passphrase requires a {service_metavar!s}.',
2166
+        'Deriving a passphrase requires a {service_metavar}.',
2167 2167
         flags='python-brace-format',
2168 2168
     )
2169 2169
     """"""
2170 2170
     SET_AND_UNSET_SAME_SETTING = commented(
2171 2171
         'The rephrasing '
2172 2172
         '"Attempted to unset and set the same setting '
2173
-        '(--unset={setting!s} --{setting!s}=...) at the same time."'
2173
+        '(--unset={setting} --{setting}=...) at the same time."'
2174 2174
         'may or may not be more suitable as a basis for translation instead.',
2175 2175
     )(
2176 2176
         'Error message',
2177
-        'Attempted to unset and set --{setting!s} at the same time.',
2177
+        'Attempted to unset and set --{setting} at the same time.',
2178 2178
         flags='python-brace-format',
2179 2179
     )
2180 2180
     """"""
... ...
@@ -2282,9 +2282,9 @@ def _write_po_file(  # noqa: C901,PLR0912
2282 2282
     if is_template:
2283 2283
         header = (
2284 2284
             inspect.cleandoc(rf"""
2285
-            # English translation for {PROG_NAME!s}.
2285
+            # English translation for {PROG_NAME}.
2286 2286
             # Copyright (C) {build_time.strftime('%Y')} AUTHOR
2287
-            # This file is distributed under the same license as {PROG_NAME!s}.
2287
+            # This file is distributed under the same license as {PROG_NAME}.
2288 2288
             # AUTHOR <someone@example.com>, {build_time.strftime('%Y')}.
2289 2289
             #
2290 2290
             msgid ""
... ...
@@ -2295,9 +2295,9 @@ def _write_po_file(  # noqa: C901,PLR0912
2295 2295
     else:
2296 2296
         header = (
2297 2297
             inspect.cleandoc(rf"""
2298
-            # English debug translation for {PROG_NAME!s}.
2299
-            # Copyright (C) {build_time.strftime('%Y')} {AUTHOR!s}
2300
-            # This file is distributed under the same license as {PROG_NAME!s}.
2298
+            # English debug translation for {PROG_NAME}.
2299
+            # Copyright (C) {build_time.strftime('%Y')} {AUTHOR}
2300
+            # This file is distributed under the same license as {PROG_NAME}.
2301 2301
             #
2302 2302
             msgid ""
2303 2303
             msgstr ""
2304 2304