Fix of issue 3480.
svn: r13994
This commit is contained in:
parent
e346c68fb1
commit
418b89007e
@ -30,7 +30,7 @@ Provide translation assistance
|
|||||||
# python modules
|
# python modules
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
import gettext
|
import gettext as translate
|
||||||
import os
|
import os
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
@ -66,8 +66,8 @@ def setup_gettext():
|
|||||||
:returns: Nothing.
|
:returns: Nothing.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
gettext.bindtextdomain(LOCALEDOMAIN, LOCALEDIR)
|
translate.bindtextdomain(LOCALEDOMAIN, LOCALEDIR)
|
||||||
gettext.textdomain(LOCALEDOMAIN)
|
translate.textdomain(LOCALEDOMAIN)
|
||||||
|
|
||||||
#following installs _ as a python function, we avoid this as TransUtils is
|
#following installs _ as a python function, we avoid this as TransUtils is
|
||||||
#used sometimes:
|
#used sometimes:
|
||||||
@ -101,10 +101,10 @@ def get_addon_translator(filename, domain="addon"):
|
|||||||
Assumes path/filename
|
Assumes path/filename
|
||||||
path/locale/LANG/LC_MESSAGES/addon.mo.
|
path/locale/LANG/LC_MESSAGES/addon.mo.
|
||||||
"""
|
"""
|
||||||
gramps_translator = gettext.translation(LOCALEDOMAIN, LOCALEDIR,
|
gramps_translator = translate.translation(LOCALEDOMAIN, LOCALEDIR,
|
||||||
fallback=True)
|
fallback=True)
|
||||||
path = os.path.dirname(os.path.abspath(filename))
|
path = os.path.dirname(os.path.abspath(filename))
|
||||||
addon_translator = gettext.translation(domain, os.path.join(path,"locale"),
|
addon_translator = translate.translation(domain, os.path.join(path,"locale"),
|
||||||
fallback=True)
|
fallback=True)
|
||||||
gramps_translator.add_fallback(addon_translator)
|
gramps_translator.add_fallback(addon_translator)
|
||||||
return gramps_translator # with a language fallback
|
return gramps_translator # with a language fallback
|
||||||
@ -128,6 +128,16 @@ def get_available_translations():
|
|||||||
languages.sort()
|
languages.sort()
|
||||||
|
|
||||||
return languages
|
return languages
|
||||||
|
|
||||||
|
def gettext(msgid):
|
||||||
|
"""
|
||||||
|
Obtain translation of gettext, return a unicode object
|
||||||
|
:param msgid: The string to translated.
|
||||||
|
:type msgid: unicode
|
||||||
|
:returns: Translation or the original with context stripped.
|
||||||
|
:rtype: unicode
|
||||||
|
"""
|
||||||
|
return unicode(translate.gettext(msgid))
|
||||||
|
|
||||||
def sgettext(msgid, sep='|'):
|
def sgettext(msgid, sep='|'):
|
||||||
"""
|
"""
|
||||||
@ -146,11 +156,11 @@ def sgettext(msgid, sep='|'):
|
|||||||
:rtype: unicode
|
:rtype: unicode
|
||||||
|
|
||||||
"""
|
"""
|
||||||
msgval = gettext.gettext(msgid)
|
msgval = translate.gettext(msgid)
|
||||||
if msgval == msgid:
|
if msgval == msgid:
|
||||||
sep_idx = msgid.rfind(sep)
|
sep_idx = msgid.rfind(sep)
|
||||||
msgval = msgid[sep_idx+1:]
|
msgval = msgid[sep_idx+1:]
|
||||||
return msgval
|
return unicode(msgval)
|
||||||
|
|
||||||
def sngettext(singular, plural, n, sep='|'):
|
def sngettext(singular, plural, n, sep='|'):
|
||||||
"""
|
"""
|
||||||
@ -174,8 +184,8 @@ def sngettext(singular, plural, n, sep='|'):
|
|||||||
:rtype: unicode
|
:rtype: unicode
|
||||||
|
|
||||||
"""
|
"""
|
||||||
msgval = gettext.ngettext(singular, plural, n)
|
msgval = translate.ngettext(singular, plural, n)
|
||||||
if msgval == singular:
|
if msgval == singular:
|
||||||
sep_idx = singular.rfind(sep)
|
sep_idx = singular.rfind(sep)
|
||||||
msgval = singular[sep_idx+1:]
|
msgval = singular[sep_idx+1:]
|
||||||
return msgval
|
return unicode(msgval)
|
||||||
|
Loading…
Reference in New Issue
Block a user