Changeset 3303

Show
Ignore:
Timestamp:
08/04/07 14:05:15 (1 year ago)
Author:
paul
Message:

Reverted the behavior of _ to how we had it originally: you must explicitly
issue 'from dabo.dLocalize import _' instead of having _ in builtins,
which caused several hard-to-fix problems, and potentially others we
hadn't found yet.

You'll get errors until you add back any of those lines to your own apps.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dabo/biz/dAutoBizobj.py

    r3290 r3303  
    22import datetime 
    33import dabo 
     4from dabo.dLocalize import _ 
    45import dabo.dException as dException 
    56from dabo.biz.dBizobj import dBizobj 
  • trunk/dabo/biz/dBizobj.py

    r3300 r3303  
    55import dabo.dConstants as kons 
    66from dabo.db.dCursorMixin import dCursorMixin 
     7from dabo.dLocalize import _ 
    78import dabo.dException as dException 
    89from dabo.dObject import dObject 
  • trunk/dabo/dApp.py

    r3290 r3303  
    1515import dabo.db 
    1616import dLocalize 
     17from dabo.dLocalize import _ 
    1718from dabo.lib.connParser import importConnections 
    1819from dabo import dLocalize 
  • trunk/dabo/dEvents.py

    r3290 r3303  
    44from dabo.dObject import dObject 
    55import dabo.ui as ui 
     6from dabo.dLocalize import _ 
    67 
    78 
  • trunk/dabo/dLocalize.py

    r3297 r3303  
    1818 
    1919_domains = {} 
     20_currentTrans = None 
    2021 
    2122_languageAliases = {"english": "en", 
     
    2627        "portuguese": "pt", "portuguése": "pt", 
    2728        "russian": "ru"} 
     29 
     30def _(s): 
     31    """Return the localized translation of s, or s if translation not possible.""" 
     32    if _currentTrans is not None: 
     33        return _currentTrans(s) 
     34    return s 
     35 
     36 
     37def n_(s): 
     38    return s 
    2839 
    2940 
     
    4152        localedir = getDaboLocaleDir() 
    4253    _domains[domain] = localedir 
    43     gettext.install(domain, localedir, unicode=unicode_mo) 
     54    #gettext.install(domain, localedir, unicode=unicode_mo)  ## No, don't globally bind _ 
    4455    setLanguage(_defaultLanguage, _defaultEncoding) 
    4556 
     
    5263def setLanguage(lang=None, charset=None): 
    5364    """Change the language that strings get translated to, for all installed domains.""" 
    54     global _domains 
     65    global _domains, _currentTrans 
    5566 
    5667    lang = _languageAliases.get(lang, lang) 
     
    6374    if daboLocaleDir: 
    6475        daboTranslation = gettext.translation("dabo", daboLocaleDir, languages=lang, codeset=charset) 
    65         daboTranslation.install() 
     76#       daboTranslation.install()  ## No, don't globally bind _ 
     77        _currentTrans = daboTranslation.ugettext 
    6678 
    6779    for domain, localedir in _domains.items(): 
     
    7486        if daboTranslation: 
    7587            translation.add_fallback(daboTranslation) 
    76         translation.install() 
     88#       translation.install()  ## No, don't globally bind _ 
     89        _currentTrans = translation.ugettext 
    7790 
    7891 
     
    91104 
    92105 
    93 # All kinds of user apps (think appwizard) have the deprecated import of _: 
    94 def _(s): 
    95     warnings.warn("Please remove your 'from dLocalize import _' statement.", DeprecationWarning, stacklevel=2) 
    96     return __builtins__["_"](s) 
     106if __name__ == "__main__": 
     107    install() 
     108    print "sys.getdefaultencoding():", sys.getdefaultencoding() 
     109    print "locale.getlocale():", locale.getlocale() 
     110    print "_defaultLanguage, _defaultEncoding:", _defaultLanguage, _defaultEncoding 
     111    stringsToTranslate = ("Hey", "Application finished.") 
     112    for lang in set(_languageAliases.values()): 
     113        print "Setting language to '%s'." % (lang) 
     114        setLanguage(lang) 
     115        for s in stringsToTranslate: 
     116            print "Translating '%s':" % s, _(s) 
    97117 
    98 def n_(s): 
    99     warnings.warn("Please remove your 'from dLocalize import n_' statement.", DeprecationWarning, stacklevel=2) 
    100     return s 
    101  
    102  
  • trunk/dabo/dObject.py

    r3290 r3303  
    99from dabo.lib.autosuper import autosuper 
    1010from dabo.dPref import dPref 
     11from dabo.dLocalize import _ 
    1112 
    1213class Dummy(object): 
  • trunk/dabo/dPref.py

    r3290 r3303  
    44import datetime 
    55import dabo 
     6from dabo.dLocalize import _ 
    67import dabo.lib.utils as utils 
    78 
  • trunk/dabo/dReportWriter.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
     2from dabo.dLocalize import _ 
    23from dabo.lib.reportWriter import ReportWriter 
    34from dabo.dObject import dObject 
  • trunk/dabo/dSecurityManager.py

    r3290 r3303  
    22import time 
    33from dabo.dObject import dObject 
     4from dLocalize import _ 
    45 
    56 
  • trunk/dabo/dUserSettingProvider.py

    r3290 r3303  
    22import dabo 
    33from dabo.dObject import dObject 
     4from dabo.dLocalize import _ 
    45 
    56 
  • trunk/dabo/db/dBackend.py

    r3290 r3303  
    44import datetime 
    55import dabo 
     6from dabo.dLocalize import _ 
    67import dabo.dException as dException 
    78from dabo.dObject import dObject 
  • trunk/dabo/db/dConnectInfo.py

    r3290 r3303  
    44from dabo.lib.connParser import importConnections 
    55from dabo.dObject import dObject 
     6from dabo.dLocalize import _ 
    67from dabo.lib.SimpleCrypt import SimpleCrypt 
    78 
  • trunk/dabo/db/dConnection.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
     2from dabo.dLocalize import _ 
    23from dabo.dObject import dObject 
    34from dConnectInfo import dConnectInfo 
  • trunk/dabo/db/dCursorMixin.py

    r3290 r3303  
    1818import dabo 
    1919import dabo.dConstants as kons 
     20from dabo.dLocalize import _ 
    2021import dabo.dException as dException 
    2122from dabo.dObject import dObject 
  • trunk/dabo/db/dDataSet.py

    r3290 r3303  
    33import re 
    44import dabo 
     5from dabo.dLocalize import _ 
    56import datetime 
    67 
  • trunk/dabo/db/dTable.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
     2from dabo.dLocalize import _ 
    23import dabo.dException as dException 
    34from dabo.dObject import dObject 
  • trunk/dabo/db/dbFirebird.py

    r3290 r3303  
    33import re 
    44import dabo 
     5from dabo.dLocalize import _ 
    56from dBackend import dBackend 
    67from dCursorMixin import dCursorMixin 
  • trunk/dabo/db/dbMsSQL.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
    22import datetime 
     3from dabo.dLocalize import _ 
    34from dBackend import dBackend 
    45 
  • trunk/dabo/db/dbMySQL.py

    r3290 r3303  
    55except ImportError: 
    66    decimal = None 
     7from dabo.dLocalize import _ 
    78from dBackend import dBackend 
    89import dabo.dException as dException 
  • trunk/dabo/db/dbOracle.py

    r3290 r3303  
    2525""" 
    2626import datetime 
     27from dabo.dLocalize import _ 
    2728from dBackend import dBackend 
    2829 
  • trunk/dabo/db/dbPostgreSQL.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
    22import datetime 
     3from dabo.dLocalize import _ 
    34from dBackend import dBackend 
    45 
  • trunk/dabo/db/dbSQLite.py

    r3290 r3303  
    33import os 
    44import re 
     5from dabo.dLocalize import _ 
    56from dBackend import dBackend 
    67from dNoEscQuoteStr import dNoEscQuoteStr as dNoEQ 
  • trunk/dabo/db/dbTemplate.py

    r3290 r3303  
    2525""" 
    2626import datetime 
     27from dabo.dLocalize import _ 
    2728from dBackend import dBackend 
    2829 
  • trunk/dabo/lib/DesignerXmlConverter.py

    r3290 r3303  
    1111dabo.ui.loadUI("wx") 
    1212import dabo.dEvents as dEvents 
     13from dabo.dLocalize import _ 
    1314from dabo.dObject import dObject 
    1415import dabo.ui.dialogs as dlgs 
  • trunk/dabo/lib/datanav/Form.py

    r3290 r3303  
    77import dabo.ui 
    88from dabo.lib.specParser import importRelationSpecs, importFieldSpecs 
     9from dabo.dLocalize import _, n_ 
    910import dabo.lib.reportUtils as reportUtils 
    1011import PageFrame 
  • trunk/dabo/lib/datanav/Grid.py

    r3290 r3303  
    1111import dabo.dException as dException 
    1212dabo.ui.loadUI("wx") 
     13from dabo.dLocalize import _, n_ 
    1314import dabo.dEvents as dEvents 
    1415 
  • trunk/dabo/lib/datanav/Page.py

    r3291 r3303  
    66import dabo.dException as dException 
    77import dabo.dEvents as dEvents 
     8from dabo.dLocalize import _, n_ 
    89from dabo.lib.utils import padl 
    910from dabo.dObject import dObject 
  • trunk/dabo/lib/datanav/PageFrame.py

    r3290 r3303  
    44import dabo.dEvents as dEvents 
    55import Page as pag 
     6from dabo.dLocalize import _, n_ 
    67 
    78dabo.ui.loadUI("wx") 
  • trunk/dabo/lib/datanav/__init__.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
    22import warnings 
     3from dabo.dLocalize import _ 
    34from Form import Form 
    45from Grid import Grid 
  • trunk/dabo/lib/datanav2/Form.py

    r3290 r3303  
    55import dabo.dEvents as dEvents 
    66import dabo.ui 
     7from dabo.dLocalize import _, n_ 
    78import dabo.lib.reportUtils as reportUtils 
    89import PageFrame 
  • trunk/dabo/lib/datanav2/Grid.py

    r3290 r3303  
    44import dabo.dException as dException 
    55dabo.ui.loadUI("wx") 
     6from dabo.dLocalize import _, n_ 
    67import dabo.dEvents as dEvents 
    78 
  • trunk/dabo/lib/datanav2/Page.py

    r3290 r3303  
    55import dabo.dException as dException 
    66import dabo.dEvents as dEvents 
     7from dabo.dLocalize import _, n_ 
    78from dabo.lib.utils import padl 
    89from dabo.dObject import dObject 
     
    1112import Grid 
    1213 
    13 IGNORE_STRING, CHOICE_TRUE, CHOICE_FALSE = ("-ignore-", "Is True", "Is False") 
    14  
    15 ASC, DESC = ("asc", "desc") 
     14IGNORE_STRING, CHOICE_TRUE, CHOICE_FALSE = (n_("-ignore-"), 
     15        n_("Is True"), 
     16        n_("Is False") ) 
     17 
     18ASC, DESC = (n_("asc"), n_("desc")) 
    1619 
    1720# Controls for the select page: 
     
    371374        if typ in ("char", "memo"): 
    372375            if typ == "char": 
    373                 chcList = ["Equals", "Begins With", "Contains"] 
     376                chcList = [n_("Equals"),  
     377                        n_("Begins With"), 
     378                        n_("Contains")] 
    374379            elif typ == "memo": 
    375                 chcList = ["Begins With", "Contains"] 
     380                chcList = [n_("Begins With"), 
     381                        n_("Contains")] 
    376382            if wordSearch: 
    377                 chcList.append("Matches Words"
     383                chcList.append(n_("Matches Words")
    378384            chc = tuple(chcList) 
    379385        elif typ in ("date", "datetime"): 
    380             chc = ("Equals"
    381                     "On or Before"
    382                     "On or After"
    383                     "Before"
    384                     "After"
     386            chc = (n_("Equals")
     387                    n_("On or Before")
     388                    n_("On or After")
     389                    n_("Before")
     390                    n_("After")
    385391        elif typ in ("int", "float", "decimal"): 
    386             chc = ("Equals",  
    387                     "Greater than"
    388                     "Greater than/Equal to"
    389                     "Less than"
    390                     "Less than/Equal to"
     392            chc = (n_("Equals"),  
     393                    n_("Greater than")
     394                    n_("Greater than/Equal to")
     395                    n_("Less than")
     396                    n_("Less than/Equal to")
    391397        elif typ == "bool": 
    392398            chc = (CHOICE_TRUE, CHOICE_FALSE) 
  • trunk/dabo/lib/datanav2/PageFrame.py

    r3290 r3303  
    33import dabo.dEvents as dEvents 
    44import Page as pag 
     5from dabo.dLocalize import _, n_ 
    56 
    67 
  • trunk/dabo/lib/eventMixin.py

    r3290 r3303  
    44import traceback 
    55import dabo 
     6from dabo.dLocalize import _ 
    67 
    78 
  • trunk/dabo/lib/logger.py

    r3290 r3303  
    22import sys, os, time 
    33from dabo.dObject import dObject 
     4from dabo.dLocalize import _ 
    45 
    56class Log(dObject): 
  • trunk/dabo/lib/propertyHelperMixin.py

    r3290 r3303  
    11# -*- coding: utf-8 -*- 
    22import string 
     3from dabo.dLocalize import _ 
    34 
    45 
  • trunk/dabo/lib/reportWriter.py

    r3290 r3303  
    5454from dabo.lib.xmltodict import xmltodict 
    5555from dabo.lib.xmltodict import dicttoxml 
     56from dabo.dLocalize import _ 
    5657from dabo.lib.caselessDict import CaselessDict 
    5758from reportlab.lib.utils import ImageReader 
  • trunk/dabo/lib/xmltodict.py

    r3290 r3303  
    1313import dabo 
    1414import dabo.lib.DesignerUtils as desUtil 
     15from dabo.dLocalize import _ 
    1516from dabo.lib.utils import resolvePath 
    1617app = dabo.dAppRef 
  • trunk/dabo/ui/__init__.py

    r3290 r3303  
    1515import os, traceback 
    1616import dabo 
     17from dabo.dLocalize import _ 
    1718 
    1819 
  • trunk/dabo/ui/dControlMixinBase.py

    r3290 r3303  
    44import dabo 
    55import dabo.ui 
     6from dabo.dLocalize import _ 
    67import dabo.dEvents as dEvents 
    78 
  • trunk/dabo/ui/dDataControlMixinBase.py

    r3290 r3303  
    77import dabo.dException as dException 
    88from dabo.dObject import dObject 
     9from dabo.dLocalize import _ 
    910 
    1011 
  • trunk/dabo/ui/dPemMixinBase.py

    r3290 r3303  
    55from dabo.dObject import dObject 
    66import dabo.dException as dException 
     7from dabo.dLocalize import _ 
    78 
    89 
  • trunk/dabo/ui/dialogs/SortingForm.py

    r3290 r3303  
    33dabo.ui.loadUI("wx") 
    44import dabo.dEvents as dEvents 
     5from dabo.dLocalize import _ 
    56 
    67 
  • trunk/dabo/ui/dialogs/Wizard.py

    r3290 r3303  
    33import dabo 
    44dabo.ui.loadUI("wx") 
     5from dabo.dLocalize import _ 
    56import dabo.dEvents as dEvents 
    67import dabo.dConstants as k 
  • trunk/dabo/ui/dialogs/WizardPage.py

    r3290 r3303  
    22import dabo 
    33dabo.ui.loadUI("wx") 
     4from dabo.dLocalize import _ 
    45import dabo.dEvents as dEvents 
    56import dabo.dConstants as k 
  • trunk/dabo/ui/dialogs/about.py

    r3290 r3303  
    55    dabo.ui.loadUI("wx") 
    66import dabo.dEvents as dEvents 
     7from dabo.dLocalize import _ 
    78 
    89class About(dabo.ui.dDialog): 
  • trunk/dabo/ui/dialogs/htmlAbout.py

    r3290 r3303  
    77    dabo.ui.loadUI("wx") 
    88import dabo.dEvents as dEvents 
     9from dabo.dLocalize import _ 
    910 
    1011 
  • trunk/dabo/ui/dialogs/login.py

    r3290 r3303  
    99    dabo.ui.loadUI("wx") 
    1010 
     11from dabo.dLocalize import _ 
    1112import dabo.dEvents as dEvents 
    1213dKeys = dabo.ui.dKeys 
  • trunk/dabo/ui/uitk/dCheckBox.py

    r3290 r3303  
    77import dDataControlMixin as dcm 
    88import dabo.dEvents as dEvents 
     9from dabo.dLocalize import _ 
    910 
    1011 
  • trunk/dabo/ui/uitk/dFormMixin.py

    r3290 r3303  
    22""" dFormMixin.py """ 
    33import dPemMixin as pm 
     4from dabo.dLocalize import _ 
    45import dabo.dEvents as dEvents 
    56 
  • trunk/dabo/ui/uitk/dPemMixin.py

    r3290 r3303  
    33import sys, types 
    44import dabo 
     5from dabo.dLocalize import _ 
    56import dabo.ui.dPemMixinBase 
    67import dabo.dEvents as dEvents 
  • trunk/dabo/ui/uiwx/__init__.py

    r3296 r3303  
    88import time 
    99import cStringIO 
     10from dabo.dLocalize import _ 
    1011 
    1112###################################################### 
  • trunk/dabo/ui/uiwx/dBaseMenuBar.py

    r3290 r3303  
    1616from dMenuBar import dMenuBar 
    1717import dIcons 
     18from dabo.dLocalize import _, n_ 
    1819 
    1920iconPath = "themes/tango/16x16" 
  • trunk/dabo/ui/uiwx/dBitmap.py

    r3290 r3303  
    99import dImageMixin as dim 
    1010import dabo.dEvents as dEvents 
     11from dabo.dLocalize import _ 
    1112import dIcons 
    1213from dabo.ui import makeDynamicProperty 
  • trunk/dabo/ui/uiwx/dBitmapButton.py

    r3290 r3303  
    77import dControlMixin as cm 
    88import dPemMixin as pm 
     9from dabo.dLocalize import _ 
    910from dIcons import getIconBitmap 
    1011from dabo.ui import makeDynamicProperty 
  • trunk/dabo/ui/uiwx/dBorderSizer.py

    r3290 r3303  
    22import wx 
    33import dabo 
     4from dabo.dLocalize import _ 
    45from dabo.ui import makeDynamicProperty 
    56 
  • trunk/dabo/ui/uiwx/dButton.py

    r3290 r3303  
    88 
    99import dControlMixin as cm 
     10from dabo.dLocalize import _ 
    1011import dabo.dEvents as dEvents 
    1112from dabo.ui import makeDynamicProperty 
  • trunk/dabo/ui/uiwx/dCalendar.py

    r3290 r3303  
    99import dabo.dEvents as dEvents 
    1010import dabo.dColors as dColors 
     11from dabo.dLocalize import _ 
    1112from dabo.ui import makeDynamicProperty 
    1213 
  • trunk/dabo/ui/uiwx/dCheckBox.py

    r3290 r3303  
    77import dDataControlMixin as dcm 
    88import dabo.dEvents as dEvents 
     9from dabo.dLocalize import _ 
    910from dabo.ui import makeDynamicProperty 
    1011 
  • trunk/dabo/ui/uiwx/dCheckListBox.py

    r3290 r3303  
    66import dControlItemMixin as dcm 
    77import dabo.dEvents as dEvents 
     8from dabo.dLocalize import _ 
    89 
    910 
  • trunk/dabo/ui/uiwx/dComboBox.py

    r3290 r3303  
    55import dControlItemMixin as dcm 
    66import dabo.dEvents as dEvents 
     7from dabo.dLocalize import _ 
    78from dabo.ui import makeDynamicProperty 
    89 
  • trunk/dabo/ui/uiwx/dControlItemMixin.py