First proof of concept, fixing the original bug for Russian.
Added gramps/gen/datehandler/_datestrings.py, to hold
all the localized strings, with genitive/nominative
context as appropriate.
Remaining TODO:
1) other languages
2) expand the localized string into RE-style
concat via |, so that displayer uses the 1st instance,
and the parser uses the whole RE. Write the corresponding _().
3) same with short names as with long names
4) harmonize with _grampslocale code reading the names from
elsewhere for Julian/Gregorian months
5) expand to other calendars (non-Julian/non-Gregorian)
6) obsolete the public attributes in dd and replace with accessors
svn: r23173
This reverts commit db9a64ef7da5f26c586452c1a84a96675991d9a4.
This was tested with "runtest.sh" only, but turns out things
are broken under GUI. I'll investigate on a private branch,
reverting meanwhile to unblock the affected plugins on trunk.
svn: r23099
Now that #7061 is done, all the old code should no longer use
User.begin_.../step_.../end_progress directly any more, preferring
the context manager instead.
svn: r23096
PEP-0008 reserves the use of a trailing underscore for names
which conflict with Python keywords, which this doesn't.
The goal is to have a permanent name which is unique across
the gramps namespace, since it is defined (in po/genpot.sh
and po/update_po.py) as a keyword to flag strings to be put
into the translation "catalog" file (gramps.pot).
The new keyword "trans_text" is still unique. (Also "_T_".)
svn: r22201
Only one base translation per locale. To set up a different locale
on any axis (locale, domain, directory, or languages) instantiate a
secondary locale by calling GrampsLocale() with the appropriate
arguments.
svn: r21968
set_translation() to the Report class
Add a new module stdoptions to gen.plug.report with function
add_localization_option(). The intent of stdoptions is to reduce the code-copying among reports; this is the first bit.
svn: r21966
With GrampsLocale.sort_key (for strxfrm and conv*_tosrtkey) and
GrampsLocale.strcoll.
If ICU is available will use the correct ICU::Collator for the locale,
otherwise falls back to locale.strxfrm -- for which it temporarily
changes the LC_COLLATE locale.
svn: r21275
Permits sorting by localized language name.
Also hides the language code, which the user doesn't really care about.
Removes get_language_string from libtranslate.py, no longer needed.
svn: r21236
GrampsLocale is effectively a singleton: An instance is created in
const.py and retrieved everywhere.
Translations are provided via Translations classes, which are derived
from GNUTranslations and NullTranslations to provide extra functions
like sgettext.
svn: r21143
Reflecting discussion on gramps-devel about their affecting more than
just translations.
Provide for a master GrampsLocale instance to be retrieved from
const.py, set by grampsapp.
svn: r21142