On Thu, Sep 29, 2011 at 19:46, Sergiy Kuzmenko <s.kuzme...@gmail.com> wrote:

> According to gettext manual[1] one can use \u to uppercase the next char.
> But I have no idea whether "\u%(name)s" works.


"\u" in my po-file gives me "invalid control sequence" when I
compilemessages, whether "\u" is followed by "%(name)s" or normal text.
Other escape sequences such as "\t" and "\n" still work.


> If it does not, a small patch for Django admin to fix this would be nice.


Do you mean the Python fix above? Or fixing the use of gettext?


>
> [1]
> http://www.gnu.org/software/gettext/manual/gettext.html#Interpolation-I
>
>
> On Thu, Sep 29, 2011 at 9:01 AM, Erik Wognsen <e...@unf.dk> wrote:
>
>> Yes, I have seen some of the languages use tricks like "object of type"
>> and slashes for gender ("%(name)s \"%(obj)s\" modificato/a correttamente.")
>>
>> But many times the indefinite noun will do as well ('employee "Xyz" was
>> changed...') , so maybe we can get the capitalization right? ('Employee
>> "Xyz" was...')
>>
>> Does gettext support something for that?
>>
>> Otherwise, the first letter of the message can be made uppercase directly
>> in Python, e.g. "msg = msg[0].upper() + msg[1:]" after msg is set in
>> contrib/admin/options.py.
>>
>> Regards,
>> Erik Wognsen
>> On Tue, Sep 27, 2011 at 20:47, Sergiy Kuzmenko <s.kuzme...@gmail.com>wrote:
>>
>>> In general noun interpolation is a non trivial task. It might be possible
>>> that for a limited subset of messages (addition, deletion and modification)
>>> there is a common denominator for an "alternative" verbose model name that
>>> will do the trick in all languages. But it might not be so. Different
>>> languages could require multiple word forms for what in Danish you describe
>>> as "definite version".
>>>
>>> Also in some cases, the context itself may be altered by the noun you are
>>> interpolating. For example, the phrase "No %(name)s found" could be
>>> translated in French as "Aucun %(name)s trouvé" if the noun is in masculine
>>> or "Aucune %(name)s trouvée" if the noun is in feminine. Even though this
>>> example does not directly relate to messages generated by Django admin, it
>>> gives an idea about complexities involved in generating messages on the fly.
>>>
>>> So I tend to think there is no easy fix for this. And yes, in some
>>> languages Django admin messages read funny.
>>>
>>> My way to deal with this problem is to construct a (sometimes rather
>>> artificial) translation string utilizing the "dictionary form" of the noun
>>> that is being interpolated. For example, when translating "No %(name)s
>>> found" I could have tried to say something like "No object of type %(name)s
>>> was found" instead.
>>>
>>> Sergiy
>>>
>>>
>>> On Monday, September 26, 2011, Erik Wognsen <r4m...@gmail.com> wrote:
>>> > Hi,
>>> >
>>> > django/contrib/admin/options.py contains the message 'The %(name)s
>>> "%(obj)s" was changed successfully.' and similar for "added" and "deleted"
>>> and some others.
>>> >
>>> > This works well in languages that only use an article for definiteness.
>>> But what about other languages?
>>> >
>>> > For example, in Danish "employee" is "ansat" but "the employee" is "den
>>> ansatte". The current translation for many languages including Danish simply
>>> uses a form of "%(name)s \"%(obj)s\" was changed successfully.". For
>>> example: 'ansat "Foo Bar" blev ....' or, in other words, '[lower case,
>>> indefinite form of model name] "Foo Bar" was changed successfully'.
>>> >
>>> > Is it possible to handle 'The %(name)s' such that the translator may
>>> specify an upper case and definite version of the model name?
>>> >
>>> > Regards,
>>> > Erik Wognsen
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups "Django internationalization and localization" group.
>>> > To post to this group, send email to django-i18n@googlegroups.com.
>>> > To unsubscribe from this group, send email to
>>> django-i18n+unsubscr...@googlegroups.com <
>>> django-i18n%2bunsubscr...@googlegroups.com>.
>>> > For more options, visit this group at
>>> http://groups.google.com/group/django-i18n?hl=en.
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Django internationalization and localization" group.
>>> To post to this group, send email to django-i18n@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> django-i18n+unsubscr...@googlegroups.com.
>>>
>>> For more options, visit this group at
>>> http://groups.google.com/group/django-i18n?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Django internationalization and localization" group.
>> To post to this group, send email to django-i18n@googlegroups.com.
>> To unsubscribe from this group, send email to
>> django-i18n+unsubscr...@googlegroups.com.
>>
>> For more options, visit this group at
>> http://groups.google.com/group/django-i18n?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Django internationalization and localization" group.
> To post to this group, send email to django-i18n@googlegroups.com.
> To unsubscribe from this group, send email to
> django-i18n+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-i18n?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django internationalization and localization" group.
To post to this group, send email to django-i18n@googlegroups.com.
To unsubscribe from this group, send email to 
django-i18n+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-i18n?hl=en.

Reply via email to