Coming from openSUSE, might be a bit special, but worthy the discussion.
Background:
- Language files are per design split off from the main application rpm (package-lang). Rational is 'space concerns for live CDs'
- We offer bundle-lang-<LANG> packages, with a set of commonly used applications translations bundled in one 'Please translate my system to LANG' RPM. Again: for the Live CD, we do bundle a limited set of language files (thus installing a subset of all .mo files provided by all packages).
=> now as rpm does not like a file at the same location to be owned by two packages, the bundle-lang-<LANG> package 'moves' it's own .mo files to /usr/share/locale-bundle, wheras the <PACKAGE>-lang rpm installs the .mo files under /usr/share/locale (default path).
Now, the issue is gettext.py checks the path proposed by the calling app using bindtextdomain(domain,[path]).
If path is defined, it's being used, otherwise /usr/share/locale is being used.
The attached patch extends the logic to:
- If path is being used
- If path = _default_localedir
- Check for .mo in _default_bundlelocaledir
- if not found in bundle, check in _default_localedir
- Use path
- if path is not defined
- use _default_bundlelocaledir
- if not found, use _default_localedir
=> so in any case, if default_bundlelocaledir is not used, it falls back to _default_localedir, and as such I'd argue is unintrusive and keeping the patch in upstream codebase (instead of downstream package) would make sense.
Best regards,
|