I18n.py :  » Template-Engines » Cheetah » Cheetah-2.4.2.1 » cheetah » Macros » Python Open Source

Home
Python Open Source
1.3.1.2 Python
2.Ajax
3.Aspect Oriented
4.Blog
5.Build
6.Business Application
7.Chart Report
8.Content Management Systems
9.Cryptographic
10.Database
11.Development
12.Editor
13.Email
14.ERP
15.Game 2D 3D
16.GIS
17.GUI
18.IDE
19.Installer
20.IRC
21.Issue Tracker
22.Language Interface
23.Log
24.Math
25.Media Sound Audio
26.Mobile
27.Network
28.Parser
29.PDF
30.Project Management
31.RSS
32.Search
33.Security
34.Template Engines
35.Test
36.UML
37.USB Serial
38.Web Frameworks
39.Web Server
40.Web Services
41.Web Unit
42.Wiki
43.Windows
44.XML
Python Open Source » Template Engines » Cheetah 
Cheetah » Cheetah 2.4.2.1 » cheetah » Macros » I18n.py
import gettext
_ = gettext.gettext
class I18n(object):
    def __init__(self, parser):
        pass

## junk I'm playing with to test the macro framework 
#    def parseArgs(self, parser, startPos):
#        parser.getWhiteSpace()
#        args = parser.getExpression(useNameMapper=False,
#                                    pyTokensToBreakAt=[':']).strip()
#        return args
#
#    def convertArgStrToDict(self, args, parser=None, startPos=None):
#        def getArgs(*pargs, **kws):
#            return pargs, kws
#        exec 'positionalArgs, kwArgs = getArgs(%(args)s)'%locals()
#        return kwArgs

    def __call__(self,
                 src, # aka message,
                 plural=None,
                 n=None, # should be a string representing the name of the
                          # '$var' rather than $var itself                   
                 id=None,
                 domain=None,
                 source=None,
                 target=None,
                 comment=None,

                 # args that are automatically supplied by the parser when the
                 # macro is called:
                 parser=None,
                 macros=None,
                 isShortForm=False,
                 EOLCharsInShortForm=None,
                 startPos=None,
                 endPos=None,
             ):
        """This is just a stub at this time.

     plural = the plural form of the message
     n = a sized argument to distinguish between single and plural forms           

           id = msgid in the translation catalog
     domain = translation domain
     source = source lang
     target = a specific target lang
     comment = a comment to the translation team

        See the following for some ideas
        http://www.zope.org/DevHome/Wikis/DevSite/Projects/ComponentArchitecture/ZPTInternationalizationSupport

        Other notes:
        - There is no need to replicate the i18n:name attribute from plone / PTL,
          as cheetah placeholders serve the same purpose
    
    
       """
        
        #print macros['i18n']
        src = _(src)
        if isShortForm and endPos<len(parser):
            return src+EOLCharsInShortForm
        else:
            return src
        
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.