"Generated-By: pygettext.py 1.5\n"
-#: custom_keywords.py:9 custom_keywords.py:10
+#: custom_keywords.py:10 custom_keywords.py:11
msgid "bar"
msgstr ""
-#: custom_keywords.py:12
+#: custom_keywords.py:13
msgid "cat"
msgid_plural "cats"
msgstr[0] ""
msgstr[1] ""
-#: custom_keywords.py:13
+#: custom_keywords.py:14
msgid "dog"
msgid_plural "dogs"
msgstr[0] ""
msgstr[1] ""
-#: custom_keywords.py:15
+#: custom_keywords.py:16
msgctxt "context"
msgid "bar"
msgstr ""
-#: custom_keywords.py:17
+#: custom_keywords.py:18
msgctxt "context"
msgid "cat"
msgid_plural "cats"
msgstr[0] ""
msgstr[1] ""
+#: custom_keywords.py:34
+msgid "overridden"
+msgid_plural "default"
+msgstr[0] ""
+msgstr[1] ""
+
pgettext as pfoo,
npgettext as npfoo,
gettext as bar,
+ gettext as _,
)
foo('bar')
# 'npfoo' requires at least 3 arguments
npfoo('context')
npfoo('context', 'cat')
+
+# --keyword should override the default keyword
+_('overridden', 'default')
'comments.py': ('--add-comments=i18n:',),
'custom_keywords.py': ('--keyword=foo', '--keyword=nfoo:1,2',
'--keyword=pfoo:1c,2',
- '--keyword=npfoo:1c,2,3'),
+ '--keyword=npfoo:1c,2,3', '--keyword=_:1,2'),
}
for filename, args in snapshots.items():
--- /dev/null
+Make it possible to override default keywords in :program:`pygettext`.
# calculate all keywords
try:
- options.keywords = dict(parse_spec(spec) for spec in options.keywords)
+ custom_keywords = dict(parse_spec(spec) for spec in options.keywords)
except ValueError as e:
print(e, file=sys.stderr)
sys.exit(1)
+ options.keywords = {}
if not no_default_keywords:
options.keywords |= DEFAULTKEYWORDS
+ # custom keywords override default keywords
+ options.keywords |= custom_keywords
# initialize list of strings to exclude
if options.excludefilename: