Changeset 5718

Show
Ignore:
Timestamp:
11/18/08 16:47:23 (2 months ago)
Author:
faide
Message:

sanitizing our i18n handling

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.1/turbogears/i18n/__init__.py

    r5684 r5718  
    22""" 
    33 
    4 from turbogears.i18n.tg_gettext import gettext, ngettext, install, \ 
    5     is_locale_supported, lazy_gettext, lazy_ngettext, plain_gettext 
    6 from turbogears.i18n.utils import get_locale, get_accept_languages, \ 
    7     set_session_locale, google_translate 
    8 from turbogears.i18n.format import get_countries, get_country, \ 
    9     get_month_names, get_abbr_month_names, get_weekday_names, \ 
    10     get_abbr_weekday_names, get_languages, format_date, format_number, \ 
    11     format_decimal, format_currency, parse_number, parse_decimal 
    12 # FIXME-dbr: we need to make kid-support pluggable or such. 
    13 try: 
    14     from turbogears.i18n.kidutils import translate, i18n_filter 
    15 except ImportError: 
    16     def i18n_filter(stream, template, locale=None): 
    17         raise Exception("the i18n_filter is currently KID-only") 
     4from turbogears.i18n.tg_gettext import (gettext, ngettext, install, 
     5    is_locale_supported, lazy_gettext, lazy_ngettext, plain_gettext) 
     6 
     7from turbogears.i18n.utils import (get_locale, get_accept_languages, 
     8    set_session_locale, google_translate) 
     9 
     10from turbogears.i18n.format import (get_countries, get_country, 
     11    get_month_names, get_abbr_month_names, get_weekday_names, 
     12    get_abbr_weekday_names, get_languages, format_date, format_number, 
     13    format_decimal, format_currency, parse_number, parse_decimal) 
     14 
  • branches/1.1/turbogears/i18n/kidutils.py

    r5684 r5718  
    77# use plain_gettext because Kid template's strings always evaluated immediately 
    88from turbogears.i18n.tg_gettext import plain_gettext as gettext 
    9 from turbogears.i18n.utils import google_translate 
    109 
    1110def translate(item, attr=None): 
     
    3534    if attr is None: 
    3635        attr = config.get("i18n.templateLocaleAttribute", "lang") 
     36 
    3737    translate_all(item, item.get(attr), attr) 
    3838    return item 
     
    4141    prefix = '' 
    4242    postfix = '' 
    43     if len(text) > 0 and text[0].isspace(): prefix = text[0] 
    44     if len(text) > 1 and text[-1].isspace(): postfix = text[-1] 
     43    if len(text) > 0 and text[0].isspace(): 
     44        prefix = text[0] 
     45 
     46    if len(text) > 1 and text[-1].isspace(): 
     47        postfix = text[-1] 
     48 
    4549    return prefix + gettext(text.strip(), lang) + postfix 
    4650 
     
    5458    if tree.text: 
    5559        tree.text = __translate_text(tree.text, lang) 
     60 
    5661    if tree.tail and not inroot: 
    5762        # Don't translate tail of root. It is beyond the scope of the lang attr 
    5863        tree.tail = __translate_text(tree.tail, lang) 
     64 
    5965    for element in tree: 
    6066        # check overriding lang attribute 
     
    6369 
    6470def i18n_filter(stream, template, locale=None): 
    65     """Kid template filter which calls translates all elements matching language 
    66     attribute(set in configuration as i18n.templateLocaleAttribute, default 'lang') 
     71    """Kid template filter which calls translates all elements matching 
     72    language attribute(set in configuration as i18n.templateLocaleAttribute, 
     73    default 'lang') 
    6774    """ 
    6875 
    6976    lang_attr = config.get("i18n.templateLocaleAttribute", "lang") 
    70     locales=[locale] 
     77    locales = [locale] 
    7178 
    7279    for ev, item in stream: 
    7380 
    74         if ev==START: 
     81        if ev == START: 
    7582            l = item.get(lang_attr) 
    7683            if l: 
    7784                locale = l 
    7885                locales.append(l) 
    79         elif ev==TEXT: 
     86 
     87        elif ev == TEXT: 
    8088            prefix = '' 
    8189            postfix = '' 
    82             if len(item) > 0 and item[0] == ' ': prefix =' ' 
    83             if len(item) > 1 and item[-1] == ' ': postfix =' ' 
     90            if len(item) > 0 and item[0] == ' ': 
     91                prefix = ' ' 
     92 
     93            if len(item) > 1 and item[-1] == ' ': 
     94                postfix = ' ' 
    8495 
    8596            text = item.strip() 
     
    8798                item = gettext(text, locale) 
    8899                item = prefix + item + postfix 
    89         elif ev==END: 
     100 
     101        elif ev == END: 
    90102            if item.get(lang_attr): 
    91103                locales.pop() 
  • branches/1.1/turbogears/i18n/sogettext/__init__.py

    r5508 r5718  
    1 """ 
    2 SQLObject-based version of gettext 
     1"""SQLObject-based version of gettext 
    32""" 
    43import turbogears 
  • branches/1.1/turbogears/i18n/tests/__init__.py

    r4124 r5718  
    66 
    77def setup_module(): 
     8    """this method can be imported by tests to setup the test 
     9    module before running 
     10    """ 
    811    basedir = os.path.join(os.path.dirname(os.path.dirname( 
    912            os.path.dirname(os.path.abspath(__file__)))), "tests") 
  • branches/1.1/turbogears/i18n/tests/test_kidutils.py

    r1507 r5718  
    88    template = """ 
    99    <?python 
    10     from turbogears.i18n import translate 
     10    from turbogears.i18n.kidutils import translate 
    1111    ?> 
    1212    <html xmlns:py="http://purl.org/kid/ns#"> 
  • branches/1.1/turbogears/i18n/tests/test_tg_gettext.py

    r1507 r5718  
    11 
    22from turbogears.i18n.tg_gettext import * 
    3 from turbogears.i18n.tests import setup_module 
     3#from turbogears.i18n.tests import setup_module 
    44 
    55def test_gettext(): 
  • branches/1.1/turbogears/view/base.py

    r5716 r5718  
    1919import turbogears 
    2020from turbogears import identity, config 
    21 from turbogears.i18n import i18n_filter, get_locale, gettext 
     21from turbogears.i18n.kidutils import i18n_filter as kid_i18n_filter 
     22from turbogears.i18n import get_locale, gettext 
     23 
    2224from turbogears.util import (Bunch, adapt_call, get_template_encoding_default, 
    2325        get_mime_type_for_format, mime_type_has_charset) 
     
    446448        "kid.precompiled": get("kid.precompiled", False), 
    447449        "kid.i18n.run_template_filter": get("i18n.run_template_filter", False), 
    448         "kid.i18n_filter": i18n_filter, 
     450        "kid.i18n_filter": kid_i18n_filter, 
    449451        "kid.sitetemplate": get("tg.sitetemplate", 
    450452            "turbogears.view.templates.sitetemplate"),