On Sat, 2007-05-19 at 13:05 +0530, pavithran wrote: > > > On 5/19/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: > > A follow-up to this message from a bit over a month ago: > > http://groups.google.com/group/Django-I18N/browse_thread/thread/f3cd26dd912a73d1/ > > Could the translators of the following locales > > cy > es_AR > te > ca > pt > kn > zh_TW > > run "bin/compile-messages.py -l XX" (where XX = your locale) > on a recent > checkout and fix the errors that are reported. > > If somebody uses a string that has an error like this in it, > their > Django code will crash (and then they report it to the other > mailing > lists and we spend a while scratching our heads and wondering > what is > going wrong). > > Thanks, > Malcolm > > > > > > > Hi , > I am the maintainer of telugu locale. > I ran the command bin/compile-messages.py -l te > I am getting some 18 errors . > All of them are of similar type . > > A error message is given below. > /home/pavi/trunk/django/conf/locale/te/LC_MESSAGES/django.po:148: > 'msgstr' is not a valid Python format string, unlike 'msgid'. Reason: > The character that terminates the directive number 1 is not a valid > conversion specifier. > > I have checked the line nos 145-148 I couldn't understand where the > error exactly is . > Hence I am pasting the lines. Kindly someone look after the errors and > tell me how to rectify them > This is the line no 145-148 > #: contrib/comments/models.py:242 > #, python-format > msgid "%(score)d rating by %(user)s" > msgstr "%(score) కి %(user)ల రేటింగ్"
The "%(score)d" and "%(user)s" strings are Python format strings. The first one says "the dictionary used to format this string will contain a key "score" and that will hold an integer". The second one is expecting a string under the key "user". For a translator, this means you must copy those format strings *exactly* into the translated string. You can reorder them, if it makes the sentence translate more nicely, but you must have exactly one occurrence of %(score)d and one occurrence of %(user)s in the resulting translation. You seem to have either omitted the trailing character, or mistransated it into something else. Refer to http://docs.python.org/lib/typesseq-strings.html if you want more information about format strings. However, the short rule is that when you see something that looks like %(wxy)z, you must copy the whole thing into the result, including the character(s) after the parentheses (everything up to the next whitespace). Regards, Malcolm --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django I18N" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/Django-I18N?hl=en -~----------~----~----~----~------~----~------~--~---
