#31937: Can't translate strings properly to Hebrew and Arabic
-------------------------------------+-------------------------------------
     Reporter:  אורי                 |                    Owner:  nobody
         Type:  Bug                  |                   Status:  closed
    Component:                       |                  Version:  master
  Internationalization               |
     Severity:  Normal               |               Resolution:  wontfix
     Keywords:                       |             Triage Stage:
                                     |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by אורי):

 Replying to [comment:3 Claude Paroz]:
 > This is a "limitation" (or feature, depends on how you look at it) of
 gettext, that a placeholder must be present on both parts (msgid and
 msgstr) of a translatable string (with some exceptions, but they don't
 apply here).
 >
 > Read also: https://www.gnu.org/software/gettext/manual/gettext.html
 #Translating-plural-forms-1
 >
 > I don't see any solution, but if you find one , please reopen with a
 concrete proposal.

 Hi Claude,

 I submitted a bug report on https://savannah.gnu.org/bugs/?59005 and I
 received a response. If Django uses the following format:

 {{{
 msgid "%d year"
 msgid_plural "%d years"
 }}}

 Then the number `%d` should be present in every language. However, by
 using the following format with named paramters:

 {{{
 msgid "%(number)d year"
 msgid_plural "%(number)d years"
 }}}

 Then languages such as Hebrew and Arabic are allowed to omit the number
 `%d`, which makes more sense since in those languages there is a word for
 "2 years" (and also 2 weeks, 2 months etc.). So if Django will name the
 number of years, in this example, then it will be possible to use the
 correct word in Hebrew and Arabic (using the number "2" in these
 translations is possible, but it's not the correct translation). Also,
 when translating "one year", I think also English as well as other
 languages would prefer to use the word "one" in words, and not in digits
 (`1`).

 What do you think?

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31937#comment:5>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/069.4a17db9d50f714a930856bea1755027d%40djangoproject.com.

Reply via email to