Beispiel #1
0
def _stringEditMenu(userid, module, key, parent):
    keylist = langlist[str(module)]
    changestring = popuplib.easymenu('xachangestringmenu_'+str(random.randint(1, 10))+'_'+str(userid)+'_'+str(key).lower(),None,_changestring_select)
    changestring.settitle(xalang['change language'])
    changestring.submenu(parent)
    changestring.c_exitformat = '0. '+xalang('just back', playerlib.getPlayer(userid).get('lang'))
    changestring._xa = [module, key, parent]
    menulist.append(changestring)
    for ll in langlib.getLanguages():
        lang = langlib.getLangAbbreviation(ll)
        changestring.addoption(str(lang), xalanguage.language.createLanguageString('%s = %s' % (lang, keylist(key, {}, lang))))
    return changestring
Beispiel #2
0
def _stringEditMenu(userid, module, key, parent):
    keylist = langlist[str(module)]
    changestring = popuplib.easymenu(
        'xachangestringmenu_' + str(random.randint(1, 10)) + '_' +
        str(userid) + '_' + str(key).lower(), None, _changestring_select)
    changestring.settitle(xalang['change language'])
    changestring.submenu(parent)
    changestring.c_exitformat = '0. ' + xalang(
        'just back',
        playerlib.getPlayer(userid).get('lang'))
    changestring._xa = [module, key, parent]
    menulist.append(changestring)
    for ll in langlib.getLanguages():
        lang = langlib.getLangAbbreviation(ll)
        changestring.addoption(
            str(lang),
            xalanguage.language.createLanguageString(
                '%s = %s' % (lang, keylist(key, {}, lang))))
    return changestring
Beispiel #3
0
def load():
    global mainmenu
    mainmenu = popuplib.easymenu('xamainsoundmenu',None,_mainmenu_select)
    mainmenu.settitle(xalanguage['sounds'])
    
    if xasoundslist:
        for sound in xasoundslist:
            for ll in langlib.getLanguages():
                mainmenu.addoption(str(sound), str(sound),1,langlib.getLangAbbreviation(ll))

    xasounds.addRequirement("xasettings")
    xasounds.registerCapability('play_adminsound', 'ADMIN')
    xasounds.addMenu('xamainsoundmenu',xalanguage['sounds'],'xamainsoundmenu','play_sound','UNRESTRICTED')
    xasounds.xasettings.registerMethod("xasounds", _switch_setting, xalanguage["sounds"])
    
    """ If XA is loaded whilst a map is loaded, then call map start event """
    if str(es.ServerVar('eventscripts_currentmap')) != "":
        es_map_start({})
    for player in es.getUseridList():
        player_activate({'userid':player})
Beispiel #4
0
def load():
    global mainmenu
    mainmenu = popuplib.easymenu('xamainsoundmenu', None, _mainmenu_select)
    mainmenu.settitle(xalanguage['sounds'])

    if xasoundslist:
        for sound in xasoundslist:
            for ll in langlib.getLanguages():
                mainmenu.addoption(str(sound), str(sound), 1,
                                   langlib.getLangAbbreviation(ll))

    xasounds.addRequirement("xasettings")
    xasounds.registerCapability('play_adminsound', 'ADMIN')
    xasounds.addMenu('xamainsoundmenu', xalanguage['sounds'],
                     'xamainsoundmenu', 'play_sound', 'UNRESTRICTED')
    xasounds.xasettings.registerMethod("xasounds", _switch_setting,
                                       xalanguage["sounds"])
    """ If XA is loaded whilst a map is loaded, then call map start event """
    if str(es.ServerVar('eventscripts_currentmap')) != "":
        es_map_start({})
    for player in es.getUseridList():
        player_activate({'userid': player})
Beispiel #5
0
class LanguageDict(dict):
    languages = langlib.getLanguages()
    abbreviations = map(langlib.getLangAbbreviation, languages)
    defaultlang = langlib.getDefaultLang()
    def __init__(self, key, value):
        self.name = key
        if isinstance(value, dict):
            self.text = self.mapdict(str, value)
        else:
            self.text = {self.defaultlang:str(value)}
    def __str__(self):
        return ("LanguageDict(%s)" % self.name)
    def __repr__(self):
        return self.__str__
    def __len__(self):
        return len(self.abbreviations)
    def __getitem__(self, key):
        if key in self.abbreviations:
            if key in self.text:
                return self.text[key]
            elif self.defaultlang in self.text:
                return self.text[self.defaultlang]
            elif "en" in self.text:
                return self.text["en"]
            else:
                raise IndexError("LanguageDict(%s): No language string available" % self.name)
        else:
            raise IndexError("LanguageDict(%s): No valid abbreviation" % self.name)
    def __setitem__(self, key, value):
        if key in self.abbreviations:
            self.text[key] = str(value)
        else:
            raise IndexError("LanguageDict(%s): No valid abbreviation" % self.name)
    def __delitem__(self, key):
        if key in self.abbreviations:
            if key != self.defaultlang and key != "en":
                del self.text[key]
            else:
                raise ValueError("LanguageDict(%s): You can't delete the default keys" % self.name)
        else:
            raise IndexError("LanguageDict(%s): No valid abbreviation" % self.name)
    def __iter__(self):
        return self.abbreviations.__iter__()
    def __contains__(self, key):
        if key in self.abbreviations:
            return True
        else:
            return False
    def clear(self):
        pass
    def copy(self):
        return copy.copy(self)
    def has_key(self, key):
        return self.__contains__(key)
    def items(self):
        return self.text.items()
    def keys(self):
        return self.abbreviations
    def update(self, iterable):
        return self.text.update(iterable)
    def fromkeys(self, seq, value = None):
        return self.text.fromkeys(seq, value)
    def values(self):
        return self.text.values()
    def mapdict(self, function, iterable):
        if callable(function) and iterable:
            for key in iterable:
                iterable[key] = function(iterable[key])
            return iterable
        else:
            raise TypeError
class LanguageDict(dict):
    """
        XA's Language class 
        
        One of these is created for each strings.ini entry

    """
    # Class variables
    languages = langlib.getLanguages()
    abbreviations = map(langlib.getLangAbbreviation, languages)
    defaultlang = langlib.getDefaultLang()

    def __init__(self, key, value):
        # Create our pseudo dict object
        self.name = key

        # Is the value already a dict?
        if isinstance(value, dict):
            self.text = self.mapdict(str, value)
        else:
            self.text = {self.defaultlang: str(value)}

    def __str__(self):
        # Return a printable string
        return self.name

    def __repr__(self):
        # Return something that represents our object
        return 'LanguageDict(%s)' % self.name

    def __len__(self):
        # Return the length of our pseudo dict
        return len(self.abbreviations)

    def __getitem__(self, key):
        # Get a translation from our pseudo dict
        # Is this a valid key for our pseudo dict?
        if key in self.abbreviations:
            # Is there a translation inside your dict?
            if key in self.text:
                return self.text[key]

            # Is the default language available?
            elif self.defaultlang in self.text:
                return self.text[self.defaultlang]

            # Is the english language available?
            elif 'en' in self.text:
                return self.text['en']

            else:
                # Nothing there, raise an error
                raise IndexError(
                    'LanguageDict(%s): No language string available' %
                    self.name)

        else:
            # Invalid key, raise an error
            raise IndexError('LanguageDict(%s): No valid abbreviation' %
                             self.name)

    def __setitem__(self, key, value):
        # Add a new translation to our pseudo dict
        # Is this a valid key for our pseudo dict?
        if key in self.abbreviations:
            self.text[key] = str(value)

        else:
            # Invalid key, raise an error
            raise IndexError('LanguageDict(%s): No valid abbreviation' %
                             self.name)

    def __delitem__(self, key):
        # Delete a translation from our pseudo dict
        # Is this a valid key for our pseudo dict?
        if key in self.abbreviations:
            # Is this a custom non-default translation?
            if key != self.defaultlang and key != 'en':
                del self.text[key]

            else:
                # No, it's a required translation, raise an error
                raise ValueError(
                    'LanguageDict(%s): You can\'t delete the default keys' %
                    self.name)

        else:
            # Invalid key, raise an error
            raise IndexError('LanguageDict(%s): No valid abbreviation' %
                             self.name)

    def __iter__(self):
        # Return something we can loop through
        return self.abbreviations.__iter__()

    def itervalues(self):
        return self.text.itervalues()

    def iterkeys(self):
        return self.text.iterkeys()

    def iteritems(self):
        return self.text.items()

    def __contains__(self, key):
        # Is this a valid key for our pseudo dict?
        return key in self.abbreviations

    def clear(self):
        # Oops, translations should not be cleared
        pass

    def copy(self):
        # Create a new copy of our pseudo dict
        return copy.copy(self)

    def has_key(self, key):
        # Is this a valid key for our pseudo dict?
        return self.__contains__(key)

    def items(self):
        # Return our translations
        return self.text.items()

    def keys(self):
        # Return our languages
        return self.abbreviations

    def update(self, iterable):
        # Update our translations
        return self.text.update(iterable)

    def fromkeys(self, seq, value=None):
        # Ooops, what's that? Doesn't matter, might be useful
        return self.text.fromkeys(seq, value)

    def values(self):
        # Return our translations
        return self.text.values()

    def mapdict(self, function, iterable):
        # Map a dict into our pseudo dict
        if callable(function) and iterable:
            for key in iterable:
                iterable[key] = function(iterable[key])

            return iterable

        else:
            raise TypeError