Skip to content

Allow object methods to be used as extraction-keywords #774

@samclane

Description

@samclane

I'm having trouble getting certain strings to attach that are inside non-default-keyword member functions.

My code has a level of encapsulation to it, where I sometimes store the gettext function inside the class as a method, like so:

_ = gettext(...)
class Foobar:
  def __init__(self, translator):
     self.i18n = translator
   def send(self):
    return self.i18n("Hello World")
  f = Foobar(translator=_)
  print(f.send())

I've added the i18n function to setup.cfg:

[extract_messages]
...
keywords = _ i18n
...

I've also tried adding "self.i18n", and Foobar.i18n to keywords, but this failed to extract the string as well.

I can go through and manually wrap every single string with a "pure" N_() function, but the code has many strings and that would be highly verbose.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions