?
=?iso-8859-1?B?QW5kcuk=?=
I've encountered a problem using gettext with properties while using a
Python interpreter.
Here's a simple program that illustrate the problem.
==============
# i18n_test.py: test of gettext & properties
import gettext
fr = gettext.translation('i18n_test', './translations',
languages=['fr'])
fr.install()
help = _("Help me!")
class Test_i18n(object):
def get(self):
__help = _("HELP!")
return __help
help_prop = property(get, None, None, 'help')
test = Test_i18n()
print help
print test.help_prop
#### end of file
To run the above program, you need to have the strings translated and
the proper ".po" and ".mo" files created. (for those interested, I
can send the whole lot in a zip file)
If I run the program as is, the output is:
Aidez-moi!
AIDE!!!
Ok, let's try with the Python interpreter:
ActivePython 2.4.2 Build 248 (ActiveState Corp.) based on
Python 2.4.2 (#67, Oct 30 2005, 16:11:18) [MSC v.1310 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.Aidez-moi!
AIDE!!!
# No surprise there so far.
'Aidez-moi!'
# all of the above are as expected; now for the first surprise
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "i18n_test.py", line 12, in get
__help = _("HELP!")
TypeError: 'str' object is not callable
# and a second surprise where we try to repeat something that used to
work
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "i18n_test.py", line 12, in get
__help = _("HELP!")
TypeError: 'str' object is not callable
#=============
Dare I say: "Help!" I really need to use the above at the
interpreter prompt.
André
Python interpreter.
Here's a simple program that illustrate the problem.
==============
# i18n_test.py: test of gettext & properties
import gettext
fr = gettext.translation('i18n_test', './translations',
languages=['fr'])
fr.install()
help = _("Help me!")
class Test_i18n(object):
def get(self):
__help = _("HELP!")
return __help
help_prop = property(get, None, None, 'help')
test = Test_i18n()
print help
print test.help_prop
#### end of file
To run the above program, you need to have the strings translated and
the proper ".po" and ".mo" files created. (for those interested, I
can send the whole lot in a zip file)
If I run the program as is, the output is:
Aidez-moi!
AIDE!!!
Ok, let's try with the Python interpreter:
ActivePython 2.4.2 Build 248 (ActiveState Corp.) based on
Python 2.4.2 (#67, Oct 30 2005, 16:11:18) [MSC v.1310 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.Aidez-moi!
AIDE!!!
# No surprise there so far.
'Aidez-moi!'
# all of the above are as expected; now for the first surprise
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "i18n_test.py", line 12, in get
__help = _("HELP!")
TypeError: 'str' object is not callable
# and a second surprise where we try to repeat something that used to
work
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "i18n_test.py", line 12, in get
__help = _("HELP!")
TypeError: 'str' object is not callable
#=============
Dare I say: "Help!" I really need to use the above at the
interpreter prompt.
André