Hello.
Can anyone recommend translation frameworks other than gettext that can
be used with Django?
Here is why I am asking. Sorry if this is a FAQ.
I work for a Russian company that maintains two closed-source
Django-based SaaS websites - one for Russians, and one for the rest of
the world. Parts of the sites that provide useful functionality to the
logged-in users should be translations of each other.
A traditional way of managing this (and what we are doing now) is to
create templates with some translatable text marked like this: {% trans
'Instructions' %}, and to place translatable text in *.py files inside
_(u"text") calls. Then the standard Django translation framework (which
is based on gettext) will pick that up and place into *.po files that
can be translated with any standard tools.
Unfortunately, this workflow doesn't work well here. Our existing Python
programmer can read English documentation, but just cannot write
grammatically correct English. More than 50% of source strings thus
result in msgid-bugs that are hard to fix in a gettext-based workflow.
People who can translate from Russian into English are available and we
could hire one of them, but they have no place in this workflow, because
gettext pretty much insists (^1) on using English as the source language
for translation. People who know both Python and grammatically correct
English do exist in Russia, but are very rare, and the majority of them
demand salary that is way beyond our budget (i.e. a person who is a
specialist in both areas is way more expensive than two people
specialized in one area each).
So, I am searching for an alternative but well-established solution that
can be easily explained for a translator, doesn't require the programmer
to write correct English phrases on the first try, has a place for a
translator who knows how to translate to English, and allows for both
English and Russian phrases to be reworded easily at any point in time.
(^1) The problem is that gettext pretty much assumes that the source
language is English. E.g., ngettext applies the English rules in order
to decide whether to use the first or the second argument if there is no
translation.
--
Alexander E. Patrakov
--
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 django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/538475EE.10007%40gmail.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment