Thanks, I think contextual markers is a solution, where they can be either
"female", "male" or "other".


*Uri Even-Chen*
[image: photo] Phone: +972-54-3995700
Email: [email protected]
Website: http://www.speedysoftware.com/uri/en/
<http://www.facebook.com/urievenchen>  <http://plus.google.com/+urievenchen>
  <http://www.linkedin.com/in/urievenchen>  <http://github.com/urievenchen>
<http://twitter.com/urievenchen>

On Thu, Dec 22, 2016 at 10:10 PM, Avraham Serour <[email protected]> wrote:

> maybe translation context?
> https://docs.djangoproject.com/en/dev/topics/i18n/translation/#contextual-
> markers
>
>
> On Thu, Dec 22, 2016 at 9:29 PM, Fergus Cameron <[email protected]>
> wrote:
>
>> I personally try to use language agnostic message IDs and translate
>> everything (i.e. including English).  Your idea of appending the
>> gender is along the same lines and seems logical.
>>
>> On 22/12/2016, Uri Even-Chen <[email protected]> wrote:
>> > Hi Django users,
>> >
>> > How do you recommend to use Hebrew gender-related translations?
>> >
>> > For example, here are the choices for diet in Speedy Net (notice it's
>> > currently only used in Speedy Match, but it's part of the profile of
>> Speedy
>> > Net):
>> >
>> > ```
>> > class User(Entity, PermissionsMixin, AbstractBaseUser):
>> > ....
>> >     GENDER_FEMALE = 1
>> >     GENDER_MALE = 2
>> >     GENDER_OTHER = 3
>> >     GENDER_CHOICES = (
>> >         (GENDER_FEMALE, _('Female')),
>> >         (GENDER_MALE, _('Male')),
>> >         (GENDER_OTHER, _('Other')),
>> >     )
>> >
>> >     DIET_UNKNOWN   = 0
>> >     DIET_VEGAN      = 1
>> >     DIET_VEGETARIAN = 2
>> >     DIET_CARNIST    = 3
>> >     DIET_CHOICES = (
>> >         (DIET_UNKNOWN, _('Please select...')),
>> >         (DIET_VEGAN, _('Vegan (eats only plants and fungi)')),
>> >         (DIET_VEGETARIAN, _('Vegetarian (doesn\'t eat fish and meat)')),
>> >         (DIET_CARNIST, _('Carnist (eats animals)'))
>> >     )
>> > ....
>> >     gender = models.SmallIntegerField(verbose_name=_('I am'),
>> > choices=GENDER_CHOICES)
>> >     diet = models.SmallIntegerField(verbose_name=_('diet'),
>> > choices=DIET_CHOICES, default=DIET_UNKNOWN)
>> > ```
>> >
>> > And here are the translations:
>> > ```
>> > #: .\accounts\models.py:151
>> > msgid "Vegan (eats only plants and fungi)"
>> > msgstr "טבעוני/ת (אוכל/ת רק צמחים ופטריות)"
>> >
>> > #: .\accounts\models.py:152
>> > msgid "Vegetarian (doesn't eat fish and meat)"
>> > msgstr "צמחוני/ת (לא אוכל/ת דגים ובשר)"
>> >
>> > #: .\accounts\models.py:153
>> > msgid "Carnist (eats animals)"
>> > msgstr "קרניסט/ית (אוכל/ת חיות)"
>> > ```
>> >
>> > The correct translations in Hebrew are per gender (female, male or
>> other)
>> > but in English they are the same. How do you recommend to program it? I
>> > thought about adding " [female]", " [male]" or " [other]" suffixes to
>> the
>> > strings and then removing them in the English translations. But then
>> > English would also require a translation. Is there a better approach?
>> And
>> > how do I write the model when this feature is gender-related?
>> >
>> > The same question is related to any site which has a language where the
>> > text is gender-related, and a language where it is not.
>> >
>> > You can see the code on GitHub: https://github.com/urievenchen
>> /speedy-net
>> >
>> > Thanks,
>> > Uri.
>> >
>> > *Uri Even-Chen*
>> > [image: photo] Phone: +972-54-3995700
>> > Email: [email protected]
>> > Website: http://www.speedysoftware.com/uri/en/
>> > <http://www.facebook.com/urievenchen>
>> > <http://plus.google.com/+urievenchen>
>> >   <http://www.linkedin.com/in/urievenchen>  <
>> http://github.com/urievenchen>
>> > <http://twitter.com/urievenchen>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "Django users" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to [email protected].
>> > To post to this group, send email to [email protected].
>> > Visit this group at https://groups.google.com/group/django-users.
>> > To view this discussion on the web visit
>> > https://groups.google.com/d/msgid/django-users/CAMQ2MsGv_fvj
>> 6ijM4rb-Y7XfQeGbPJvd38_7o_LYbiukuhxyrg%40mail.gmail.com.
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit https://groups.google.com/d/ms
>> gid/django-users/CAHCf7OFGAsD5dAWKOwM535U7ChftJ3LLM9BS2u%
>> 3DHPm9Oiued_Q%40mail.gmail.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-users/CAFWa6t%2BwK%2BZBGuayQp8RBpfbC%
> 3DE5QtshfJC13ANMdqru9WCENw%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAFWa6t%2BwK%2BZBGuayQp8RBpfbC%3DE5QtshfJC13ANMdqru9WCENw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAMQ2MsFvAXBxDN-ztpQUKVJnLNdiLAOU%2Bc_zqQDqa2wpRn-zkA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to