pygettext: Extend support for specifying custom keywords #130453
Labels
triaged
The issue has been accepted as valid by a triager.
type-feature
A feature request or enhancement
Feature or enhancement
Proposal:
pygettext already allows specifying custom keywords in a limited fashion. For example, specifying
--keyword=foo
willlook for functions named
foo
in addition to the default keywords (gettext
, etc..).However, the CLI currently only allows specifying single-argument functions (i.e.
gettext('foo')
). It is not possible to addkeywords that take
msgid_plural
ormsgctxt
or both.Both xgettext and babel support this with a simple keywordspec syntax that defines the function name and argument positions of
msgid
,msgid_plural
andmsgctxt
.For example,
--keyword:foo:1c,2
defines apgettext
-like function where themsgctxt
is the first argument andmsgid
is the second argument, e.g.foo('context', 'message')
.It is also possible to use
t
to only match functions with that exact number of arguments. For example,foo:1,1t
only matchesfoo('bar')
but notfoo('bar', 'baz')
.I propose to support this in pygettext as well. For that we will need to:
t
specifier for now.--keyword
arguments with the same function name (this will require some internal changes, as those are stored in a dictionary with the function name as the key).t
specifier.Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Linked PRs
The text was updated successfully, but these errors were encountered: